@roomle/web-sdk 3.10.1-alpha.3 → 4.0.0

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.
Files changed (116) hide show
  1. package/lib/{BufferGeometry-Dj5loCTL.mjs → BufferGeometry-CnbfgBmz.mjs} +2 -2
  2. package/lib/{BufferGeometry-Dj5loCTL.mjs.map → BufferGeometry-CnbfgBmz.mjs.map} +1 -1
  3. package/lib/{GLTFExporter-CquK-kkI.mjs → GLTFExporter-BxcjPMva.mjs} +2 -2
  4. package/lib/{GLTFExporter-CquK-kkI.mjs.map → GLTFExporter-BxcjPMva.mjs.map} +1 -1
  5. package/lib/{GaussianBlurNode-CDYPio-x.mjs → GaussianBlurNode-8gO-I1qG.mjs} +14 -14
  6. package/lib/{GaussianBlurNode-CDYPio-x.mjs.map → GaussianBlurNode-8gO-I1qG.mjs.map} +1 -1
  7. package/lib/{Object3D-YXSPdGeJ.mjs → Object3D-DMaDdv-D.mjs} +1 -1
  8. package/lib/{Object3D-YXSPdGeJ.mjs.map → Object3D-DMaDdv-D.mjs.map} +1 -1
  9. package/lib/{PointLightHelper-g98giMRd.mjs → PointLightHelper-CahXSxiA.mjs} +4 -4
  10. package/lib/{PointLightHelper-g98giMRd.mjs.map → PointLightHelper-CahXSxiA.mjs.map} +1 -1
  11. package/lib/{SpotLightHelper-xR8lCZau.mjs → SpotLightHelper-BEqeYq1p.mjs} +3 -3
  12. package/lib/{SpotLightHelper-xR8lCZau.mjs.map → SpotLightHelper-BEqeYq1p.mjs.map} +1 -1
  13. package/lib/{USDZExporter-BMqBymZI.mjs → USDZExporter-ZZoG1mne.mjs} +3 -3
  14. package/lib/{USDZExporter-BMqBymZI.mjs.map → USDZExporter-ZZoG1mne.mjs.map} +1 -1
  15. package/lib/{Vector4-CqzXUndP.mjs → Vector4-BkA_VGid.mjs} +2 -2
  16. package/lib/{Vector4-CqzXUndP.mjs.map → Vector4-BkA_VGid.mjs.map} +1 -1
  17. package/lib/{api-Cjq6uyhy.mjs → api-CUyBdNba.mjs} +2 -2
  18. package/lib/{api-Cjq6uyhy.mjs.map → api-CUyBdNba.mjs.map} +1 -1
  19. package/lib/{asset-loader.worker-CHyN7JB1.mjs → asset-loader.worker-C_5RQYHp.mjs} +1 -1
  20. package/lib/asset-loader.worker-C_5RQYHp.mjs.map +1 -0
  21. package/lib/{banana-for-scale-Cs2s9dNp.mjs → banana-for-scale-B77S3z9R.mjs} +4 -4
  22. package/lib/{banana-for-scale-Cs2s9dNp.mjs.map → banana-for-scale-B77S3z9R.mjs.map} +1 -1
  23. package/lib/{budgeteer.sw-BCLEIWCW.mjs → budgeteer.sw-DxeAvd0v.mjs} +1 -1
  24. package/lib/budgeteer.sw-DxeAvd0v.mjs.map +1 -0
  25. package/lib/{common-utils-DeAwtH0V.mjs → common-utils-BiOW17Ao.mjs} +2 -2
  26. package/lib/{common-utils-DeAwtH0V.mjs.map → common-utils-BiOW17Ao.mjs.map} +1 -1
  27. package/lib/{component-dimensioning-DINSxpnW.mjs → component-dimensioning-DPyPzSsa.mjs} +7 -7
  28. package/lib/{component-dimensioning-DINSxpnW.mjs.map → component-dimensioning-DPyPzSsa.mjs.map} +1 -1
  29. package/lib/{component-raycast-helper-DiX3LOGg.mjs → component-raycast-helper-RiQIybsX.mjs} +5 -5
  30. package/lib/{component-raycast-helper-DiX3LOGg.mjs.map → component-raycast-helper-RiQIybsX.mjs.map} +1 -1
  31. package/lib/configurator-BBlZVIId.mjs +2 -0
  32. package/lib/{configurator-BC4t2q94.mjs → configurator-C_rsqn9l.mjs} +4 -4
  33. package/lib/{configurator-BC4t2q94.mjs.map → configurator-C_rsqn9l.mjs.map} +1 -1
  34. package/lib/{continuous-drawing-helper-BlGATN0C.mjs → continuous-drawing-helper-C_Yc0uuv.mjs} +3 -3
  35. package/lib/{continuous-drawing-helper-BlGATN0C.mjs.map → continuous-drawing-helper-C_Yc0uuv.mjs.map} +1 -1
  36. package/lib/{decorate-CTUwswpM.mjs → decorate-BAtqSPNS.mjs} +1 -1
  37. package/lib/{decorate-CTUwswpM.mjs.map → decorate-BAtqSPNS.mjs.map} +1 -1
  38. package/lib/dimensioning-helper-Bzf1sbpy.mjs +2 -0
  39. package/lib/{dimensioning-helper-DMop5qcu.mjs → dimensioning-helper-D9oxGkry.mjs} +5 -5
  40. package/lib/{dimensioning-helper-DMop5qcu.mjs.map → dimensioning-helper-D9oxGkry.mjs.map} +1 -1
  41. package/lib/{fflate.module-n0Jozp8Z.mjs → fflate.module-CTnSdWOb.mjs} +1 -1
  42. package/lib/{fflate.module-n0Jozp8Z.mjs.map → fflate.module-CTnSdWOb.mjs.map} +1 -1
  43. package/lib/{glb-viewer-ClwM-_6N.mjs → glb-viewer-A5vSLFZ5.mjs} +8 -8
  44. package/lib/{glb-viewer-ClwM-_6N.mjs.map → glb-viewer-A5vSLFZ5.mjs.map} +1 -1
  45. package/lib/glb-viewer-B4ILlvw0.mjs +2 -0
  46. package/lib/{highlight-coordinator-COSQsFCt.mjs → highlight-coordinator-CZEJGeXA.mjs} +4 -4
  47. package/lib/{highlight-coordinator-COSQsFCt.mjs.map → highlight-coordinator-CZEJGeXA.mjs.map} +1 -1
  48. package/lib/{homag-intelligence-7erRasyd.mjs → homag-intelligence-BdCDX7LF.mjs} +3 -3
  49. package/lib/{homag-intelligence-7erRasyd.mjs.map → homag-intelligence-BdCDX7LF.mjs.map} +1 -1
  50. package/lib/{imos-ix-poc-export-helper-ChN0ot1C.mjs → imos-ix-poc-export-helper-CaXXDNvP.mjs} +4 -4
  51. package/lib/{imos-ix-poc-export-helper-ChN0ot1C.mjs.map → imos-ix-poc-export-helper-CaXXDNvP.mjs.map} +1 -1
  52. package/lib/{kernel-C7YDLxq8.mjs → kernel-BWfRHWkW.mjs} +1 -1
  53. package/lib/{kernel-C7YDLxq8.mjs.map → kernel-BWfRHWkW.mjs.map} +1 -1
  54. package/lib/{kernel-utils-042AuCQh.mjs → kernel-utils-BYEsHVYJ.mjs} +2 -2
  55. package/lib/{kernel-utils-042AuCQh.mjs.map → kernel-utils-BYEsHVYJ.mjs.map} +1 -1
  56. package/lib/{layer-CFAr2mK_.mjs → layer-CIWL5ZW3.mjs} +1 -1
  57. package/lib/{layer-CFAr2mK_.mjs.map → layer-CIWL5ZW3.mjs.map} +1 -1
  58. package/lib/{main-dvJVxkY5.mjs → main-BUl8iCi1.mjs} +3149 -25886
  59. package/lib/main-BUl8iCi1.mjs.map +1 -0
  60. package/lib/{material-viewer-DsjLu7dY.mjs → material-viewer-C4SqVaGG.mjs} +7 -7
  61. package/lib/{material-viewer-DsjLu7dY.mjs.map → material-viewer-C4SqVaGG.mjs.map} +1 -1
  62. package/lib/packages-C9gO5mKk.mjs +10 -0
  63. package/lib/packages-C9gO5mKk.mjs.map +1 -0
  64. package/lib/planner-49YwTdiA.mjs +2 -0
  65. package/lib/{planner-mEOHjdf5.mjs → planner-t4QH26WW.mjs} +3 -3
  66. package/lib/{planner-mEOHjdf5.mjs.map → planner-t4QH26WW.mjs.map} +1 -1
  67. package/lib/{plugin-system-DRpL0Rer.mjs → plugin-system-COZJdJH_.mjs} +3 -3
  68. package/lib/{plugin-system-DRpL0Rer.mjs.map → plugin-system-COZJdJH_.mjs.map} +1 -1
  69. package/lib/roomle-headless.d.ts +142 -98
  70. package/lib/roomle-headless.js +74 -58
  71. package/lib/roomle-headless.js.map +1 -1
  72. package/lib/{roomle-renderer-BD3ZmpLS.mjs → roomle-renderer-DhLUaHJZ.mjs} +23 -10
  73. package/lib/roomle-renderer-DhLUaHJZ.mjs.map +1 -0
  74. package/lib/roomle-sdk.d.ts +123 -95
  75. package/lib/roomle-sdk.js +9 -9
  76. package/lib/{roomle-webgpu-renderer--zQziKoO.mjs → roomle-webgpu-renderer-CRGcdahn.mjs} +293 -240
  77. package/lib/roomle-webgpu-renderer-CRGcdahn.mjs.map +1 -0
  78. package/lib/{scene-renderer-DfFZINZw.mjs → scene-renderer-D5CfxCag.mjs} +7 -7
  79. package/lib/{scene-renderer-DfFZINZw.mjs.map → scene-renderer-D5CfxCag.mjs.map} +1 -1
  80. package/lib/{script-loader-CBi6aL4c.mjs → script-loader-D6IuUFjw.mjs} +3 -3
  81. package/lib/{script-loader-CBi6aL4c.mjs.map → script-loader-D6IuUFjw.mjs.map} +1 -1
  82. package/lib/{shading-settings-BOXM96zx.mjs → shading-settings-BEMqEGzB.mjs} +3 -3
  83. package/lib/{shading-settings-BOXM96zx.mjs.map → shading-settings-BEMqEGzB.mjs.map} +1 -1
  84. package/lib/{stats-helper-BjkO2TkP.mjs → stats-helper-DAfbSToL.mjs} +3 -3
  85. package/lib/{stats-helper-BjkO2TkP.mjs.map → stats-helper-DAfbSToL.mjs.map} +1 -1
  86. package/lib/svgo.browser-DYieWzyw.mjs +21270 -0
  87. package/lib/svgo.browser-DYieWzyw.mjs.map +1 -0
  88. package/lib/{three.core-tV_4n8Wg.mjs → three.core-DjCexDCp.mjs} +1 -1
  89. package/lib/{three.core-tV_4n8Wg.mjs.map → three.core-DjCexDCp.mjs.map} +1 -1
  90. package/lib/{three.module-DC5fF9Zl.mjs → three.module-CuRNgijg.mjs} +2 -2
  91. package/lib/{three.module-DC5fF9Zl.mjs.map → three.module-CuRNgijg.mjs.map} +1 -1
  92. package/lib/{three.tsl-Caqi2VRr.mjs → three.tsl-BIBER8nk.mjs} +49 -47
  93. package/lib/{three.tsl-Caqi2VRr.mjs.map → three.tsl-BIBER8nk.mjs.map} +1 -1
  94. package/lib/three.tsl-Q-21y0pO.mjs +2 -0
  95. package/lib/{three.webgpu-CT4fuV2X.mjs → three.webgpu-Bz4Xtk0X.mjs} +2 -2
  96. package/lib/{three.webgpu-CT4fuV2X.mjs.map → three.webgpu-Bz4Xtk0X.mjs.map} +1 -1
  97. package/lib/{three.webgpu-CxNhl3k-.mjs → three.webgpu-dtN0kDKB.mjs} +2 -2
  98. package/lib/{threejs-utils-CFcj19P1.mjs → threejs-utils-Dpvg3Czz.mjs} +5 -5
  99. package/lib/{threejs-utils-CFcj19P1.mjs.map → threejs-utils-Dpvg3Czz.mjs.map} +1 -1
  100. package/lib/{tools-core-DdgxDXwP.mjs → tools-core-BDOFf9le.mjs} +3 -3
  101. package/lib/{tools-core-DdgxDXwP.mjs.map → tools-core-BDOFf9le.mjs.map} +1 -1
  102. package/lib/workers-DcgrO-z7.mjs +6 -0
  103. package/lib/{workers-Dc-RTL8D.mjs.map → workers-DcgrO-z7.mjs.map} +1 -1
  104. package/package.json +1 -1
  105. package/lib/asset-loader.worker-CHyN7JB1.mjs.map +0 -1
  106. package/lib/budgeteer.sw-BCLEIWCW.mjs.map +0 -1
  107. package/lib/configurator-DrfzsCZi.mjs +0 -2
  108. package/lib/dimensioning-helper-BwBj5QDM.mjs +0 -2
  109. package/lib/glb-viewer-DDQoDXq6.mjs +0 -2
  110. package/lib/main-dvJVxkY5.mjs.map +0 -1
  111. package/lib/packages-DKHZt16c.mjs +0 -4
  112. package/lib/planner-Beg0IuiG.mjs +0 -2
  113. package/lib/roomle-renderer-BD3ZmpLS.mjs.map +0 -1
  114. package/lib/roomle-webgpu-renderer--zQziKoO.mjs.map +0 -1
  115. package/lib/three.tsl-Bb8l7rD7.mjs +0 -2
  116. package/lib/workers-Dc-RTL8D.mjs +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svgo.browser-DYieWzyw.mjs","names":[],"sources":["../../../../node_modules/svgo/dist/svgo.browser.js"],"sourcesContent":["const visitSkip=Symbol()\nconst visit=(node,visitor,parentNode)=>{const callbacks=visitor[node.type]\nif(callbacks?.enter){const symbol=callbacks.enter(node,parentNode)\nif(symbol===visitSkip)return}if(node.type===\"root\")for(const child of node.children)visit(child,visitor,node)\nif(node.type===\"element\"&&parentNode.children.includes(node))for(const child of node.children)visit(child,visitor,node)\ncallbacks?.exit&&callbacks.exit(node,parentNode)}\nconst invokePlugins=(ast,info,plugins,overrides,globalOverrides)=>{for(const plugin of plugins){const override=overrides?.[plugin.name]\nif(override===false)continue\nconst params={...plugin.params,...globalOverrides,...override}\nconst visitor=plugin.fn(ast,params,info)\nvisitor!=null&&visit(ast,visitor)}}\nconst createPreset=({name:name,plugins:plugins})=>({name:name,isPreset:true,plugins:Object.freeze(plugins),fn:(ast,params,info)=>{const{floatPrecision:floatPrecision,overrides:overrides}=params\nconst globalOverrides={}\nfloatPrecision!=null&&(globalOverrides.floatPrecision=floatPrecision)\nif(overrides){const pluginNames=plugins.map((({name:name})=>name))\nfor(const pluginName of Object.keys(overrides))pluginNames.includes(pluginName)||console.warn(`You are trying to configure ${pluginName} which is not part of ${name}.\\nTry to put it before or after, for example\\n\\nplugins: [\\n {\\n name: '${name}',\\n },\\n '${pluginName}'\\n]\\n`)}invokePlugins(ast,info,plugins,overrides,globalOverrides)}})\nvar ElementType;(function(ElementType){ElementType[\"Root\"]=\"root\"\nElementType[\"Text\"]=\"text\"\nElementType[\"Directive\"]=\"directive\"\nElementType[\"Comment\"]=\"comment\"\nElementType[\"Script\"]=\"script\"\nElementType[\"Style\"]=\"style\"\nElementType[\"Tag\"]=\"tag\"\nElementType[\"CDATA\"]=\"cdata\"\nElementType[\"Doctype\"]=\"doctype\"})(ElementType||(ElementType={}))\nfunction isTag$2(elem){return elem.type===ElementType.Tag||elem.type===ElementType.Script||elem.type===ElementType.Style}const Root=ElementType.Root\nconst Text=ElementType.Text\nconst Directive=ElementType.Directive\nconst Comment$4=ElementType.Comment\nconst Script=ElementType.Script\nconst Style=ElementType.Style\nconst Tag=ElementType.Tag\nconst CDATA=ElementType.CDATA\nconst Doctype=ElementType.Doctype\nfunction isTag$1(node){return isTag$2(node)}function isCDATA(node){return node.type===ElementType.CDATA}function isText(node){return node.type===ElementType.Text}function isComment(node){return node.type===ElementType.Comment}function isDocument(node){return node.type===ElementType.Root}function hasChildren(node){return Object.prototype.hasOwnProperty.call(node,\"children\")}const xmlReplacer=/[\"&'<>$\\x80-\\uFFFF]/g\nconst xmlCodeMap=new Map([[34,\"&quot;\"],[38,\"&amp;\"],[39,\"&apos;\"],[60,\"&lt;\"],[62,\"&gt;\"]])\nconst getCodePoint=String.prototype.codePointAt!=null?(str,index)=>str.codePointAt(index):(c,index)=>(c.charCodeAt(index)&0xfc00)===0xd800?0x400*(c.charCodeAt(index)-0xd800)+c.charCodeAt(index+1)-0xdc00+0x10000:c.charCodeAt(index)\nfunction encodeXML(str){let ret=\"\"\nlet lastIdx=0\nlet match\nwhile((match=xmlReplacer.exec(str))!==null){const i=match.index\nconst char=str.charCodeAt(i)\nconst next=xmlCodeMap.get(char)\nif(next!==void 0){ret+=str.substring(lastIdx,i)+next\nlastIdx=i+1}else{ret+=`${str.substring(lastIdx,i)}&#x${getCodePoint(str,i).toString(16)};`\nlastIdx=xmlReplacer.lastIndex+=Number((char&0xfc00)===0xd800)}}return ret+str.substr(lastIdx)}function getEscaper(regex,map){return function escape(data){let match\nlet lastIdx=0\nlet result=\"\"\nwhile(match=regex.exec(data)){lastIdx!==match.index&&(result+=data.substring(lastIdx,match.index))\nresult+=map.get(match[0].charCodeAt(0))\nlastIdx=match.index+1}return result+data.substring(lastIdx)}}const escapeAttribute=getEscaper(/[\"&\\u00A0]/g,new Map([[34,\"&quot;\"],[38,\"&amp;\"],[160,\"&nbsp;\"]]))\nconst escapeText=getEscaper(/[&<>\\u00A0]/g,new Map([[38,\"&amp;\"],[60,\"&lt;\"],[62,\"&gt;\"],[160,\"&nbsp;\"]]))\nconst elementNames=new Map([\"altGlyph\",\"altGlyphDef\",\"altGlyphItem\",\"animateColor\",\"animateMotion\",\"animateTransform\",\"clipPath\",\"feBlend\",\"feColorMatrix\",\"feComponentTransfer\",\"feComposite\",\"feConvolveMatrix\",\"feDiffuseLighting\",\"feDisplacementMap\",\"feDistantLight\",\"feDropShadow\",\"feFlood\",\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\",\"feGaussianBlur\",\"feImage\",\"feMerge\",\"feMergeNode\",\"feMorphology\",\"feOffset\",\"fePointLight\",\"feSpecularLighting\",\"feSpotLight\",\"feTile\",\"feTurbulence\",\"foreignObject\",\"glyphRef\",\"linearGradient\",\"radialGradient\",\"textPath\"].map((val=>[val.toLowerCase(),val])))\nconst attributeNames=new Map([\"definitionURL\",\"attributeName\",\"attributeType\",\"baseFrequency\",\"baseProfile\",\"calcMode\",\"clipPathUnits\",\"diffuseConstant\",\"edgeMode\",\"filterUnits\",\"glyphRef\",\"gradientTransform\",\"gradientUnits\",\"kernelMatrix\",\"kernelUnitLength\",\"keyPoints\",\"keySplines\",\"keyTimes\",\"lengthAdjust\",\"limitingConeAngle\",\"markerHeight\",\"markerUnits\",\"markerWidth\",\"maskContentUnits\",\"maskUnits\",\"numOctaves\",\"pathLength\",\"patternContentUnits\",\"patternTransform\",\"patternUnits\",\"pointsAtX\",\"pointsAtY\",\"pointsAtZ\",\"preserveAlpha\",\"preserveAspectRatio\",\"primitiveUnits\",\"refX\",\"refY\",\"repeatCount\",\"repeatDur\",\"requiredExtensions\",\"requiredFeatures\",\"specularConstant\",\"specularExponent\",\"spreadMethod\",\"startOffset\",\"stdDeviation\",\"stitchTiles\",\"surfaceScale\",\"systemLanguage\",\"tableValues\",\"targetX\",\"targetY\",\"textLength\",\"viewBox\",\"viewTarget\",\"xChannelSelector\",\"yChannelSelector\",\"zoomAndPan\"].map((val=>[val.toLowerCase(),val])))\nconst unencodedElements=new Set([\"style\",\"script\",\"xmp\",\"iframe\",\"noembed\",\"noframes\",\"plaintext\",\"noscript\"])\nfunction replaceQuotes(value){return value.replace(/\"/g,\"&quot;\")}function formatAttributes(attributes,opts){var _a\nif(!attributes)return\nconst encode=((_a=opts.encodeEntities)!==null&&_a!==void 0?_a:opts.decodeEntities)===false?replaceQuotes:opts.xmlMode||opts.encodeEntities!==\"utf8\"?encodeXML:escapeAttribute\nreturn Object.keys(attributes).map((key=>{var _a,_b\nconst value=(_a=attributes[key])!==null&&_a!==void 0?_a:\"\"\nopts.xmlMode===\"foreign\"&&(key=(_b=attributeNames.get(key))!==null&&_b!==void 0?_b:key)\nif(!opts.emptyAttrs&&!opts.xmlMode&&value===\"\")return key\nreturn`${key}=\"${encode(value)}\"`})).join(\" \")}const singleTag=new Set([\"area\",\"base\",\"basefont\",\"br\",\"col\",\"command\",\"embed\",\"frame\",\"hr\",\"img\",\"input\",\"isindex\",\"keygen\",\"link\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"])\nfunction render(node,options={}){const nodes=\"length\"in node?node:[node]\nlet output=\"\"\nfor(let i=0;i<nodes.length;i++)output+=renderNode(nodes[i],options)\nreturn output}function renderNode(node,options){switch(node.type){case Root:return render(node.children,options)\ncase Doctype:case Directive:return renderDirective(node)\ncase Comment$4:return renderComment(node)\ncase CDATA:return renderCdata(node)\ncase Script:case Style:case Tag:return renderTag(node,options)\ncase Text:return renderText(node,options)}}const foreignModeIntegrationPoints=new Set([\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\",\"annotation-xml\",\"foreignObject\",\"desc\",\"title\"])\nconst foreignElements=new Set([\"svg\",\"math\"])\nfunction renderTag(elem,opts){var _a\nif(opts.xmlMode===\"foreign\"){elem.name=(_a=elementNames.get(elem.name))!==null&&_a!==void 0?_a:elem.name\nelem.parent&&foreignModeIntegrationPoints.has(elem.parent.name)&&(opts={...opts,xmlMode:false})}!opts.xmlMode&&foreignElements.has(elem.name)&&(opts={...opts,xmlMode:\"foreign\"})\nlet tag=`<${elem.name}`\nconst attribs=formatAttributes(elem.attribs,opts)\nattribs&&(tag+=` ${attribs}`)\nif(elem.children.length===0&&(opts.xmlMode?opts.selfClosingTags!==false:opts.selfClosingTags&&singleTag.has(elem.name))){opts.xmlMode||(tag+=\" \")\ntag+=\"/>\"}else{tag+=\">\"\nelem.children.length>0&&(tag+=render(elem.children,opts))\n!opts.xmlMode&&singleTag.has(elem.name)||(tag+=`</${elem.name}>`)}return tag}function renderDirective(elem){return`<${elem.data}>`}function renderText(elem,opts){var _a\nlet data=elem.data||\"\";((_a=opts.encodeEntities)!==null&&_a!==void 0?_a:opts.decodeEntities)===false||!opts.xmlMode&&elem.parent&&unencodedElements.has(elem.parent.name)||(data=opts.xmlMode||opts.encodeEntities!==\"utf8\"?encodeXML(data):escapeText(data))\nreturn data}function renderCdata(elem){return`<![CDATA[${elem.children[0].data}]]>`}function renderComment(elem){return`\\x3c!--${elem.data}--\\x3e`}function getOuterHTML(node,options){return render(node,options)}function getInnerHTML(node,options){return hasChildren(node)?node.children.map((node=>getOuterHTML(node,options))).join(\"\"):\"\"}function getText$1(node){if(Array.isArray(node))return node.map(getText$1).join(\"\")\nif(isTag$1(node))return node.name===\"br\"?\"\\n\":getText$1(node.children)\nif(isCDATA(node))return getText$1(node.children)\nif(isText(node))return node.data\nreturn\"\"}function textContent(node){if(Array.isArray(node))return node.map(textContent).join(\"\")\nif(hasChildren(node)&&!isComment(node))return textContent(node.children)\nif(isText(node))return node.data\nreturn\"\"}function innerText(node){if(Array.isArray(node))return node.map(innerText).join(\"\")\nif(hasChildren(node)&&(node.type===ElementType.Tag||isCDATA(node)))return innerText(node.children)\nif(isText(node))return node.data\nreturn\"\"}function getChildren$1(elem){return hasChildren(elem)?elem.children:[]}function getParent(elem){return elem.parent||null}function getSiblings(elem){const parent=getParent(elem)\nif(parent!=null)return getChildren$1(parent)\nconst siblings=[elem]\nlet{prev:prev,next:next}=elem\nwhile(prev!=null){siblings.unshift(prev);({prev:prev}=prev)}while(next!=null){siblings.push(next);({next:next}=next)}return siblings}function getAttributeValue$1(elem,name){var _a\nreturn(_a=elem.attribs)===null||_a===void 0?void 0:_a[name]}function hasAttrib$1(elem,name){return elem.attribs!=null&&Object.prototype.hasOwnProperty.call(elem.attribs,name)&&elem.attribs[name]!=null}function getName$1(elem){return elem.name}function nextElementSibling(elem){let{next:next}=elem\nwhile(next!==null&&!isTag$1(next))({next:next}=next)\nreturn next}function prevElementSibling(elem){let{prev:prev}=elem\nwhile(prev!==null&&!isTag$1(prev))({prev:prev}=prev)\nreturn prev}function removeElement(elem){elem.prev&&(elem.prev.next=elem.next)\nelem.next&&(elem.next.prev=elem.prev)\nif(elem.parent){const childs=elem.parent.children\nconst childsIndex=childs.lastIndexOf(elem)\nchildsIndex>=0&&childs.splice(childsIndex,1)}elem.next=null\nelem.prev=null\nelem.parent=null}function replaceElement(elem,replacement){const prev=replacement.prev=elem.prev\nprev&&(prev.next=replacement)\nconst next=replacement.next=elem.next\nnext&&(next.prev=replacement)\nconst parent=replacement.parent=elem.parent\nif(parent){const childs=parent.children\nchilds[childs.lastIndexOf(elem)]=replacement\nelem.parent=null}}function appendChild(parent,child){removeElement(child)\nchild.next=null\nchild.parent=parent\nif(parent.children.push(child)>1){const sibling=parent.children[parent.children.length-2]\nsibling.next=child\nchild.prev=sibling}else child.prev=null}function append$1(elem,next){removeElement(next)\nconst{parent:parent}=elem\nconst currNext=elem.next\nnext.next=currNext\nnext.prev=elem\nelem.next=next\nnext.parent=parent\nif(currNext){currNext.prev=next\nif(parent){const childs=parent.children\nchilds.splice(childs.lastIndexOf(currNext),0,next)}}else parent&&parent.children.push(next)}function prependChild(parent,child){removeElement(child)\nchild.parent=parent\nchild.prev=null\nif(parent.children.unshift(child)!==1){const sibling=parent.children[1]\nsibling.prev=child\nchild.next=sibling}else child.next=null}function prepend(elem,prev){removeElement(prev)\nconst{parent:parent}=elem\nif(parent){const childs=parent.children\nchilds.splice(childs.indexOf(elem),0,prev)}elem.prev&&(elem.prev.next=prev)\nprev.parent=parent\nprev.prev=elem.prev\nprev.next=elem\nelem.prev=prev}function filter(test,node,recurse=true,limit=1/0){return find$3(test,Array.isArray(node)?node:[node],recurse,limit)}function find$3(test,nodes,recurse,limit){const result=[]\nconst nodeStack=[nodes]\nconst indexStack=[0]\nfor(;;){if(indexStack[0]>=nodeStack[0].length){if(indexStack.length===1)return result\nnodeStack.shift()\nindexStack.shift()\ncontinue}const elem=nodeStack[0][indexStack[0]++]\nif(test(elem)){result.push(elem)\nif(--limit<=0)return result}if(recurse&&hasChildren(elem)&&elem.children.length>0){indexStack.unshift(0)\nnodeStack.unshift(elem.children)}}}function findOneChild(test,nodes){return nodes.find(test)}function findOne$1(test,nodes,recurse=true){let elem=null\nfor(let i=0;i<nodes.length&&!elem;i++){const node=nodes[i]\nif(!isTag$1(node))continue\ntest(node)?elem=node:recurse&&node.children.length>0&&(elem=findOne$1(test,node.children,true))}return elem}function existsOne$1(test,nodes){return nodes.some((checked=>isTag$1(checked)&&(test(checked)||existsOne$1(test,checked.children))))}function findAll$4(test,nodes){const result=[]\nconst nodeStack=[nodes]\nconst indexStack=[0]\nfor(;;){if(indexStack[0]>=nodeStack[0].length){if(nodeStack.length===1)return result\nnodeStack.shift()\nindexStack.shift()\ncontinue}const elem=nodeStack[0][indexStack[0]++]\nif(!isTag$1(elem))continue\ntest(elem)&&result.push(elem)\nif(elem.children.length>0){indexStack.unshift(0)\nnodeStack.unshift(elem.children)}}}const Checks={tag_name(name){if(typeof name===\"function\")return elem=>isTag$1(elem)&&name(elem.name)\nif(name===\"*\")return isTag$1\nreturn elem=>isTag$1(elem)&&elem.name===name},tag_type(type){if(typeof type===\"function\")return elem=>type(elem.type)\nreturn elem=>elem.type===type},tag_contains(data){if(typeof data===\"function\")return elem=>isText(elem)&&data(elem.data)\nreturn elem=>isText(elem)&&elem.data===data}}\nfunction getAttribCheck(attrib,value){if(typeof value===\"function\")return elem=>isTag$1(elem)&&value(elem.attribs[attrib])\nreturn elem=>isTag$1(elem)&&elem.attribs[attrib]===value}function combineFuncs(a,b){return elem=>a(elem)||b(elem)}function compileTest(options){const funcs=Object.keys(options).map((key=>{const value=options[key]\nreturn Object.prototype.hasOwnProperty.call(Checks,key)?Checks[key](value):getAttribCheck(key,value)}))\nreturn funcs.length===0?null:funcs.reduce(combineFuncs)}function testElement(options,node){const test=compileTest(options)\nreturn!test||test(node)}function getElements(options,nodes,recurse,limit=1/0){const test=compileTest(options)\nreturn test?filter(test,nodes,recurse,limit):[]}function getElementById(id,nodes,recurse=true){Array.isArray(nodes)||(nodes=[nodes])\nreturn findOne$1(getAttribCheck(\"id\",id),nodes,recurse)}function getElementsByTagName(tagName,nodes,recurse=true,limit=1/0){return filter(Checks[\"tag_name\"](tagName),nodes,recurse,limit)}function getElementsByTagType(type,nodes,recurse=true,limit=1/0){return filter(Checks[\"tag_type\"](type),nodes,recurse,limit)}function removeSubsets(nodes){let idx=nodes.length\nwhile(--idx>=0){const node=nodes[idx]\nif(idx>0&&nodes.lastIndexOf(node,idx-1)>=0){nodes.splice(idx,1)\ncontinue}for(let ancestor=node.parent;ancestor;ancestor=ancestor.parent)if(nodes.includes(ancestor)){nodes.splice(idx,1)\nbreak}}return nodes}var DocumentPosition;(function(DocumentPosition){DocumentPosition[DocumentPosition[\"DISCONNECTED\"]=1]=\"DISCONNECTED\"\nDocumentPosition[DocumentPosition[\"PRECEDING\"]=2]=\"PRECEDING\"\nDocumentPosition[DocumentPosition[\"FOLLOWING\"]=4]=\"FOLLOWING\"\nDocumentPosition[DocumentPosition[\"CONTAINS\"]=8]=\"CONTAINS\"\nDocumentPosition[DocumentPosition[\"CONTAINED_BY\"]=16]=\"CONTAINED_BY\"})(DocumentPosition||(DocumentPosition={}))\nfunction compareDocumentPosition(nodeA,nodeB){const aParents=[]\nconst bParents=[]\nif(nodeA===nodeB)return 0\nlet current=hasChildren(nodeA)?nodeA:nodeA.parent\nwhile(current){aParents.unshift(current)\ncurrent=current.parent}current=hasChildren(nodeB)?nodeB:nodeB.parent\nwhile(current){bParents.unshift(current)\ncurrent=current.parent}const maxIdx=Math.min(aParents.length,bParents.length)\nlet idx=0\nwhile(idx<maxIdx&&aParents[idx]===bParents[idx])idx++\nif(idx===0)return DocumentPosition.DISCONNECTED\nconst sharedParent=aParents[idx-1]\nconst siblings=sharedParent.children\nconst aSibling=aParents[idx]\nconst bSibling=bParents[idx]\nif(siblings.indexOf(aSibling)>siblings.indexOf(bSibling)){if(sharedParent===nodeB)return DocumentPosition.FOLLOWING|DocumentPosition.CONTAINED_BY\nreturn DocumentPosition.FOLLOWING}if(sharedParent===nodeA)return DocumentPosition.PRECEDING|DocumentPosition.CONTAINS\nreturn DocumentPosition.PRECEDING}function uniqueSort(nodes){nodes=nodes.filter(((node,i,arr)=>!arr.includes(node,i+1)))\nnodes.sort(((a,b)=>{const relative=compareDocumentPosition(a,b)\nif(relative&DocumentPosition.PRECEDING)return-1\nif(relative&DocumentPosition.FOLLOWING)return 1\nreturn 0}))\nreturn nodes}function getFeed(doc){const feedRoot=getOneElement(isValidFeed,doc)\nreturn feedRoot?feedRoot.name===\"feed\"?getAtomFeed(feedRoot):getRssFeed(feedRoot):null}function getAtomFeed(feedRoot){var _a\nconst childs=feedRoot.children\nconst feed={type:\"atom\",items:getElementsByTagName(\"entry\",childs).map((item=>{var _a\nconst{children:children}=item\nconst entry={media:getMediaElements(children)}\naddConditionally(entry,\"id\",\"id\",children)\naddConditionally(entry,\"title\",\"title\",children)\nconst href=(_a=getOneElement(\"link\",children))===null||_a===void 0?void 0:_a.attribs[\"href\"]\nhref&&(entry.link=href)\nconst description=fetch(\"summary\",children)||fetch(\"content\",children)\ndescription&&(entry.description=description)\nconst pubDate=fetch(\"updated\",children)\npubDate&&(entry.pubDate=new Date(pubDate))\nreturn entry}))}\naddConditionally(feed,\"id\",\"id\",childs)\naddConditionally(feed,\"title\",\"title\",childs)\nconst href=(_a=getOneElement(\"link\",childs))===null||_a===void 0?void 0:_a.attribs[\"href\"]\nhref&&(feed.link=href)\naddConditionally(feed,\"description\",\"subtitle\",childs)\nconst updated=fetch(\"updated\",childs)\nupdated&&(feed.updated=new Date(updated))\naddConditionally(feed,\"author\",\"email\",childs,true)\nreturn feed}function getRssFeed(feedRoot){var _a,_b\nconst childs=(_b=(_a=getOneElement(\"channel\",feedRoot.children))===null||_a===void 0?void 0:_a.children)!==null&&_b!==void 0?_b:[]\nconst feed={type:feedRoot.name.substr(0,3),id:\"\",items:getElementsByTagName(\"item\",feedRoot.children).map((item=>{const{children:children}=item\nconst entry={media:getMediaElements(children)}\naddConditionally(entry,\"id\",\"guid\",children)\naddConditionally(entry,\"title\",\"title\",children)\naddConditionally(entry,\"link\",\"link\",children)\naddConditionally(entry,\"description\",\"description\",children)\nconst pubDate=fetch(\"pubDate\",children)||fetch(\"dc:date\",children)\npubDate&&(entry.pubDate=new Date(pubDate))\nreturn entry}))}\naddConditionally(feed,\"title\",\"title\",childs)\naddConditionally(feed,\"link\",\"link\",childs)\naddConditionally(feed,\"description\",\"description\",childs)\nconst updated=fetch(\"lastBuildDate\",childs)\nupdated&&(feed.updated=new Date(updated))\naddConditionally(feed,\"author\",\"managingEditor\",childs,true)\nreturn feed}const MEDIA_KEYS_STRING=[\"url\",\"type\",\"lang\"]\nconst MEDIA_KEYS_INT=[\"fileSize\",\"bitrate\",\"framerate\",\"samplingrate\",\"channels\",\"duration\",\"height\",\"width\"]\nfunction getMediaElements(where){return getElementsByTagName(\"media:content\",where).map((elem=>{const{attribs:attribs}=elem\nconst media={medium:attribs[\"medium\"],isDefault:!!attribs[\"isDefault\"]}\nfor(const attrib of MEDIA_KEYS_STRING)attribs[attrib]&&(media[attrib]=attribs[attrib])\nfor(const attrib of MEDIA_KEYS_INT)attribs[attrib]&&(media[attrib]=parseInt(attribs[attrib],10))\nattribs[\"expression\"]&&(media.expression=attribs[\"expression\"])\nreturn media}))}function getOneElement(tagName,node){return getElementsByTagName(tagName,node,true,1)[0]}function fetch(tagName,where,recurse=false){return textContent(getElementsByTagName(tagName,where,recurse,1)).trim()}function addConditionally(obj,prop,tagName,where,recurse=false){const val=fetch(tagName,where,recurse)\nval&&(obj[prop]=val)}function isValidFeed(value){return value===\"rss\"||value===\"feed\"||value===\"rdf:RDF\"}var DomUtils=Object.freeze({__proto__:null,get DocumentPosition(){return DocumentPosition},append:append$1,appendChild:appendChild,compareDocumentPosition:compareDocumentPosition,existsOne:existsOne$1,filter:filter,find:find$3,findAll:findAll$4,findOne:findOne$1,findOneChild:findOneChild,getAttributeValue:getAttributeValue$1,getChildren:getChildren$1,getElementById:getElementById,getElements:getElements,getElementsByTagName:getElementsByTagName,getElementsByTagType:getElementsByTagType,getFeed:getFeed,getInnerHTML:getInnerHTML,getName:getName$1,getOuterHTML:getOuterHTML,getParent:getParent,getSiblings:getSiblings,getText:getText$1,hasAttrib:hasAttrib$1,hasChildren:hasChildren,innerText:innerText,isCDATA:isCDATA,isComment:isComment,isDocument:isDocument,isTag:isTag$1,isText:isText,nextElementSibling:nextElementSibling,prepend:prepend,prependChild:prependChild,prevElementSibling:prevElementSibling,removeElement:removeElement,removeSubsets:removeSubsets,replaceElement:replaceElement,testElement:testElement,textContent:textContent,uniqueSort:uniqueSort})\nfunction getDefaultExportFromCjs(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,\"default\")?x[\"default\"]:x}var boolbase={trueFunc:function trueFunc(){return true},falseFunc:function falseFunc(){return false}}\nvar boolbase$1=getDefaultExportFromCjs(boolbase)\nvar SelectorType;(function(SelectorType){SelectorType[\"Attribute\"]=\"attribute\"\nSelectorType[\"Pseudo\"]=\"pseudo\"\nSelectorType[\"PseudoElement\"]=\"pseudo-element\"\nSelectorType[\"Tag\"]=\"tag\"\nSelectorType[\"Universal\"]=\"universal\"\nSelectorType[\"Adjacent\"]=\"adjacent\"\nSelectorType[\"Child\"]=\"child\"\nSelectorType[\"Descendant\"]=\"descendant\"\nSelectorType[\"Parent\"]=\"parent\"\nSelectorType[\"Sibling\"]=\"sibling\"\nSelectorType[\"ColumnCombinator\"]=\"column-combinator\"})(SelectorType||(SelectorType={}))\nvar AttributeAction;(function(AttributeAction){AttributeAction[\"Any\"]=\"any\"\nAttributeAction[\"Element\"]=\"element\"\nAttributeAction[\"End\"]=\"end\"\nAttributeAction[\"Equals\"]=\"equals\"\nAttributeAction[\"Exists\"]=\"exists\"\nAttributeAction[\"Hyphen\"]=\"hyphen\"\nAttributeAction[\"Not\"]=\"not\"\nAttributeAction[\"Start\"]=\"start\"})(AttributeAction||(AttributeAction={}))\nconst reName=/^[^\\\\#]?(?:\\\\(?:[\\da-f]{1,6}\\s?|.)|[\\w\\-\\u00b0-\\uFFFF])+/\nconst reEscape=/\\\\([\\da-f]{1,6}\\s?|(\\s)|.)/gi\nconst actionTypes=new Map([[126,AttributeAction.Element],[94,AttributeAction.Start],[36,AttributeAction.End],[42,AttributeAction.Any],[33,AttributeAction.Not],[124,AttributeAction.Hyphen]])\nconst unpackPseudos=new Set([\"has\",\"not\",\"matches\",\"is\",\"where\",\"host\",\"host-context\"])\nfunction isTraversal$1(selector){switch(selector.type){case SelectorType.Adjacent:case SelectorType.Child:case SelectorType.Descendant:case SelectorType.Parent:case SelectorType.Sibling:case SelectorType.ColumnCombinator:return true\ndefault:return false}}const stripQuotesFromPseudos=new Set([\"contains\",\"icontains\"])\nfunction funescape(_,escaped,escapedWhitespace){const high=parseInt(escaped,16)-0x10000\nreturn high!==high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+0x10000):String.fromCharCode(high>>10|0xd800,high&0x3ff|0xdc00)}function unescapeCSS(str){return str.replace(reEscape,funescape)}function isQuote(c){return c===39||c===34}function isWhitespace(c){return c===32||c===9||c===10||c===12||c===13}function parse$1w(selector){const subselects=[]\nconst endIndex=parseSelector(subselects,`${selector}`,0)\nif(endIndex<selector.length)throw new Error(`Unmatched selector: ${selector.slice(endIndex)}`)\nreturn subselects}function parseSelector(subselects,selector,selectorIndex){let tokens=[]\nfunction getName(offset){const match=selector.slice(selectorIndex+offset).match(reName)\nif(!match)throw new Error(`Expected name, found ${selector.slice(selectorIndex)}`)\nconst[name]=match\nselectorIndex+=offset+name.length\nreturn unescapeCSS(name)}function stripWhitespace(offset){selectorIndex+=offset\nwhile(selectorIndex<selector.length&&isWhitespace(selector.charCodeAt(selectorIndex)))selectorIndex++}function readValueWithParenthesis(){selectorIndex+=1\nconst start=selectorIndex\nlet counter=1\nfor(;counter>0&&selectorIndex<selector.length;selectorIndex++)selector.charCodeAt(selectorIndex)!==40||isEscaped(selectorIndex)?selector.charCodeAt(selectorIndex)!==41||isEscaped(selectorIndex)||counter--:counter++\nif(counter)throw new Error(\"Parenthesis not matched\")\nreturn unescapeCSS(selector.slice(start,selectorIndex-1))}function isEscaped(pos){let slashCount=0\nwhile(selector.charCodeAt(--pos)===92)slashCount++\nreturn(slashCount&1)===1}function ensureNotTraversal(){if(tokens.length>0&&isTraversal$1(tokens[tokens.length-1]))throw new Error(\"Did not expect successive traversals.\")}function addTraversal(type){if(tokens.length>0&&tokens[tokens.length-1].type===SelectorType.Descendant){tokens[tokens.length-1].type=type\nreturn}ensureNotTraversal()\ntokens.push({type:type})}function addSpecialAttribute(name,action){tokens.push({type:SelectorType.Attribute,name:name,action:action,value:getName(1),namespace:null,ignoreCase:\"quirks\"})}function finalizeSubselector(){tokens.length&&tokens[tokens.length-1].type===SelectorType.Descendant&&tokens.pop()\nif(tokens.length===0)throw new Error(\"Empty sub-selector\")\nsubselects.push(tokens)}stripWhitespace(0)\nif(selector.length===selectorIndex)return selectorIndex\nloop:while(selectorIndex<selector.length){const firstChar=selector.charCodeAt(selectorIndex)\nswitch(firstChar){case 32:case 9:case 10:case 12:case 13:if(tokens.length===0||tokens[0].type!==SelectorType.Descendant){ensureNotTraversal()\ntokens.push({type:SelectorType.Descendant})}stripWhitespace(1)\nbreak\ncase 62:addTraversal(SelectorType.Child)\nstripWhitespace(1)\nbreak\ncase 60:addTraversal(SelectorType.Parent)\nstripWhitespace(1)\nbreak\ncase 126:addTraversal(SelectorType.Sibling)\nstripWhitespace(1)\nbreak\ncase 43:addTraversal(SelectorType.Adjacent)\nstripWhitespace(1)\nbreak\ncase 46:addSpecialAttribute(\"class\",AttributeAction.Element)\nbreak\ncase 35:addSpecialAttribute(\"id\",AttributeAction.Equals)\nbreak\ncase 91:{stripWhitespace(1)\nlet name\nlet namespace=null\nif(selector.charCodeAt(selectorIndex)===124)name=getName(1)\nelse if(selector.startsWith(\"*|\",selectorIndex)){namespace=\"*\"\nname=getName(2)}else{name=getName(0)\nif(selector.charCodeAt(selectorIndex)===124&&selector.charCodeAt(selectorIndex+1)!==61){namespace=name\nname=getName(1)}}stripWhitespace(0)\nlet action=AttributeAction.Exists\nconst possibleAction=actionTypes.get(selector.charCodeAt(selectorIndex))\nif(possibleAction){action=possibleAction\nif(selector.charCodeAt(selectorIndex+1)!==61)throw new Error(\"Expected `=`\")\nstripWhitespace(2)}else if(selector.charCodeAt(selectorIndex)===61){action=AttributeAction.Equals\nstripWhitespace(1)}let value=\"\"\nlet ignoreCase=null\nif(action!==\"exists\"){if(isQuote(selector.charCodeAt(selectorIndex))){const quote=selector.charCodeAt(selectorIndex)\nlet sectionEnd=selectorIndex+1\nwhile(sectionEnd<selector.length&&(selector.charCodeAt(sectionEnd)!==quote||isEscaped(sectionEnd)))sectionEnd+=1\nif(selector.charCodeAt(sectionEnd)!==quote)throw new Error(\"Attribute value didn't end\")\nvalue=unescapeCSS(selector.slice(selectorIndex+1,sectionEnd))\nselectorIndex=sectionEnd+1}else{const valueStart=selectorIndex\nwhile(selectorIndex<selector.length&&(!isWhitespace(selector.charCodeAt(selectorIndex))&&selector.charCodeAt(selectorIndex)!==93||isEscaped(selectorIndex)))selectorIndex+=1\nvalue=unescapeCSS(selector.slice(valueStart,selectorIndex))}stripWhitespace(0)\nconst forceIgnore=selector.charCodeAt(selectorIndex)|0x20\nif(forceIgnore===115){ignoreCase=false\nstripWhitespace(1)}else if(forceIgnore===105){ignoreCase=true\nstripWhitespace(1)}}if(selector.charCodeAt(selectorIndex)!==93)throw new Error(\"Attribute selector didn't terminate\")\nselectorIndex+=1\nconst attributeSelector={type:SelectorType.Attribute,name:name,action:action,value:value,namespace:namespace,ignoreCase:ignoreCase}\ntokens.push(attributeSelector)\nbreak}case 58:{if(selector.charCodeAt(selectorIndex+1)===58){tokens.push({type:SelectorType.PseudoElement,name:getName(2).toLowerCase(),data:selector.charCodeAt(selectorIndex)===40?readValueWithParenthesis():null})\ncontinue}const name=getName(1).toLowerCase()\nlet data=null\nif(selector.charCodeAt(selectorIndex)===40)if(unpackPseudos.has(name)){if(isQuote(selector.charCodeAt(selectorIndex+1)))throw new Error(`Pseudo-selector ${name} cannot be quoted`)\ndata=[]\nselectorIndex=parseSelector(data,selector,selectorIndex+1)\nif(selector.charCodeAt(selectorIndex)!==41)throw new Error(`Missing closing parenthesis in :${name} (${selector})`)\nselectorIndex+=1}else{data=readValueWithParenthesis()\nif(stripQuotesFromPseudos.has(name)){const quot=data.charCodeAt(0)\nquot===data.charCodeAt(data.length-1)&&isQuote(quot)&&(data=data.slice(1,-1))}data=unescapeCSS(data)}tokens.push({type:SelectorType.Pseudo,name:name,data:data})\nbreak}case 44:finalizeSubselector()\ntokens=[]\nstripWhitespace(1)\nbreak\ndefault:{if(selector.startsWith(\"/*\",selectorIndex)){const endIndex=selector.indexOf(\"*/\",selectorIndex+2)\nif(endIndex<0)throw new Error(\"Comment was not terminated\")\nselectorIndex=endIndex+2\ntokens.length===0&&stripWhitespace(0)\nbreak}let namespace=null\nlet name\nif(firstChar===42){selectorIndex+=1\nname=\"*\"}else if(firstChar===124){name=\"\"\nif(selector.charCodeAt(selectorIndex+1)===124){addTraversal(SelectorType.ColumnCombinator)\nstripWhitespace(2)\nbreak}}else{if(!reName.test(selector.slice(selectorIndex)))break loop\nname=getName(0)}if(selector.charCodeAt(selectorIndex)===124&&selector.charCodeAt(selectorIndex+1)!==124){namespace=name\nif(selector.charCodeAt(selectorIndex+1)===42){name=\"*\"\nselectorIndex+=2}else name=getName(1)}tokens.push(name===\"*\"?{type:SelectorType.Universal,namespace:namespace}:{type:SelectorType.Tag,name:name,namespace:namespace})}}}finalizeSubselector()\nreturn selectorIndex}const procedure=new Map([[SelectorType.Universal,50],[SelectorType.Tag,30],[SelectorType.Attribute,1],[SelectorType.Pseudo,0]])\nfunction isTraversal(token){return!procedure.has(token.type)}const attributes=new Map([[AttributeAction.Exists,10],[AttributeAction.Equals,8],[AttributeAction.Not,7],[AttributeAction.Start,6],[AttributeAction.End,6],[AttributeAction.Any,5]])\nfunction sortByProcedure(arr){const procs=arr.map(getProcedure)\nfor(let i=1;i<arr.length;i++){const procNew=procs[i]\nif(procNew<0)continue\nfor(let j=i-1;j>=0&&procNew<procs[j];j--){const token=arr[j+1]\narr[j+1]=arr[j]\narr[j]=token\nprocs[j+1]=procs[j]\nprocs[j]=procNew}}}function getProcedure(token){var _a,_b\nlet proc=(_a=procedure.get(token.type))!==null&&_a!==void 0?_a:-1\nif(token.type===SelectorType.Attribute){proc=(_b=attributes.get(token.action))!==null&&_b!==void 0?_b:4\ntoken.action===AttributeAction.Equals&&token.name===\"id\"&&(proc=9)\ntoken.ignoreCase&&(proc>>=1)}else if(token.type===SelectorType.Pseudo)if(token.data)if(token.name===\"has\"||token.name===\"contains\")proc=0\nelse if(Array.isArray(token.data)){proc=Math.min(...token.data.map((d=>Math.min(...d.map(getProcedure)))))\nproc<0&&(proc=0)}else proc=2\nelse proc=3\nreturn proc}const reChars=/[-[\\]{}()*+?.,\\\\^$|#\\s]/g\nfunction escapeRegex(value){return value.replace(reChars,\"\\\\$&\")}const caseInsensitiveAttributes=new Set([\"accept\",\"accept-charset\",\"align\",\"alink\",\"axis\",\"bgcolor\",\"charset\",\"checked\",\"clear\",\"codetype\",\"color\",\"compact\",\"declare\",\"defer\",\"dir\",\"direction\",\"disabled\",\"enctype\",\"face\",\"frame\",\"hreflang\",\"http-equiv\",\"lang\",\"language\",\"link\",\"media\",\"method\",\"multiple\",\"nohref\",\"noresize\",\"noshade\",\"nowrap\",\"readonly\",\"rel\",\"rev\",\"rules\",\"scope\",\"scrolling\",\"selected\",\"shape\",\"target\",\"text\",\"type\",\"valign\",\"valuetype\",\"vlink\"])\nfunction shouldIgnoreCase(selector,options){return typeof selector.ignoreCase===\"boolean\"?selector.ignoreCase:selector.ignoreCase===\"quirks\"?!!options.quirksMode:!options.xmlMode&&caseInsensitiveAttributes.has(selector.name)}const attributeRules={equals(next,data,options){const{adapter:adapter}=options\nconst{name:name}=data\nlet{value:value}=data\nif(shouldIgnoreCase(data,options)){value=value.toLowerCase()\nreturn elem=>{const attr=adapter.getAttributeValue(elem,name)\nreturn attr!=null&&attr.length===value.length&&attr.toLowerCase()===value&&next(elem)}}return elem=>adapter.getAttributeValue(elem,name)===value&&next(elem)},hyphen(next,data,options){const{adapter:adapter}=options\nconst{name:name}=data\nlet{value:value}=data\nconst len=value.length\nif(shouldIgnoreCase(data,options)){value=value.toLowerCase()\nreturn function hyphenIC(elem){const attr=adapter.getAttributeValue(elem,name)\nreturn attr!=null&&(attr.length===len||attr.charAt(len)===\"-\")&&attr.substr(0,len).toLowerCase()===value&&next(elem)}}return function hyphen(elem){const attr=adapter.getAttributeValue(elem,name)\nreturn attr!=null&&(attr.length===len||attr.charAt(len)===\"-\")&&attr.substr(0,len)===value&&next(elem)}},element(next,data,options){const{adapter:adapter}=options\nconst{name:name,value:value}=data\nif(/\\s/.test(value))return boolbase$1.falseFunc\nconst regex=new RegExp(`(?:^|\\\\s)${escapeRegex(value)}(?:$|\\\\s)`,shouldIgnoreCase(data,options)?\"i\":\"\")\nreturn function element(elem){const attr=adapter.getAttributeValue(elem,name)\nreturn attr!=null&&attr.length>=value.length&&regex.test(attr)&&next(elem)}},exists:(next,{name:name},{adapter:adapter})=>elem=>adapter.hasAttrib(elem,name)&&next(elem),start(next,data,options){const{adapter:adapter}=options\nconst{name:name}=data\nlet{value:value}=data\nconst len=value.length\nif(len===0)return boolbase$1.falseFunc\nif(shouldIgnoreCase(data,options)){value=value.toLowerCase()\nreturn elem=>{const attr=adapter.getAttributeValue(elem,name)\nreturn attr!=null&&attr.length>=len&&attr.substr(0,len).toLowerCase()===value&&next(elem)}}return elem=>{var _a\nreturn!!((_a=adapter.getAttributeValue(elem,name))===null||_a===void 0?void 0:_a.startsWith(value))&&next(elem)}},end(next,data,options){const{adapter:adapter}=options\nconst{name:name}=data\nlet{value:value}=data\nconst len=-value.length\nif(len===0)return boolbase$1.falseFunc\nif(shouldIgnoreCase(data,options)){value=value.toLowerCase()\nreturn elem=>{var _a\nreturn((_a=adapter.getAttributeValue(elem,name))===null||_a===void 0?void 0:_a.substr(len).toLowerCase())===value&&next(elem)}}return elem=>{var _a\nreturn!!((_a=adapter.getAttributeValue(elem,name))===null||_a===void 0?void 0:_a.endsWith(value))&&next(elem)}},any(next,data,options){const{adapter:adapter}=options\nconst{name:name,value:value}=data\nif(value===\"\")return boolbase$1.falseFunc\nif(shouldIgnoreCase(data,options)){const regex=new RegExp(escapeRegex(value),\"i\")\nreturn function anyIC(elem){const attr=adapter.getAttributeValue(elem,name)\nreturn attr!=null&&attr.length>=value.length&&regex.test(attr)&&next(elem)}}return elem=>{var _a\nreturn!!((_a=adapter.getAttributeValue(elem,name))===null||_a===void 0?void 0:_a.includes(value))&&next(elem)}},not(next,data,options){const{adapter:adapter}=options\nconst{name:name}=data\nlet{value:value}=data\nif(value===\"\")return elem=>!!adapter.getAttributeValue(elem,name)&&next(elem)\nif(shouldIgnoreCase(data,options)){value=value.toLowerCase()\nreturn elem=>{const attr=adapter.getAttributeValue(elem,name)\nreturn(attr==null||attr.length!==value.length||attr.toLowerCase()!==value)&&next(elem)}}return elem=>adapter.getAttributeValue(elem,name)!==value&&next(elem)}}\nconst whitespace=new Set([9,10,12,13,32])\nconst ZERO=\"0\".charCodeAt(0)\nconst NINE=\"9\".charCodeAt(0)\nfunction parse$1v(formula){formula=formula.trim().toLowerCase()\nif(formula===\"even\")return[2,0]\nif(formula===\"odd\")return[2,1]\nlet idx=0\nlet a=0\nlet sign=readSign()\nlet number=readNumber()\nif(idx<formula.length&&formula.charAt(idx)===\"n\"){idx++\na=sign*(number!==null&&number!==void 0?number:1)\nskipWhitespace()\nif(idx<formula.length){sign=readSign()\nskipWhitespace()\nnumber=readNumber()}else sign=number=0}if(number===null||idx<formula.length)throw new Error(`n-th rule couldn't be parsed ('${formula}')`)\nreturn[a,sign*number]\nfunction readSign(){if(formula.charAt(idx)===\"-\"){idx++\nreturn-1}formula.charAt(idx)===\"+\"&&idx++\nreturn 1}function readNumber(){const start=idx\nlet value=0\nwhile(idx<formula.length&&formula.charCodeAt(idx)>=ZERO&&formula.charCodeAt(idx)<=NINE){value=value*10+(formula.charCodeAt(idx)-ZERO)\nidx++}return idx===start?null:value}function skipWhitespace(){while(idx<formula.length&&whitespace.has(formula.charCodeAt(idx)))idx++}}function compile$1(parsed){const a=parsed[0]\nconst b=parsed[1]-1\nif(b<0&&a<=0)return boolbase$1.falseFunc\nif(a===-1)return index=>index<=b\nif(a===0)return index=>index===b\nif(a===1)return b<0?boolbase$1.trueFunc:index=>index>=b\nconst absA=Math.abs(a)\nconst bMod=(b%absA+absA)%absA\nreturn a>1?index=>index>=b&&index%absA===bMod:index=>index<=b&&index%absA===bMod}function nthCheck(formula){return compile$1(parse$1v(formula))}function getChildFunc(next,adapter){return elem=>{const parent=adapter.getParent(elem)\nreturn parent!=null&&adapter.isTag(parent)&&next(elem)}}const filters$1={contains:(next,text,{adapter:adapter})=>function contains(elem){return next(elem)&&adapter.getText(elem).includes(text)},icontains(next,text,{adapter:adapter}){const itext=text.toLowerCase()\nreturn function icontains(elem){return next(elem)&&adapter.getText(elem).toLowerCase().includes(itext)}},\"nth-child\"(next,rule,{adapter:adapter,equals:equals}){const func=nthCheck(rule)\nif(func===boolbase$1.falseFunc)return boolbase$1.falseFunc\nif(func===boolbase$1.trueFunc)return getChildFunc(next,adapter)\nreturn function nthChild(elem){const siblings=adapter.getSiblings(elem)\nlet pos=0\nfor(let i=0;i<siblings.length;i++){if(equals(elem,siblings[i]))break\nadapter.isTag(siblings[i])&&pos++}return func(pos)&&next(elem)}},\"nth-last-child\"(next,rule,{adapter:adapter,equals:equals}){const func=nthCheck(rule)\nif(func===boolbase$1.falseFunc)return boolbase$1.falseFunc\nif(func===boolbase$1.trueFunc)return getChildFunc(next,adapter)\nreturn function nthLastChild(elem){const siblings=adapter.getSiblings(elem)\nlet pos=0\nfor(let i=siblings.length-1;i>=0;i--){if(equals(elem,siblings[i]))break\nadapter.isTag(siblings[i])&&pos++}return func(pos)&&next(elem)}},\"nth-of-type\"(next,rule,{adapter:adapter,equals:equals}){const func=nthCheck(rule)\nif(func===boolbase$1.falseFunc)return boolbase$1.falseFunc\nif(func===boolbase$1.trueFunc)return getChildFunc(next,adapter)\nreturn function nthOfType(elem){const siblings=adapter.getSiblings(elem)\nlet pos=0\nfor(let i=0;i<siblings.length;i++){const currentSibling=siblings[i]\nif(equals(elem,currentSibling))break\nadapter.isTag(currentSibling)&&adapter.getName(currentSibling)===adapter.getName(elem)&&pos++}return func(pos)&&next(elem)}},\"nth-last-of-type\"(next,rule,{adapter:adapter,equals:equals}){const func=nthCheck(rule)\nif(func===boolbase$1.falseFunc)return boolbase$1.falseFunc\nif(func===boolbase$1.trueFunc)return getChildFunc(next,adapter)\nreturn function nthLastOfType(elem){const siblings=adapter.getSiblings(elem)\nlet pos=0\nfor(let i=siblings.length-1;i>=0;i--){const currentSibling=siblings[i]\nif(equals(elem,currentSibling))break\nadapter.isTag(currentSibling)&&adapter.getName(currentSibling)===adapter.getName(elem)&&pos++}return func(pos)&&next(elem)}},root:(next,_rule,{adapter:adapter})=>elem=>{const parent=adapter.getParent(elem)\nreturn(parent==null||!adapter.isTag(parent))&&next(elem)},scope(next,rule,options,context){const{equals:equals}=options\nif(!context||context.length===0)return filters$1[\"root\"](next,rule,options)\nif(context.length===1)return elem=>equals(context[0],elem)&&next(elem)\nreturn elem=>context.includes(elem)&&next(elem)},hover:dynamicStatePseudo(\"isHovered\"),visited:dynamicStatePseudo(\"isVisited\"),active:dynamicStatePseudo(\"isActive\")}\nfunction dynamicStatePseudo(name){return function dynamicPseudo(next,_rule,{adapter:adapter}){const func=adapter[name]\nif(typeof func!==\"function\")return boolbase$1.falseFunc\nreturn function active(elem){return func(elem)&&next(elem)}}}const pseudos={empty:(elem,{adapter:adapter})=>!adapter.getChildren(elem).some((elem=>adapter.isTag(elem)||adapter.getText(elem)!==\"\")),\"first-child\"(elem,{adapter:adapter,equals:equals}){if(adapter.prevElementSibling)return adapter.prevElementSibling(elem)==null\nconst firstChild=adapter.getSiblings(elem).find((elem=>adapter.isTag(elem)))\nreturn firstChild!=null&&equals(elem,firstChild)},\"last-child\"(elem,{adapter:adapter,equals:equals}){const siblings=adapter.getSiblings(elem)\nfor(let i=siblings.length-1;i>=0;i--){if(equals(elem,siblings[i]))return true\nif(adapter.isTag(siblings[i]))break}return false},\"first-of-type\"(elem,{adapter:adapter,equals:equals}){const siblings=adapter.getSiblings(elem)\nconst elemName=adapter.getName(elem)\nfor(let i=0;i<siblings.length;i++){const currentSibling=siblings[i]\nif(equals(elem,currentSibling))return true\nif(adapter.isTag(currentSibling)&&adapter.getName(currentSibling)===elemName)break}return false},\"last-of-type\"(elem,{adapter:adapter,equals:equals}){const siblings=adapter.getSiblings(elem)\nconst elemName=adapter.getName(elem)\nfor(let i=siblings.length-1;i>=0;i--){const currentSibling=siblings[i]\nif(equals(elem,currentSibling))return true\nif(adapter.isTag(currentSibling)&&adapter.getName(currentSibling)===elemName)break}return false},\"only-of-type\"(elem,{adapter:adapter,equals:equals}){const elemName=adapter.getName(elem)\nreturn adapter.getSiblings(elem).every((sibling=>equals(elem,sibling)||!adapter.isTag(sibling)||adapter.getName(sibling)!==elemName))},\"only-child\":(elem,{adapter:adapter,equals:equals})=>adapter.getSiblings(elem).every((sibling=>equals(elem,sibling)||!adapter.isTag(sibling)))}\nfunction verifyPseudoArgs(func,name,subselect,argIndex){if(subselect===null){if(func.length>argIndex)throw new Error(`Pseudo-class :${name} requires an argument`)}else if(func.length===argIndex)throw new Error(`Pseudo-class :${name} doesn't have any arguments`)}const aliases={\"any-link\":\":is(a, area, link)[href]\",link:\":any-link:not(:visited)\",disabled:\":is(\\n :is(button, input, select, textarea, optgroup, option)[disabled],\\n optgroup[disabled] > option,\\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\\n )\",enabled:\":not(:disabled)\",checked:\":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)\",required:\":is(input, select, textarea)[required]\",optional:\":is(input, select, textarea):not([required])\",selected:\"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)\",checkbox:\"[type=checkbox]\",file:\"[type=file]\",password:\"[type=password]\",radio:\"[type=radio]\",reset:\"[type=reset]\",image:\"[type=image]\",submit:\"[type=submit]\",parent:\":not(:empty)\",header:\":is(h1, h2, h3, h4, h5, h6)\",button:\":is(button, input[type=button])\",input:\":is(input, textarea, select, button)\",text:\"input:is(:not([type!='']), [type=text])\"}\nconst PLACEHOLDER_ELEMENT={}\nfunction ensureIsTag(next,adapter){if(next===boolbase$1.falseFunc)return boolbase$1.falseFunc\nreturn elem=>adapter.isTag(elem)&&next(elem)}function getNextSiblings(elem,adapter){const siblings=adapter.getSiblings(elem)\nif(siblings.length<=1)return[]\nconst elemIndex=siblings.indexOf(elem)\nif(elemIndex<0||elemIndex===siblings.length-1)return[]\nreturn siblings.slice(elemIndex+1).filter(adapter.isTag)}function copyOptions(options){return{xmlMode:!!options.xmlMode,lowerCaseAttributeNames:!!options.lowerCaseAttributeNames,lowerCaseTags:!!options.lowerCaseTags,quirksMode:!!options.quirksMode,cacheResults:!!options.cacheResults,pseudos:options.pseudos,adapter:options.adapter,equals:options.equals}}const is$1=(next,token,options,context,compileToken)=>{const func=compileToken(token,copyOptions(options),context)\nreturn func===boolbase$1.trueFunc?next:func===boolbase$1.falseFunc?boolbase$1.falseFunc:elem=>func(elem)&&next(elem)}\nconst subselects={is:is$1,matches:is$1,where:is$1,not(next,token,options,context,compileToken){const func=compileToken(token,copyOptions(options),context)\nreturn func===boolbase$1.falseFunc?next:func===boolbase$1.trueFunc?boolbase$1.falseFunc:elem=>!func(elem)&&next(elem)},has(next,subselect,options,_context,compileToken){const{adapter:adapter}=options\nconst opts=copyOptions(options)\nopts.relativeSelector=true\nconst context=subselect.some((s=>s.some(isTraversal)))?[PLACEHOLDER_ELEMENT]:void 0\nconst compiled=compileToken(subselect,opts,context)\nif(compiled===boolbase$1.falseFunc)return boolbase$1.falseFunc\nconst hasElement=ensureIsTag(compiled,adapter)\nif(context&&compiled!==boolbase$1.trueFunc){const{shouldTestNextSiblings:shouldTestNextSiblings=false}=compiled\nreturn elem=>{if(!next(elem))return false\ncontext[0]=elem\nconst childs=adapter.getChildren(elem)\nconst nextElements=shouldTestNextSiblings?[...childs,...getNextSiblings(elem,adapter)]:childs\nreturn adapter.existsOne(hasElement,nextElements)}}return elem=>next(elem)&&adapter.existsOne(hasElement,adapter.getChildren(elem))}}\nfunction compilePseudoSelector(next,selector,options,context,compileToken){var _a\nconst{name:name,data:data}=selector\nif(Array.isArray(data)){if(!(name in subselects))throw new Error(`Unknown pseudo-class :${name}(${data})`)\nreturn subselects[name](next,data,options,context,compileToken)}const userPseudo=(_a=options.pseudos)===null||_a===void 0?void 0:_a[name]\nconst stringPseudo=typeof userPseudo===\"string\"?userPseudo:aliases[name]\nif(typeof stringPseudo===\"string\"){if(data!=null)throw new Error(`Pseudo ${name} doesn't have any arguments`)\nconst alias=parse$1w(stringPseudo)\nreturn subselects[\"is\"](next,alias,options,context,compileToken)}if(typeof userPseudo===\"function\"){verifyPseudoArgs(userPseudo,name,data,1)\nreturn elem=>userPseudo(elem,data)&&next(elem)}if(name in filters$1)return filters$1[name](next,data,options,context)\nif(name in pseudos){const pseudo=pseudos[name]\nverifyPseudoArgs(pseudo,name,data,2)\nreturn elem=>pseudo(elem,options,data)&&next(elem)}throw new Error(`Unknown pseudo-class :${name}`)}function getElementParent(node,adapter){const parent=adapter.getParent(node)\nif(parent&&adapter.isTag(parent))return parent\nreturn null}function compileGeneralSelector(next,selector,options,context,compileToken){const{adapter:adapter,equals:equals}=options\nswitch(selector.type){case SelectorType.PseudoElement:throw new Error(\"Pseudo-elements are not supported by css-select\")\ncase SelectorType.ColumnCombinator:throw new Error(\"Column combinators are not yet supported by css-select\")\ncase SelectorType.Attribute:if(selector.namespace!=null)throw new Error(\"Namespaced attributes are not yet supported by css-select\")\noptions.xmlMode&&!options.lowerCaseAttributeNames||(selector.name=selector.name.toLowerCase())\nreturn attributeRules[selector.action](next,selector,options)\ncase SelectorType.Pseudo:return compilePseudoSelector(next,selector,options,context,compileToken)\ncase SelectorType.Tag:{if(selector.namespace!=null)throw new Error(\"Namespaced tag names are not yet supported by css-select\")\nlet{name:name}=selector\noptions.xmlMode&&!options.lowerCaseTags||(name=name.toLowerCase())\nreturn function tag(elem){return adapter.getName(elem)===name&&next(elem)}}case SelectorType.Descendant:{if(options.cacheResults===false||typeof WeakSet===\"undefined\")return function descendant(elem){let current=elem\nwhile(current=getElementParent(current,adapter))if(next(current))return true\nreturn false}\nconst isFalseCache=new WeakSet\nreturn function cachedDescendant(elem){let current=elem\nwhile(current=getElementParent(current,adapter))if(!isFalseCache.has(current)){if(adapter.isTag(current)&&next(current))return true\nisFalseCache.add(current)}return false}}case\"_flexibleDescendant\":return function flexibleDescendant(elem){let current=elem\ndo{if(next(current))return true}while(current=getElementParent(current,adapter))\nreturn false}\ncase SelectorType.Parent:return function parent(elem){return adapter.getChildren(elem).some((elem=>adapter.isTag(elem)&&next(elem)))}\ncase SelectorType.Child:return function child(elem){const parent=adapter.getParent(elem)\nreturn parent!=null&&adapter.isTag(parent)&&next(parent)}\ncase SelectorType.Sibling:return function sibling(elem){const siblings=adapter.getSiblings(elem)\nfor(let i=0;i<siblings.length;i++){const currentSibling=siblings[i]\nif(equals(elem,currentSibling))break\nif(adapter.isTag(currentSibling)&&next(currentSibling))return true}return false}\ncase SelectorType.Adjacent:if(adapter.prevElementSibling)return function adjacent(elem){const previous=adapter.prevElementSibling(elem)\nreturn previous!=null&&next(previous)}\nreturn function adjacent(elem){const siblings=adapter.getSiblings(elem)\nlet lastElement\nfor(let i=0;i<siblings.length;i++){const currentSibling=siblings[i]\nif(equals(elem,currentSibling))break\nadapter.isTag(currentSibling)&&(lastElement=currentSibling)}return!!lastElement&&next(lastElement)}\ncase SelectorType.Universal:if(selector.namespace!=null&&selector.namespace!==\"*\")throw new Error(\"Namespaced universal selectors are not yet supported by css-select\")\nreturn next}}function compile(selector,options,context){const next=compileUnsafe(selector,options,context)\nreturn ensureIsTag(next,options.adapter)}function compileUnsafe(selector,options,context){const token=typeof selector===\"string\"?parse$1w(selector):selector\nreturn compileToken(token,options,context)}function includesScopePseudo(t){return t.type===SelectorType.Pseudo&&(t.name===\"scope\"||Array.isArray(t.data)&&t.data.some((data=>data.some(includesScopePseudo))))}const DESCENDANT_TOKEN={type:SelectorType.Descendant}\nconst FLEXIBLE_DESCENDANT_TOKEN={type:\"_flexibleDescendant\"}\nconst SCOPE_TOKEN={type:SelectorType.Pseudo,name:\"scope\",data:null}\nfunction absolutize(token,{adapter:adapter},context){const hasContext=!!(context===null||context===void 0?void 0:context.every((e=>{const parent=adapter.isTag(e)&&adapter.getParent(e)\nreturn e===PLACEHOLDER_ELEMENT||parent&&adapter.isTag(parent)})))\nfor(const t of token){if(t.length>0&&isTraversal(t[0])&&t[0].type!==SelectorType.Descendant);else{if(!hasContext||t.some(includesScopePseudo))continue\nt.unshift(DESCENDANT_TOKEN)}t.unshift(SCOPE_TOKEN)}}function compileToken(token,options,context){var _a\ntoken.forEach(sortByProcedure)\ncontext=(_a=options.context)!==null&&_a!==void 0?_a:context\nconst isArrayContext=Array.isArray(context)\nconst finalContext=context&&(Array.isArray(context)?context:[context])\nif(options.relativeSelector!==false)absolutize(token,options,finalContext)\nelse if(token.some((t=>t.length>0&&isTraversal(t[0]))))throw new Error(\"Relative selectors are not allowed when the `relativeSelector` option is disabled\")\nlet shouldTestNextSiblings=false\nconst query=token.map((rules=>{if(rules.length>=2){const[first,second]=rules\nfirst.type!==SelectorType.Pseudo||first.name!==\"scope\"||(isArrayContext&&second.type===SelectorType.Descendant?rules[1]=FLEXIBLE_DESCENDANT_TOKEN:second.type!==SelectorType.Adjacent&&second.type!==SelectorType.Sibling||(shouldTestNextSiblings=true))}return compileRules(rules,options,finalContext)})).reduce(reduceRules,boolbase$1.falseFunc)\nquery.shouldTestNextSiblings=shouldTestNextSiblings\nreturn query}function compileRules(rules,options,context){var _a\nreturn rules.reduce(((previous,rule)=>previous===boolbase$1.falseFunc?boolbase$1.falseFunc:compileGeneralSelector(previous,rule,options,context,compileToken)),(_a=options.rootFunc)!==null&&_a!==void 0?_a:boolbase$1.trueFunc)}function reduceRules(a,b){if(b===boolbase$1.falseFunc||a===boolbase$1.trueFunc)return a\nif(a===boolbase$1.falseFunc||b===boolbase$1.trueFunc)return b\nreturn function combine(elem){return a(elem)||b(elem)}}const defaultEquals=(a,b)=>a===b\nconst defaultOptions={adapter:DomUtils,equals:defaultEquals}\nfunction convertOptionFormats(options){var _a,_b,_c,_d\nconst opts=options!==null&&options!==void 0?options:defaultOptions;(_a=opts.adapter)!==null&&_a!==void 0?_a:opts.adapter=DomUtils;(_b=opts.equals)!==null&&_b!==void 0?_b:opts.equals=(_d=(_c=opts.adapter)===null||_c===void 0?void 0:_c.equals)!==null&&_d!==void 0?_d:defaultEquals\nreturn opts}function getSelectorFunc(searchFunc){return function select(query,elements,options){const opts=convertOptionFormats(options)\ntypeof query!==\"function\"&&(query=compileUnsafe(query,opts,elements))\nconst filteredElements=prepareContext(elements,opts.adapter,query.shouldTestNextSiblings)\nreturn searchFunc(query,filteredElements,opts)}}function prepareContext(elems,adapter,shouldTestNextSiblings=false){shouldTestNextSiblings&&(elems=appendNextSiblings(elems,adapter))\nreturn Array.isArray(elems)?adapter.removeSubsets(elems):adapter.getChildren(elems)}function appendNextSiblings(elem,adapter){const elems=Array.isArray(elem)?elem.slice(0):[elem]\nconst elemsLength=elems.length\nfor(let i=0;i<elemsLength;i++){const nextSiblings=getNextSiblings(elems[i],adapter)\nelems.push(...nextSiblings)}return elems}const selectAll=getSelectorFunc(((query,elems,options)=>query!==boolbase$1.falseFunc&&elems&&elems.length!==0?options.adapter.findAll(query,elems):[]))\nconst selectOne=getSelectorFunc(((query,elems,options)=>query!==boolbase$1.falseFunc&&elems&&elems.length!==0?options.adapter.findOne(query,elems):null))\nfunction is(elem,query,options){const opts=convertOptionFormats(options)\nreturn(typeof query===\"function\"?query:compile(query,opts))(elem)}function mapNodesToParents(node){const parents=new Map\nfor(const child of node.children){parents.set(child,node)\nvisit(child,{element:{enter:(child,parent)=>{parents.set(child,parent)}}},node)}return parents}const isTag=node=>node.type===\"element\"\nconst existsOne=(test,elems)=>elems.some((elem=>isTag(elem)&&(test(elem)||existsOne(test,getChildren(elem)))))\nconst getAttributeValue=(elem,name)=>elem.attributes[name]\nconst getChildren=node=>node.children||[]\nconst getName=elemAst=>elemAst.name\nconst getText=node=>{if(node.children[0].type===\"text\"||node.children[0].type===\"cdata\")return node.children[0].value\nreturn\"\"}\nconst hasAttrib=(elem,name)=>elem.attributes[name]!==void 0\nconst findAll$3=(test,elems)=>{const result=[]\nfor(const elem of elems)if(isTag(elem)){test(elem)&&result.push(elem)\nresult.push(...findAll$3(test,getChildren(elem)))}return result}\nconst findOne=(test,elems)=>{for(const elem of elems)if(isTag(elem)){if(test(elem))return elem\nconst result=findOne(test,getChildren(elem))\nif(result)return result}return null}\nfunction createAdapter(relativeNode,parents){const getParent=node=>{parents||(parents=mapNodesToParents(relativeNode))\nreturn parents.get(node)||null}\nconst getSiblings=elem=>{const parent=getParent(elem)\nreturn parent?getChildren(parent):[]}\nconst removeSubsets=nodes=>{let idx=nodes.length\nlet node\nlet ancestor\nlet replace\nwhile(--idx>-1){node=ancestor=nodes[idx]\nnodes[idx]=null\nreplace=true\nwhile(ancestor){if(nodes.includes(ancestor)){replace=false\nnodes.splice(idx,1)\nbreak}ancestor=getParent(ancestor)}replace&&(nodes[idx]=node)}return nodes}\nreturn{isTag:isTag,existsOne:existsOne,getAttributeValue:getAttributeValue,getChildren:getChildren,getName:getName,getParent:getParent,getSiblings:getSiblings,getText:getText,hasAttrib:hasAttrib,removeSubsets:removeSubsets,findAll:findAll$3,findOne:findOne}}function createCssSelectOptions(relativeNode,parents){return{xmlMode:true,adapter:createAdapter(relativeNode,parents)}}const querySelectorAll=(node,selector,parents)=>selectAll(selector,node,createCssSelectOptions(node,parents))\nconst querySelector=(node,selector,parents)=>selectOne(selector,node,createCssSelectOptions(node,parents))\nconst matches=(node,selector,parents)=>is(node,selector,createCssSelectOptions(node,parents))\nconst detachNodeFromParent=(node,parentNode)=>{parentNode.children=parentNode.children.filter((child=>child!==node))}\nconst name$2d=\"removeDoctype\"\nconst description$Q=\"removes doctype declaration\"\nconst fn$Q=()=>({doctype:{enter:(node,parentNode)=>{detachNodeFromParent(node,parentNode)}}})\nvar removeDoctype=Object.freeze({__proto__:null,description:description$Q,fn:fn$Q,name:name$2d})\nconst name$2c=\"removeXMLProcInst\"\nconst description$P=\"removes XML processing instructions\"\nconst fn$P=()=>({instruction:{enter:(node,parentNode)=>{node.name===\"xml\"&&detachNodeFromParent(node,parentNode)}}})\nvar removeXMLProcInst=Object.freeze({__proto__:null,description:description$P,fn:fn$P,name:name$2c})\nconst name$2b=\"removeComments\"\nconst description$O=\"removes comments\"\nconst DEFAULT_PRESERVE_PATTERNS=[/^!/]\nconst fn$O=(_root,params)=>{const{preservePatterns:preservePatterns=DEFAULT_PRESERVE_PATTERNS}=params\nreturn{comment:{enter:(node,parentNode)=>{if(preservePatterns){if(!Array.isArray(preservePatterns))throw Error(`Expected array in removeComments preservePatterns parameter but received ${preservePatterns}`)\nconst matches=preservePatterns.some((pattern=>new RegExp(pattern).test(node.value)))\nif(matches)return}detachNodeFromParent(node,parentNode)}}}}\nvar removeComments=Object.freeze({__proto__:null,description:description$O,fn:fn$O,name:name$2b})\nconst elemsGroups={animation:new Set([\"animate\",\"animateColor\",\"animateMotion\",\"animateTransform\",\"set\"]),descriptive:new Set([\"desc\",\"metadata\",\"title\"]),shape:new Set([\"circle\",\"ellipse\",\"line\",\"path\",\"polygon\",\"polyline\",\"rect\"]),structural:new Set([\"defs\",\"g\",\"svg\",\"symbol\",\"use\"]),paintServer:new Set([\"hatch\",\"linearGradient\",\"meshGradient\",\"pattern\",\"radialGradient\",\"solidColor\"]),nonRendering:new Set([\"clipPath\",\"filter\",\"linearGradient\",\"marker\",\"mask\",\"pattern\",\"radialGradient\",\"solidColor\",\"symbol\"]),container:new Set([\"a\",\"defs\",\"foreignObject\",\"g\",\"marker\",\"mask\",\"missing-glyph\",\"pattern\",\"svg\",\"switch\",\"symbol\"]),textContent:new Set([\"a\",\"altGlyph\",\"altGlyphDef\",\"altGlyphItem\",\"glyph\",\"glyphRef\",\"text\",\"textPath\",\"tref\",\"tspan\"]),textContentChild:new Set([\"altGlyph\",\"textPath\",\"tref\",\"tspan\"]),lightSource:new Set([\"feDiffuseLighting\",\"feDistantLight\",\"fePointLight\",\"feSpecularLighting\",\"feSpotLight\"]),filterPrimitive:new Set([\"feBlend\",\"feColorMatrix\",\"feComponentTransfer\",\"feComposite\",\"feConvolveMatrix\",\"feDiffuseLighting\",\"feDisplacementMap\",\"feDropShadow\",\"feFlood\",\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\",\"feGaussianBlur\",\"feImage\",\"feMerge\",\"feMergeNode\",\"feMorphology\",\"feOffset\",\"feSpecularLighting\",\"feTile\",\"feTurbulence\"])}\nconst textElems=new Set([...elemsGroups.textContent,\"pre\",\"title\"])\nconst pathElems=new Set([\"glyph\",\"missing-glyph\",\"path\"])\nconst attrsGroups={animationAddition:new Set([\"additive\",\"accumulate\"]),animationAttributeTarget:new Set([\"attributeType\",\"attributeName\"]),animationEvent:new Set([\"onbegin\",\"onend\",\"onrepeat\",\"onload\"]),animationTiming:new Set([\"begin\",\"dur\",\"end\",\"fill\",\"max\",\"min\",\"repeatCount\",\"repeatDur\",\"restart\"]),animationValue:new Set([\"by\",\"calcMode\",\"from\",\"keySplines\",\"keyTimes\",\"to\",\"values\"]),conditionalProcessing:new Set([\"requiredExtensions\",\"requiredFeatures\",\"systemLanguage\"]),core:new Set([\"id\",\"tabindex\",\"xml:base\",\"xml:lang\",\"xml:space\"]),graphicalEvent:new Set([\"onactivate\",\"onclick\",\"onfocusin\",\"onfocusout\",\"onload\",\"onmousedown\",\"onmousemove\",\"onmouseout\",\"onmouseover\",\"onmouseup\"]),presentation:new Set([\"alignment-baseline\",\"baseline-shift\",\"clip-path\",\"clip-rule\",\"clip\",\"color-interpolation-filters\",\"color-interpolation\",\"color-profile\",\"color-rendering\",\"color\",\"cursor\",\"direction\",\"display\",\"dominant-baseline\",\"enable-background\",\"fill-opacity\",\"fill-rule\",\"fill\",\"filter\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size-adjust\",\"font-size\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"glyph-orientation-horizontal\",\"glyph-orientation-vertical\",\"image-rendering\",\"letter-spacing\",\"lighting-color\",\"marker-end\",\"marker-mid\",\"marker-start\",\"mask\",\"opacity\",\"overflow\",\"paint-order\",\"pointer-events\",\"shape-rendering\",\"stop-color\",\"stop-opacity\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"stroke\",\"text-anchor\",\"text-decoration\",\"text-overflow\",\"text-rendering\",\"transform-origin\",\"transform\",\"unicode-bidi\",\"vector-effect\",\"visibility\",\"word-spacing\",\"writing-mode\"]),xlink:new Set([\"xlink:actuate\",\"xlink:arcrole\",\"xlink:href\",\"xlink:role\",\"xlink:show\",\"xlink:title\",\"xlink:type\"]),documentEvent:new Set([\"onabort\",\"onerror\",\"onresize\",\"onscroll\",\"onunload\",\"onzoom\"]),documentElementEvent:new Set([\"oncopy\",\"oncut\",\"onpaste\"]),globalEvent:new Set([\"oncancel\",\"oncanplay\",\"oncanplaythrough\",\"onchange\",\"onclick\",\"onclose\",\"oncuechange\",\"ondblclick\",\"ondrag\",\"ondragend\",\"ondragenter\",\"ondragleave\",\"ondragover\",\"ondragstart\",\"ondrop\",\"ondurationchange\",\"onemptied\",\"onended\",\"onerror\",\"onfocus\",\"oninput\",\"oninvalid\",\"onkeydown\",\"onkeypress\",\"onkeyup\",\"onload\",\"onloadeddata\",\"onloadedmetadata\",\"onloadstart\",\"onmousedown\",\"onmouseenter\",\"onmouseleave\",\"onmousemove\",\"onmouseout\",\"onmouseover\",\"onmouseup\",\"onmousewheel\",\"onpause\",\"onplay\",\"onplaying\",\"onprogress\",\"onratechange\",\"onreset\",\"onresize\",\"onscroll\",\"onseeked\",\"onseeking\",\"onselect\",\"onshow\",\"onstalled\",\"onsubmit\",\"onsuspend\",\"ontimeupdate\",\"ontoggle\",\"onvolumechange\",\"onwaiting\"]),filterPrimitive:new Set([\"x\",\"y\",\"width\",\"height\",\"result\"]),transferFunction:new Set([\"amplitude\",\"exponent\",\"intercept\",\"offset\",\"slope\",\"tableValues\",\"type\"])}\nconst attrsGroupsDefaults={core:{\"xml:space\":\"default\"},presentation:{clip:\"auto\",\"clip-path\":\"none\",\"clip-rule\":\"nonzero\",mask:\"none\",opacity:\"1\",\"stop-color\":\"#000\",\"stop-opacity\":\"1\",\"fill-opacity\":\"1\",\"fill-rule\":\"nonzero\",fill:\"#000\",stroke:\"none\",\"stroke-width\":\"1\",\"stroke-linecap\":\"butt\",\"stroke-linejoin\":\"miter\",\"stroke-miterlimit\":\"4\",\"stroke-dasharray\":\"none\",\"stroke-dashoffset\":\"0\",\"stroke-opacity\":\"1\",\"paint-order\":\"normal\",\"vector-effect\":\"none\",display:\"inline\",visibility:\"visible\",\"marker-start\":\"none\",\"marker-mid\":\"none\",\"marker-end\":\"none\",\"color-interpolation\":\"sRGB\",\"color-interpolation-filters\":\"linearRGB\",\"color-rendering\":\"auto\",\"shape-rendering\":\"auto\",\"text-rendering\":\"auto\",\"image-rendering\":\"auto\",\"font-style\":\"normal\",\"font-variant\":\"normal\",\"font-weight\":\"normal\",\"font-stretch\":\"normal\",\"font-size\":\"medium\",\"font-size-adjust\":\"none\",kerning:\"auto\",\"letter-spacing\":\"normal\",\"word-spacing\":\"normal\",\"text-decoration\":\"none\",\"text-anchor\":\"start\",\"text-overflow\":\"clip\",\"writing-mode\":\"lr-tb\",\"glyph-orientation-vertical\":\"auto\",\"glyph-orientation-horizontal\":\"0deg\",direction:\"ltr\",\"unicode-bidi\":\"normal\",\"dominant-baseline\":\"auto\",\"alignment-baseline\":\"baseline\",\"baseline-shift\":\"baseline\"},transferFunction:{slope:\"1\",intercept:\"0\",amplitude:\"1\",exponent:\"1\",offset:\"0\"}}\nconst attrsGroupsDeprecated={animationAttributeTarget:{unsafe:new Set([\"attributeType\"])},conditionalProcessing:{unsafe:new Set([\"requiredFeatures\"])},core:{unsafe:new Set([\"xml:base\",\"xml:lang\",\"xml:space\"])},presentation:{unsafe:new Set([\"clip\",\"color-profile\",\"enable-background\",\"glyph-orientation-horizontal\",\"glyph-orientation-vertical\",\"kerning\"])}}\nconst elems={a:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"style\",\"target\",\"transform\"]),defaults:{target:\"_self\"},contentGroups:new Set([\"animation\",\"descriptive\",\"paintServer\",\"shape\",\"structural\"]),content:new Set([\"a\",\"altGlyphDef\",\"clipPath\",\"color-profile\",\"cursor\",\"filter\",\"font-face\",\"font\",\"foreignObject\",\"image\",\"marker\",\"mask\",\"pattern\",\"script\",\"style\",\"switch\",\"text\",\"view\",\"tspan\"])},altGlyph:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"dx\",\"dy\",\"externalResourcesRequired\",\"format\",\"glyphRef\",\"rotate\",\"style\",\"x\",\"y\"])},altGlyphDef:{attrsGroups:new Set([\"core\"]),content:new Set([\"glyphRef\"])},altGlyphItem:{attrsGroups:new Set([\"core\"]),content:new Set([\"glyphRef\",\"altGlyphItem\"])},animate:{attrsGroups:new Set([\"animationAddition\",\"animationAttributeTarget\",\"animationEvent\",\"animationTiming\",\"animationValue\",\"conditionalProcessing\",\"core\",\"presentation\",\"xlink\"]),attrs:new Set([\"externalResourcesRequired\"]),contentGroups:new Set([\"descriptive\"])},animateColor:{attrsGroups:new Set([\"animationAddition\",\"animationAttributeTarget\",\"animationEvent\",\"animationTiming\",\"animationValue\",\"conditionalProcessing\",\"core\",\"presentation\",\"xlink\"]),attrs:new Set([\"externalResourcesRequired\"]),contentGroups:new Set([\"descriptive\"])},animateMotion:{attrsGroups:new Set([\"animationAddition\",\"animationEvent\",\"animationTiming\",\"animationValue\",\"conditionalProcessing\",\"core\",\"xlink\"]),attrs:new Set([\"externalResourcesRequired\",\"keyPoints\",\"origin\",\"path\",\"rotate\"]),defaults:{rotate:\"0\"},contentGroups:new Set([\"descriptive\"]),content:new Set([\"mpath\"])},animateTransform:{attrsGroups:new Set([\"animationAddition\",\"animationAttributeTarget\",\"animationEvent\",\"animationTiming\",\"animationValue\",\"conditionalProcessing\",\"core\",\"xlink\"]),attrs:new Set([\"externalResourcesRequired\",\"type\"]),contentGroups:new Set([\"descriptive\"])},circle:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"cx\",\"cy\",\"externalResourcesRequired\",\"r\",\"style\",\"transform\"]),defaults:{cx:\"0\",cy:\"0\"},contentGroups:new Set([\"animation\",\"descriptive\"])},clipPath:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"presentation\"]),attrs:new Set([\"class\",\"clipPathUnits\",\"externalResourcesRequired\",\"style\",\"transform\"]),defaults:{clipPathUnits:\"userSpaceOnUse\"},contentGroups:new Set([\"animation\",\"descriptive\",\"shape\"]),content:new Set([\"text\",\"use\"])},\"color-profile\":{attrsGroups:new Set([\"core\",\"xlink\"]),attrs:new Set([\"local\",\"name\",\"rendering-intent\"]),defaults:{name:\"sRGB\",\"rendering-intent\":\"auto\"},deprecated:{unsafe:new Set([\"name\"])},contentGroups:new Set([\"descriptive\"])},cursor:{attrsGroups:new Set([\"core\",\"conditionalProcessing\",\"xlink\"]),attrs:new Set([\"externalResourcesRequired\",\"x\",\"y\"]),defaults:{x:\"0\",y:\"0\"},contentGroups:new Set([\"descriptive\"])},defs:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"style\",\"transform\"]),contentGroups:new Set([\"animation\",\"descriptive\",\"paintServer\",\"shape\",\"structural\"]),content:new Set([\"a\",\"altGlyphDef\",\"clipPath\",\"color-profile\",\"cursor\",\"filter\",\"font-face\",\"font\",\"foreignObject\",\"image\",\"marker\",\"mask\",\"pattern\",\"script\",\"style\",\"switch\",\"text\",\"view\"])},desc:{attrsGroups:new Set([\"core\"]),attrs:new Set([\"class\",\"style\"])},ellipse:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"cx\",\"cy\",\"externalResourcesRequired\",\"rx\",\"ry\",\"style\",\"transform\"]),defaults:{cx:\"0\",cy:\"0\"},contentGroups:new Set([\"animation\",\"descriptive\"])},feBlend:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"style\",\"in\",\"in2\",\"mode\"]),defaults:{mode:\"normal\"},content:new Set([\"animate\",\"set\"])},feColorMatrix:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"style\",\"in\",\"type\",\"values\"]),defaults:{type:\"matrix\"},content:new Set([\"animate\",\"set\"])},feComponentTransfer:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"style\",\"in\"]),content:new Set([\"feFuncA\",\"feFuncB\",\"feFuncG\",\"feFuncR\"])},feComposite:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"in\",\"in2\",\"k1\",\"k2\",\"k3\",\"k4\",\"operator\",\"style\"]),defaults:{operator:\"over\",k1:\"0\",k2:\"0\",k3:\"0\",k4:\"0\"},content:new Set([\"animate\",\"set\"])},feConvolveMatrix:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"in\",\"kernelMatrix\",\"order\",\"style\",\"bias\",\"divisor\",\"edgeMode\",\"targetX\",\"targetY\",\"kernelUnitLength\",\"preserveAlpha\"]),defaults:{order:\"3\",bias:\"0\",edgeMode:\"duplicate\",preserveAlpha:\"false\"},content:new Set([\"animate\",\"set\"])},feDiffuseLighting:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"diffuseConstant\",\"in\",\"kernelUnitLength\",\"style\",\"surfaceScale\"]),defaults:{surfaceScale:\"1\",diffuseConstant:\"1\"},contentGroups:new Set([\"descriptive\"]),content:new Set([\"feDistantLight\",\"fePointLight\",\"feSpotLight\"])},feDisplacementMap:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"in\",\"in2\",\"scale\",\"style\",\"xChannelSelector\",\"yChannelSelector\"]),defaults:{scale:\"0\",xChannelSelector:\"A\",yChannelSelector:\"A\"},content:new Set([\"animate\",\"set\"])},feDistantLight:{attrsGroups:new Set([\"core\"]),attrs:new Set([\"azimuth\",\"elevation\"]),defaults:{azimuth:\"0\",elevation:\"0\"},content:new Set([\"animate\",\"set\"])},feFlood:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"style\"]),content:new Set([\"animate\",\"animateColor\",\"set\"])},feFuncA:{attrsGroups:new Set([\"core\",\"transferFunction\"]),content:new Set([\"set\",\"animate\"])},feFuncB:{attrsGroups:new Set([\"core\",\"transferFunction\"]),content:new Set([\"set\",\"animate\"])},feFuncG:{attrsGroups:new Set([\"core\",\"transferFunction\"]),content:new Set([\"set\",\"animate\"])},feFuncR:{attrsGroups:new Set([\"core\",\"transferFunction\"]),content:new Set([\"set\",\"animate\"])},feGaussianBlur:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"style\",\"in\",\"stdDeviation\"]),defaults:{stdDeviation:\"0\"},content:new Set([\"set\",\"animate\"])},feImage:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\",\"xlink\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"href\",\"preserveAspectRatio\",\"style\",\"xlink:href\"]),defaults:{preserveAspectRatio:\"xMidYMid meet\"},content:new Set([\"animate\",\"animateTransform\",\"set\"])},feMerge:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"style\"]),content:new Set([\"feMergeNode\"])},feMergeNode:{attrsGroups:new Set([\"core\"]),attrs:new Set([\"in\"]),content:new Set([\"animate\",\"set\"])},feMorphology:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"style\",\"in\",\"operator\",\"radius\"]),defaults:{operator:\"erode\",radius:\"0\"},content:new Set([\"animate\",\"set\"])},feOffset:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"style\",\"in\",\"dx\",\"dy\"]),defaults:{dx:\"0\",dy:\"0\"},content:new Set([\"animate\",\"set\"])},fePointLight:{attrsGroups:new Set([\"core\"]),attrs:new Set([\"x\",\"y\",\"z\"]),defaults:{x:\"0\",y:\"0\",z:\"0\"},content:new Set([\"animate\",\"set\"])},feSpecularLighting:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"in\",\"kernelUnitLength\",\"specularConstant\",\"specularExponent\",\"style\",\"surfaceScale\"]),defaults:{surfaceScale:\"1\",specularConstant:\"1\",specularExponent:\"1\"},contentGroups:new Set([\"descriptive\",\"lightSource\"])},feSpotLight:{attrsGroups:new Set([\"core\"]),attrs:new Set([\"limitingConeAngle\",\"pointsAtX\",\"pointsAtY\",\"pointsAtZ\",\"specularExponent\",\"x\",\"y\",\"z\"]),defaults:{x:\"0\",y:\"0\",z:\"0\",pointsAtX:\"0\",pointsAtY:\"0\",pointsAtZ:\"0\",specularExponent:\"1\"},content:new Set([\"animate\",\"set\"])},feTile:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"class\",\"style\",\"in\"]),content:new Set([\"animate\",\"set\"])},feTurbulence:{attrsGroups:new Set([\"core\",\"presentation\",\"filterPrimitive\"]),attrs:new Set([\"baseFrequency\",\"class\",\"numOctaves\",\"seed\",\"stitchTiles\",\"style\",\"type\"]),defaults:{baseFrequency:\"0\",numOctaves:\"1\",seed:\"0\",stitchTiles:\"noStitch\",type:\"turbulence\"},content:new Set([\"animate\",\"set\"])},filter:{attrsGroups:new Set([\"core\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"filterRes\",\"filterUnits\",\"height\",\"href\",\"primitiveUnits\",\"style\",\"width\",\"x\",\"xlink:href\",\"y\"]),defaults:{primitiveUnits:\"userSpaceOnUse\",x:\"-10%\",y:\"-10%\",width:\"120%\",height:\"120%\"},deprecated:{unsafe:new Set([\"filterRes\"])},contentGroups:new Set([\"descriptive\",\"filterPrimitive\"]),content:new Set([\"animate\",\"set\"])},font:{attrsGroups:new Set([\"core\",\"presentation\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"horiz-adv-x\",\"horiz-origin-x\",\"horiz-origin-y\",\"style\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\"]),defaults:{\"horiz-origin-x\":\"0\",\"horiz-origin-y\":\"0\"},deprecated:{unsafe:new Set([\"horiz-origin-x\",\"horiz-origin-y\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\"])},contentGroups:new Set([\"descriptive\"]),content:new Set([\"font-face\",\"glyph\",\"hkern\",\"missing-glyph\",\"vkern\"])},\"font-face\":{attrsGroups:new Set([\"core\"]),attrs:new Set([\"font-family\",\"font-style\",\"font-variant\",\"font-weight\",\"font-stretch\",\"font-size\",\"unicode-range\",\"units-per-em\",\"panose-1\",\"stemv\",\"stemh\",\"slope\",\"cap-height\",\"x-height\",\"accent-height\",\"ascent\",\"descent\",\"widths\",\"bbox\",\"ideographic\",\"alphabetic\",\"mathematical\",\"hanging\",\"v-ideographic\",\"v-alphabetic\",\"v-mathematical\",\"v-hanging\",\"underline-position\",\"underline-thickness\",\"strikethrough-position\",\"strikethrough-thickness\",\"overline-position\",\"overline-thickness\"]),defaults:{\"font-style\":\"all\",\"font-variant\":\"normal\",\"font-weight\":\"all\",\"font-stretch\":\"normal\",\"unicode-range\":\"U+0-10FFFF\",\"units-per-em\":\"1000\",\"panose-1\":\"0 0 0 0 0 0 0 0 0 0\",slope:\"0\"},deprecated:{unsafe:new Set([\"accent-height\",\"alphabetic\",\"ascent\",\"bbox\",\"cap-height\",\"descent\",\"hanging\",\"ideographic\",\"mathematical\",\"panose-1\",\"slope\",\"stemh\",\"stemv\",\"unicode-range\",\"units-per-em\",\"v-alphabetic\",\"v-hanging\",\"v-ideographic\",\"v-mathematical\",\"widths\",\"x-height\"])},contentGroups:new Set([\"descriptive\"]),content:new Set([\"font-face-src\"])},\"font-face-format\":{attrsGroups:new Set([\"core\"]),attrs:new Set([\"string\"]),deprecated:{unsafe:new Set([\"string\"])}},\"font-face-name\":{attrsGroups:new Set([\"core\"]),attrs:new Set([\"name\"]),deprecated:{unsafe:new Set([\"name\"])}},\"font-face-src\":{attrsGroups:new Set([\"core\"]),content:new Set([\"font-face-name\",\"font-face-uri\"])},\"font-face-uri\":{attrsGroups:new Set([\"core\",\"xlink\"]),attrs:new Set([\"href\",\"xlink:href\"]),content:new Set([\"font-face-format\"])},foreignObject:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"height\",\"style\",\"transform\",\"width\",\"x\",\"y\"]),defaults:{x:\"0\",y:\"0\"}},g:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"style\",\"transform\"]),contentGroups:new Set([\"animation\",\"descriptive\",\"paintServer\",\"shape\",\"structural\"]),content:new Set([\"a\",\"altGlyphDef\",\"clipPath\",\"color-profile\",\"cursor\",\"filter\",\"font-face\",\"font\",\"foreignObject\",\"image\",\"marker\",\"mask\",\"pattern\",\"script\",\"style\",\"switch\",\"text\",\"view\"])},glyph:{attrsGroups:new Set([\"core\",\"presentation\"]),attrs:new Set([\"arabic-form\",\"class\",\"d\",\"glyph-name\",\"horiz-adv-x\",\"lang\",\"orientation\",\"style\",\"unicode\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\"]),defaults:{\"arabic-form\":\"initial\"},deprecated:{unsafe:new Set([\"arabic-form\",\"glyph-name\",\"horiz-adv-x\",\"orientation\",\"unicode\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\"])},contentGroups:new Set([\"animation\",\"descriptive\",\"paintServer\",\"shape\",\"structural\"]),content:new Set([\"a\",\"altGlyphDef\",\"clipPath\",\"color-profile\",\"cursor\",\"filter\",\"font-face\",\"font\",\"foreignObject\",\"image\",\"marker\",\"mask\",\"pattern\",\"script\",\"style\",\"switch\",\"text\",\"view\"])},glyphRef:{attrsGroups:new Set([\"core\",\"presentation\"]),attrs:new Set([\"class\",\"d\",\"horiz-adv-x\",\"style\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\"]),deprecated:{unsafe:new Set([\"horiz-adv-x\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\"])},contentGroups:new Set([\"animation\",\"descriptive\",\"paintServer\",\"shape\",\"structural\"]),content:new Set([\"a\",\"altGlyphDef\",\"clipPath\",\"color-profile\",\"cursor\",\"filter\",\"font-face\",\"font\",\"foreignObject\",\"image\",\"marker\",\"mask\",\"pattern\",\"script\",\"style\",\"switch\",\"text\",\"view\"])},hatch:{attrsGroups:new Set([\"core\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"hatchContentUnits\",\"hatchUnits\",\"pitch\",\"rotate\",\"style\",\"transform\",\"x\",\"y\"]),defaults:{hatchUnits:\"objectBoundingBox\",hatchContentUnits:\"userSpaceOnUse\",x:\"0\",y:\"0\",pitch:\"0\",rotate:\"0\"},contentGroups:new Set([\"animation\",\"descriptive\"]),content:new Set([\"hatchPath\"])},hatchPath:{attrsGroups:new Set([\"core\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"style\",\"d\",\"offset\"]),defaults:{offset:\"0\"},contentGroups:new Set([\"animation\",\"descriptive\"])},hkern:{attrsGroups:new Set([\"core\"]),attrs:new Set([\"u1\",\"g1\",\"u2\",\"g2\",\"k\"]),deprecated:{unsafe:new Set([\"g1\",\"g2\",\"k\",\"u1\",\"u2\"])}},image:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"height\",\"href\",\"preserveAspectRatio\",\"style\",\"transform\",\"width\",\"x\",\"xlink:href\",\"y\"]),defaults:{x:\"0\",y:\"0\",preserveAspectRatio:\"xMidYMid meet\"},contentGroups:new Set([\"animation\",\"descriptive\"])},line:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"style\",\"transform\",\"x1\",\"x2\",\"y1\",\"y2\"]),defaults:{x1:\"0\",y1:\"0\",x2:\"0\",y2:\"0\"},contentGroups:new Set([\"animation\",\"descriptive\"])},linearGradient:{attrsGroups:new Set([\"core\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"gradientTransform\",\"gradientUnits\",\"href\",\"spreadMethod\",\"style\",\"x1\",\"x2\",\"xlink:href\",\"y1\",\"y2\"]),defaults:{x1:\"0\",y1:\"0\",x2:\"100%\",y2:\"0\",spreadMethod:\"pad\"},contentGroups:new Set([\"descriptive\"]),content:new Set([\"animate\",\"animateTransform\",\"set\",\"stop\"])},marker:{attrsGroups:new Set([\"core\",\"presentation\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"markerHeight\",\"markerUnits\",\"markerWidth\",\"orient\",\"preserveAspectRatio\",\"refX\",\"refY\",\"style\",\"viewBox\"]),defaults:{markerUnits:\"strokeWidth\",refX:\"0\",refY:\"0\",markerWidth:\"3\",markerHeight:\"3\"},contentGroups:new Set([\"animation\",\"descriptive\",\"paintServer\",\"shape\",\"structural\"]),content:new Set([\"a\",\"altGlyphDef\",\"clipPath\",\"color-profile\",\"cursor\",\"filter\",\"font-face\",\"font\",\"foreignObject\",\"image\",\"marker\",\"mask\",\"pattern\",\"script\",\"style\",\"switch\",\"text\",\"view\"])},mask:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"presentation\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"height\",\"mask-type\",\"maskContentUnits\",\"maskUnits\",\"style\",\"width\",\"x\",\"y\"]),defaults:{maskUnits:\"objectBoundingBox\",maskContentUnits:\"userSpaceOnUse\",x:\"-10%\",y:\"-10%\",width:\"120%\",height:\"120%\"},contentGroups:new Set([\"animation\",\"descriptive\",\"paintServer\",\"shape\",\"structural\"]),content:new Set([\"a\",\"altGlyphDef\",\"clipPath\",\"color-profile\",\"cursor\",\"filter\",\"font-face\",\"font\",\"foreignObject\",\"image\",\"marker\",\"mask\",\"pattern\",\"script\",\"style\",\"switch\",\"text\",\"view\"])},metadata:{attrsGroups:new Set([\"core\"])},\"missing-glyph\":{attrsGroups:new Set([\"core\",\"presentation\"]),attrs:new Set([\"class\",\"d\",\"horiz-adv-x\",\"style\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\"]),deprecated:{unsafe:new Set([\"horiz-adv-x\",\"vert-adv-y\",\"vert-origin-x\",\"vert-origin-y\"])},contentGroups:new Set([\"animation\",\"descriptive\",\"paintServer\",\"shape\",\"structural\"]),content:new Set([\"a\",\"altGlyphDef\",\"clipPath\",\"color-profile\",\"cursor\",\"filter\",\"font-face\",\"font\",\"foreignObject\",\"image\",\"marker\",\"mask\",\"pattern\",\"script\",\"style\",\"switch\",\"text\",\"view\"])},mpath:{attrsGroups:new Set([\"core\",\"xlink\"]),attrs:new Set([\"externalResourcesRequired\",\"href\",\"xlink:href\"]),contentGroups:new Set([\"descriptive\"])},path:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"d\",\"externalResourcesRequired\",\"pathLength\",\"style\",\"transform\"]),contentGroups:new Set([\"animation\",\"descriptive\"])},pattern:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"height\",\"href\",\"patternContentUnits\",\"patternTransform\",\"patternUnits\",\"preserveAspectRatio\",\"style\",\"viewBox\",\"width\",\"x\",\"xlink:href\",\"y\"]),defaults:{patternUnits:\"objectBoundingBox\",patternContentUnits:\"userSpaceOnUse\",x:\"0\",y:\"0\",width:\"0\",height:\"0\",preserveAspectRatio:\"xMidYMid meet\"},contentGroups:new Set([\"animation\",\"descriptive\",\"paintServer\",\"shape\",\"structural\"]),content:new Set([\"a\",\"altGlyphDef\",\"clipPath\",\"color-profile\",\"cursor\",\"filter\",\"font-face\",\"font\",\"foreignObject\",\"image\",\"marker\",\"mask\",\"pattern\",\"script\",\"style\",\"switch\",\"text\",\"view\"])},polygon:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"points\",\"style\",\"transform\"]),contentGroups:new Set([\"animation\",\"descriptive\"])},polyline:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"points\",\"style\",\"transform\"]),contentGroups:new Set([\"animation\",\"descriptive\"])},radialGradient:{attrsGroups:new Set([\"core\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"cx\",\"cy\",\"externalResourcesRequired\",\"fr\",\"fx\",\"fy\",\"gradientTransform\",\"gradientUnits\",\"href\",\"r\",\"spreadMethod\",\"style\",\"xlink:href\"]),defaults:{gradientUnits:\"objectBoundingBox\",cx:\"50%\",cy:\"50%\",r:\"50%\"},contentGroups:new Set([\"descriptive\"]),content:new Set([\"animate\",\"animateTransform\",\"set\",\"stop\"])},meshGradient:{attrsGroups:new Set([\"core\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"style\",\"x\",\"y\",\"gradientUnits\",\"transform\"]),contentGroups:new Set([\"descriptive\",\"paintServer\",\"animation\"]),content:new Set([\"meshRow\"])},meshRow:{attrsGroups:new Set([\"core\",\"presentation\"]),attrs:new Set([\"class\",\"style\"]),contentGroups:new Set([\"descriptive\"]),content:new Set([\"meshPatch\"])},meshPatch:{attrsGroups:new Set([\"core\",\"presentation\"]),attrs:new Set([\"class\",\"style\"]),contentGroups:new Set([\"descriptive\"]),content:new Set([\"stop\"])},rect:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"height\",\"rx\",\"ry\",\"style\",\"transform\",\"width\",\"x\",\"y\"]),defaults:{x:\"0\",y:\"0\"},contentGroups:new Set([\"animation\",\"descriptive\"])},script:{attrsGroups:new Set([\"core\",\"xlink\"]),attrs:new Set([\"externalResourcesRequired\",\"type\",\"href\",\"xlink:href\"])},set:{attrsGroups:new Set([\"animation\",\"animationAttributeTarget\",\"animationTiming\",\"conditionalProcessing\",\"core\",\"xlink\"]),attrs:new Set([\"externalResourcesRequired\",\"to\"]),contentGroups:new Set([\"descriptive\"])},solidColor:{attrsGroups:new Set([\"core\",\"presentation\"]),attrs:new Set([\"class\",\"style\"]),contentGroups:new Set([\"paintServer\"])},stop:{attrsGroups:new Set([\"core\",\"presentation\"]),attrs:new Set([\"class\",\"style\",\"offset\",\"path\"]),content:new Set([\"animate\",\"animateColor\",\"set\"])},style:{attrsGroups:new Set([\"core\"]),attrs:new Set([\"type\",\"media\",\"title\"]),defaults:{type:\"text/css\"}},svg:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"documentEvent\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"baseProfile\",\"class\",\"contentScriptType\",\"contentStyleType\",\"height\",\"preserveAspectRatio\",\"style\",\"version\",\"viewBox\",\"width\",\"x\",\"y\",\"zoomAndPan\"]),defaults:{x:\"0\",y:\"0\",width:\"100%\",height:\"100%\",preserveAspectRatio:\"xMidYMid meet\",zoomAndPan:\"magnify\",version:\"1.1\",baseProfile:\"none\",contentScriptType:\"application/ecmascript\",contentStyleType:\"text/css\"},deprecated:{safe:new Set([\"version\"]),unsafe:new Set([\"baseProfile\",\"contentScriptType\",\"contentStyleType\",\"zoomAndPan\"])},contentGroups:new Set([\"animation\",\"descriptive\",\"paintServer\",\"shape\",\"structural\"]),content:new Set([\"a\",\"altGlyphDef\",\"clipPath\",\"color-profile\",\"cursor\",\"filter\",\"font-face\",\"font\",\"foreignObject\",\"image\",\"marker\",\"mask\",\"pattern\",\"script\",\"style\",\"switch\",\"text\",\"view\"])},switch:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"style\",\"transform\"]),contentGroups:new Set([\"animation\",\"descriptive\",\"shape\"]),content:new Set([\"a\",\"foreignObject\",\"g\",\"image\",\"svg\",\"switch\",\"text\",\"use\"])},symbol:{attrsGroups:new Set([\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"preserveAspectRatio\",\"refX\",\"refY\",\"style\",\"viewBox\"]),defaults:{refX:\"0\",refY:\"0\"},contentGroups:new Set([\"animation\",\"descriptive\",\"paintServer\",\"shape\",\"structural\"]),content:new Set([\"a\",\"altGlyphDef\",\"clipPath\",\"color-profile\",\"cursor\",\"filter\",\"font-face\",\"font\",\"foreignObject\",\"image\",\"marker\",\"mask\",\"pattern\",\"script\",\"style\",\"switch\",\"text\",\"view\"])},text:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"dx\",\"dy\",\"externalResourcesRequired\",\"lengthAdjust\",\"rotate\",\"style\",\"textLength\",\"transform\",\"x\",\"y\"]),defaults:{x:\"0\",y:\"0\",lengthAdjust:\"spacing\"},contentGroups:new Set([\"animation\",\"descriptive\",\"textContentChild\"]),content:new Set([\"a\"])},textPath:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"d\",\"externalResourcesRequired\",\"href\",\"method\",\"spacing\",\"startOffset\",\"style\",\"xlink:href\"]),defaults:{startOffset:\"0\",method:\"align\",spacing:\"exact\"},contentGroups:new Set([\"descriptive\"]),content:new Set([\"a\",\"altGlyph\",\"animate\",\"animateColor\",\"set\",\"tref\",\"tspan\"])},title:{attrsGroups:new Set([\"core\"]),attrs:new Set([\"class\",\"style\"])},tref:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"href\",\"style\",\"xlink:href\"]),contentGroups:new Set([\"descriptive\"]),content:new Set([\"animate\",\"animateColor\",\"set\"])},tspan:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\"]),attrs:new Set([\"class\",\"dx\",\"dy\",\"externalResourcesRequired\",\"lengthAdjust\",\"rotate\",\"style\",\"textLength\",\"x\",\"y\"]),contentGroups:new Set([\"descriptive\"]),content:new Set([\"a\",\"altGlyph\",\"animate\",\"animateColor\",\"set\",\"tref\",\"tspan\"])},use:{attrsGroups:new Set([\"conditionalProcessing\",\"core\",\"graphicalEvent\",\"presentation\",\"xlink\"]),attrs:new Set([\"class\",\"externalResourcesRequired\",\"height\",\"href\",\"style\",\"transform\",\"width\",\"x\",\"xlink:href\",\"y\"]),defaults:{x:\"0\",y:\"0\"},contentGroups:new Set([\"animation\",\"descriptive\"])},view:{attrsGroups:new Set([\"core\"]),attrs:new Set([\"externalResourcesRequired\",\"preserveAspectRatio\",\"viewBox\",\"viewTarget\",\"zoomAndPan\"]),deprecated:{unsafe:new Set([\"viewTarget\",\"zoomAndPan\"])},contentGroups:new Set([\"descriptive\"])},vkern:{attrsGroups:new Set([\"core\"]),attrs:new Set([\"u1\",\"g1\",\"u2\",\"g2\",\"k\"]),deprecated:{unsafe:new Set([\"g1\",\"g2\",\"k\",\"u1\",\"u2\"])}}}\nconst editorNamespaces=new Set([\"http://creativecommons.org/ns#\",\"http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd\",\"http://krita.org/namespaces/svg/krita\",\"http://ns.adobe.com/AdobeIllustrator/10.0/\",\"http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/\",\"http://ns.adobe.com/Extensibility/1.0/\",\"http://ns.adobe.com/Flows/1.0/\",\"http://ns.adobe.com/GenericCustomNamespace/1.0/\",\"http://ns.adobe.com/Graphs/1.0/\",\"http://ns.adobe.com/ImageReplacement/1.0/\",\"http://ns.adobe.com/SaveForWeb/1.0/\",\"http://ns.adobe.com/Variables/1.0/\",\"http://ns.adobe.com/XPath/1.0/\",\"http://purl.org/dc/elements/1.1/\",\"http://schemas.microsoft.com/visio/2003/SVGExtensions/\",\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\",\"http://taptrix.com/vectorillustrator/svg_extensions\",\"http://www.bohemiancoding.com/sketch/ns\",\"http://www.figma.com/figma/ns\",\"http://www.inkscape.org/namespaces/inkscape\",\"http://www.serif.com/\",\"http://www.vector.evaxdesign.sk\",\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\"https://boxy-svg.com\"])\nconst referencesProps=new Set([\"clip-path\",\"color-profile\",\"fill\",\"filter\",\"marker-end\",\"marker-mid\",\"marker-start\",\"mask\",\"stroke\",\"style\"])\nconst inheritableAttrs=new Set([\"clip-rule\",\"color-interpolation-filters\",\"color-interpolation\",\"color-profile\",\"color-rendering\",\"color\",\"cursor\",\"direction\",\"dominant-baseline\",\"fill-opacity\",\"fill-rule\",\"fill\",\"font-family\",\"font-size-adjust\",\"font-size\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"font\",\"glyph-orientation-horizontal\",\"glyph-orientation-vertical\",\"image-rendering\",\"letter-spacing\",\"marker-end\",\"marker-mid\",\"marker-start\",\"marker\",\"paint-order\",\"pointer-events\",\"shape-rendering\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"stroke\",\"text-anchor\",\"text-rendering\",\"transform\",\"visibility\",\"word-spacing\",\"writing-mode\"])\nconst presentationNonInheritableGroupAttrs=new Set([\"clip-path\",\"display\",\"filter\",\"mask\",\"opacity\",\"text-decoration\",\"transform\",\"unicode-bidi\"])\nconst colorsNames={aliceblue:\"#f0f8ff\",antiquewhite:\"#faebd7\",aqua:\"#0ff\",aquamarine:\"#7fffd4\",azure:\"#f0ffff\",beige:\"#f5f5dc\",bisque:\"#ffe4c4\",black:\"#000\",blanchedalmond:\"#ffebcd\",blue:\"#00f\",blueviolet:\"#8a2be2\",brown:\"#a52a2a\",burlywood:\"#deb887\",cadetblue:\"#5f9ea0\",chartreuse:\"#7fff00\",chocolate:\"#d2691e\",coral:\"#ff7f50\",cornflowerblue:\"#6495ed\",cornsilk:\"#fff8dc\",crimson:\"#dc143c\",cyan:\"#0ff\",darkblue:\"#00008b\",darkcyan:\"#008b8b\",darkgoldenrod:\"#b8860b\",darkgray:\"#a9a9a9\",darkgreen:\"#006400\",darkgrey:\"#a9a9a9\",darkkhaki:\"#bdb76b\",darkmagenta:\"#8b008b\",darkolivegreen:\"#556b2f\",darkorange:\"#ff8c00\",darkorchid:\"#9932cc\",darkred:\"#8b0000\",darksalmon:\"#e9967a\",darkseagreen:\"#8fbc8f\",darkslateblue:\"#483d8b\",darkslategray:\"#2f4f4f\",darkslategrey:\"#2f4f4f\",darkturquoise:\"#00ced1\",darkviolet:\"#9400d3\",deeppink:\"#ff1493\",deepskyblue:\"#00bfff\",dimgray:\"#696969\",dimgrey:\"#696969\",dodgerblue:\"#1e90ff\",firebrick:\"#b22222\",floralwhite:\"#fffaf0\",forestgreen:\"#228b22\",fuchsia:\"#f0f\",gainsboro:\"#dcdcdc\",ghostwhite:\"#f8f8ff\",gold:\"#ffd700\",goldenrod:\"#daa520\",gray:\"#808080\",green:\"#008000\",greenyellow:\"#adff2f\",grey:\"#808080\",honeydew:\"#f0fff0\",hotpink:\"#ff69b4\",indianred:\"#cd5c5c\",indigo:\"#4b0082\",ivory:\"#fffff0\",khaki:\"#f0e68c\",lavender:\"#e6e6fa\",lavenderblush:\"#fff0f5\",lawngreen:\"#7cfc00\",lemonchiffon:\"#fffacd\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lightcyan:\"#e0ffff\",lightgoldenrodyellow:\"#fafad2\",lightgray:\"#d3d3d3\",lightgreen:\"#90ee90\",lightgrey:\"#d3d3d3\",lightpink:\"#ffb6c1\",lightsalmon:\"#ffa07a\",lightseagreen:\"#20b2aa\",lightskyblue:\"#87cefa\",lightslategray:\"#789\",lightslategrey:\"#789\",lightsteelblue:\"#b0c4de\",lightyellow:\"#ffffe0\",lime:\"#0f0\",limegreen:\"#32cd32\",linen:\"#faf0e6\",magenta:\"#f0f\",maroon:\"#800000\",mediumaquamarine:\"#66cdaa\",mediumblue:\"#0000cd\",mediumorchid:\"#ba55d3\",mediumpurple:\"#9370db\",mediumseagreen:\"#3cb371\",mediumslateblue:\"#7b68ee\",mediumspringgreen:\"#00fa9a\",mediumturquoise:\"#48d1cc\",mediumvioletred:\"#c71585\",midnightblue:\"#191970\",mintcream:\"#f5fffa\",mistyrose:\"#ffe4e1\",moccasin:\"#ffe4b5\",navajowhite:\"#ffdead\",navy:\"#000080\",oldlace:\"#fdf5e6\",olive:\"#808000\",olivedrab:\"#6b8e23\",orange:\"#ffa500\",orangered:\"#ff4500\",orchid:\"#da70d6\",palegoldenrod:\"#eee8aa\",palegreen:\"#98fb98\",paleturquoise:\"#afeeee\",palevioletred:\"#db7093\",papayawhip:\"#ffefd5\",peachpuff:\"#ffdab9\",peru:\"#cd853f\",pink:\"#ffc0cb\",plum:\"#dda0dd\",powderblue:\"#b0e0e6\",purple:\"#800080\",rebeccapurple:\"#639\",red:\"#f00\",rosybrown:\"#bc8f8f\",royalblue:\"#4169e1\",saddlebrown:\"#8b4513\",salmon:\"#fa8072\",sandybrown:\"#f4a460\",seagreen:\"#2e8b57\",seashell:\"#fff5ee\",sienna:\"#a0522d\",silver:\"#c0c0c0\",skyblue:\"#87ceeb\",slateblue:\"#6a5acd\",slategray:\"#708090\",slategrey:\"#708090\",snow:\"#fffafa\",springgreen:\"#00ff7f\",steelblue:\"#4682b4\",tan:\"#d2b48c\",teal:\"#008080\",thistle:\"#d8bfd8\",tomato:\"#ff6347\",turquoise:\"#40e0d0\",violet:\"#ee82ee\",wheat:\"#f5deb3\",white:\"#fff\",whitesmoke:\"#f5f5f5\",yellow:\"#ff0\",yellowgreen:\"#9acd32\"}\nconst colorsShortNames={\"#f0ffff\":\"azure\",\"#f5f5dc\":\"beige\",\"#ffe4c4\":\"bisque\",\"#a52a2a\":\"brown\",\"#ff7f50\":\"coral\",\"#ffd700\":\"gold\",\"#808080\":\"gray\",\"#008000\":\"green\",\"#4b0082\":\"indigo\",\"#fffff0\":\"ivory\",\"#f0e68c\":\"khaki\",\"#faf0e6\":\"linen\",\"#800000\":\"maroon\",\"#000080\":\"navy\",\"#808000\":\"olive\",\"#ffa500\":\"orange\",\"#da70d6\":\"orchid\",\"#cd853f\":\"peru\",\"#ffc0cb\":\"pink\",\"#dda0dd\":\"plum\",\"#800080\":\"purple\",\"#f00\":\"red\",\"#ff0000\":\"red\",\"#fa8072\":\"salmon\",\"#a0522d\":\"sienna\",\"#c0c0c0\":\"silver\",\"#fffafa\":\"snow\",\"#d2b48c\":\"tan\",\"#008080\":\"teal\",\"#ff6347\":\"tomato\",\"#ee82ee\":\"violet\",\"#f5deb3\":\"wheat\"}\nconst colorsProps=new Set([\"color\",\"fill\",\"flood-color\",\"lighting-color\",\"stop-color\",\"stroke\"])\nconst pseudoClasses={displayState:new Set([\"fullscreen\",\"modal\",\"picture-in-picture\"]),input:new Set([\"autofill\",\"blank\",\"checked\",\"default\",\"disabled\",\"enabled\",\"in-range\",\"indeterminate\",\"invalid\",\"optional\",\"out-of-range\",\"placeholder-shown\",\"read-only\",\"read-write\",\"required\",\"user-invalid\",\"valid\"]),linguistic:new Set([\"dir\",\"lang\"]),location:new Set([\"any-link\",\"link\",\"local-link\",\"scope\",\"target-within\",\"target\",\"visited\"]),resourceState:new Set([\"playing\",\"paused\"]),timeDimensional:new Set([\"current\",\"past\",\"future\"]),treeStructural:new Set([\"empty\",\"first-child\",\"first-of-type\",\"last-child\",\"last-of-type\",\"nth-child\",\"nth-last-child\",\"nth-last-of-type\",\"nth-of-type\",\"only-child\",\"only-of-type\",\"root\"]),userAction:new Set([\"active\",\"focus-visible\",\"focus-within\",\"focus\",\"hover\"]),functional:new Set([\"is\",\"not\",\"where\",\"has\"])}\nvar _collections=Object.freeze({__proto__:null,attrsGroups:attrsGroups,attrsGroupsDefaults:attrsGroupsDefaults,attrsGroupsDeprecated:attrsGroupsDeprecated,colorsNames:colorsNames,colorsProps:colorsProps,colorsShortNames:colorsShortNames,editorNamespaces:editorNamespaces,elems:elems,elemsGroups:elemsGroups,inheritableAttrs:inheritableAttrs,pathElems:pathElems,presentationNonInheritableGroupAttrs:presentationNonInheritableGroupAttrs,pseudoClasses:pseudoClasses,referencesProps:referencesProps,textElems:textElems})\nconst EOF$3=0\nconst Ident$1=1\nconst Function$3=2\nconst AtKeyword$1=3\nconst Hash$3=4\nconst String$4=5\nconst BadString$1=6\nconst Url$4=7\nconst BadUrl$1=8\nconst Delim$1=9\nconst Number$5=10\nconst Percentage$3=11\nconst Dimension$3=12\nconst WhiteSpace$3=13\nconst CDO$3=14\nconst CDC$3=15\nconst Colon$1=16\nconst Semicolon$1=17\nconst Comma$1=18\nconst LeftSquareBracket$1=19\nconst RightSquareBracket$1=20\nconst LeftParenthesis$1=21\nconst RightParenthesis$1=22\nconst LeftCurlyBracket$1=23\nconst RightCurlyBracket$1=24\nconst Comment$3=25\nconst EOF$2=0\nfunction isDigit$2(code){return code>=0x0030&&code<=0x0039}function isHexDigit$1(code){return isDigit$2(code)||code>=0x0041&&code<=0x0046||code>=0x0061&&code<=0x0066}function isUppercaseLetter$1(code){return code>=0x0041&&code<=0x005A}function isLowercaseLetter$1(code){return code>=0x0061&&code<=0x007A}function isLetter$1(code){return isUppercaseLetter$1(code)||isLowercaseLetter$1(code)}function isNonAscii$1(code){return code>=0x0080}function isNameStart$1(code){return isLetter$1(code)||isNonAscii$1(code)||code===0x005F}function isName$1(code){return isNameStart$1(code)||isDigit$2(code)||code===0x002D}function isNonPrintable$1(code){return code>=0x0000&&code<=0x0008||code===0x000B||code>=0x000E&&code<=0x001F||code===0x007F}function isNewline$1(code){return code===0x000A||code===0x000D||code===0x000C}function isWhiteSpace$2(code){return isNewline$1(code)||code===0x0020||code===0x0009}function isValidEscape$1(first,second){if(first!==0x005C)return false\nif(isNewline$1(second)||second===EOF$2)return false\nreturn true}function isIdentifierStart$1(first,second,third){if(first===0x002D)return isNameStart$1(second)||second===0x002D||isValidEscape$1(second,third)\nif(isNameStart$1(first))return true\nif(first===0x005C)return isValidEscape$1(first,second)\nreturn false}function isNumberStart$1(first,second,third){if(first===0x002B||first===0x002D){if(isDigit$2(second))return 2\nreturn second===0x002E&&isDigit$2(third)?3:0}if(first===0x002E)return isDigit$2(second)?2:0\nif(isDigit$2(first))return 1\nreturn 0}function isBOM$1(code){if(code===0xFEFF)return 1\nif(code===0xFFFE)return 1\nreturn 0}const CATEGORY$1=new Array(0x80)\nconst EofCategory$1=0x80\nconst WhiteSpaceCategory$1=0x82\nconst DigitCategory$1=0x83\nconst NameStartCategory$1=0x84\nconst NonPrintableCategory$1=0x85\nfor(let i=0;i<CATEGORY$1.length;i++)CATEGORY$1[i]=isWhiteSpace$2(i)&&WhiteSpaceCategory$1||isDigit$2(i)&&DigitCategory$1||isNameStart$1(i)&&NameStartCategory$1||isNonPrintable$1(i)&&NonPrintableCategory$1||i||EofCategory$1\nfunction charCodeCategory$1(code){return code<0x80?CATEGORY$1[code]:NameStartCategory$1}function getCharCode$1(source,offset){return offset<source.length?source.charCodeAt(offset):0}function getNewlineLength$1(source,offset,code){if(code===13&&getCharCode$1(source,offset+1)===10)return 2\nreturn 1}function cmpChar$1(testStr,offset,referenceCode){let code=testStr.charCodeAt(offset)\nisUppercaseLetter$1(code)&&(code|=32)\nreturn code===referenceCode}function cmpStr$1(testStr,start,end,referenceStr){if(end-start!==referenceStr.length)return false\nif(start<0||end>testStr.length)return false\nfor(let i=start;i<end;i++){const referenceCode=referenceStr.charCodeAt(i-start)\nlet testCode=testStr.charCodeAt(i)\nisUppercaseLetter$1(testCode)&&(testCode|=32)\nif(testCode!==referenceCode)return false}return true}function findWhiteSpaceStart$1(source,offset){for(;offset>=0;offset--)if(!isWhiteSpace$2(source.charCodeAt(offset)))break\nreturn offset+1}function findWhiteSpaceEnd$1(source,offset){for(;offset<source.length;offset++)if(!isWhiteSpace$2(source.charCodeAt(offset)))break\nreturn offset}function findDecimalNumberEnd$1(source,offset){for(;offset<source.length;offset++)if(!isDigit$2(source.charCodeAt(offset)))break\nreturn offset}function consumeEscaped$1(source,offset){offset+=2\nif(isHexDigit$1(getCharCode$1(source,offset-1))){for(const maxOffset=Math.min(source.length,offset+5);offset<maxOffset;offset++)if(!isHexDigit$1(getCharCode$1(source,offset)))break\nconst code=getCharCode$1(source,offset)\nisWhiteSpace$2(code)&&(offset+=getNewlineLength$1(source,offset,code))}return offset}function consumeName$1(source,offset){for(;offset<source.length;offset++){const code=source.charCodeAt(offset)\nif(isName$1(code))continue\nif(isValidEscape$1(code,getCharCode$1(source,offset+1))){offset=consumeEscaped$1(source,offset)-1\ncontinue}break}return offset}function consumeNumber$2(source,offset){let code=source.charCodeAt(offset)\ncode!==0x002B&&code!==0x002D||(code=source.charCodeAt(offset+=1))\nif(isDigit$2(code)){offset=findDecimalNumberEnd$1(source,offset+1)\ncode=source.charCodeAt(offset)}if(code===0x002E&&isDigit$2(source.charCodeAt(offset+1))){offset+=2\noffset=findDecimalNumberEnd$1(source,offset)}if(cmpChar$1(source,offset,101)){let sign=0\ncode=source.charCodeAt(offset+1)\nif(code===0x002D||code===0x002B){sign=1\ncode=source.charCodeAt(offset+2)}isDigit$2(code)&&(offset=findDecimalNumberEnd$1(source,offset+1+sign+1))}return offset}function consumeBadUrlRemnants$1(source,offset){for(;offset<source.length;offset++){const code=source.charCodeAt(offset)\nif(code===0x0029){offset++\nbreak}isValidEscape$1(code,getCharCode$1(source,offset+1))&&(offset=consumeEscaped$1(source,offset))}return offset}function decodeEscaped$1(escaped){if(escaped.length===1&&!isHexDigit$1(escaped.charCodeAt(0)))return escaped[0]\nlet code=parseInt(escaped,16);(code===0||code>=0xD800&&code<=0xDFFF||code>0x10FFFF)&&(code=0xFFFD)\nreturn String.fromCodePoint(code)}var tokenNames$1=[\"EOF-token\",\"ident-token\",\"function-token\",\"at-keyword-token\",\"hash-token\",\"string-token\",\"bad-string-token\",\"url-token\",\"bad-url-token\",\"delim-token\",\"number-token\",\"percentage-token\",\"dimension-token\",\"whitespace-token\",\"CDO-token\",\"CDC-token\",\"colon-token\",\"semicolon-token\",\"comma-token\",\"[-token\",\"]-token\",\"(-token\",\")-token\",\"{-token\",\"}-token\",\"comment-token\"]\nconst MIN_SIZE$1=16384\nfunction adoptBuffer$1(buffer=null,size){if(buffer===null||buffer.length<size)return new Uint32Array(Math.max(size+1024,MIN_SIZE$1))\nreturn buffer}const N$9=10\nconst F$5=12\nconst R$5=13\nfunction computeLinesAndColumns$1(host){const source=host.source\nconst sourceLength=source.length\nconst startOffset=source.length>0?isBOM$1(source.charCodeAt(0)):0\nconst lines=adoptBuffer$1(host.lines,sourceLength)\nconst columns=adoptBuffer$1(host.columns,sourceLength)\nlet line=host.startLine\nlet column=host.startColumn\nfor(let i=startOffset;i<sourceLength;i++){const code=source.charCodeAt(i)\nlines[i]=line\ncolumns[i]=column++\nif(code===N$9||code===R$5||code===F$5){if(code===R$5&&i+1<sourceLength&&source.charCodeAt(i+1)===N$9){i++\nlines[i]=line\ncolumns[i]=column}line++\ncolumn=1}}lines[sourceLength]=line\ncolumns[sourceLength]=column\nhost.lines=lines\nhost.columns=columns\nhost.computed=true}let OffsetToLocation$1=class OffsetToLocation{constructor(){this.lines=null\nthis.columns=null\nthis.computed=false}setSource(source,startOffset=0,startLine=1,startColumn=1){this.source=source\nthis.startOffset=startOffset\nthis.startLine=startLine\nthis.startColumn=startColumn\nthis.computed=false}getLocation(offset,filename){this.computed||computeLinesAndColumns$1(this)\nreturn{source:filename,offset:this.startOffset+offset,line:this.lines[offset],column:this.columns[offset]}}getLocationRange(start,end,filename){this.computed||computeLinesAndColumns$1(this)\nreturn{source:filename,start:{offset:this.startOffset+start,line:this.lines[start],column:this.columns[start]},end:{offset:this.startOffset+end,line:this.lines[end],column:this.columns[end]}}}}\nconst OFFSET_MASK$1=0x00FFFFFF\nconst TYPE_SHIFT$1=24\nconst balancePair$3=new Map([[Function$3,RightParenthesis$1],[LeftParenthesis$1,RightParenthesis$1],[LeftSquareBracket$1,RightSquareBracket$1],[LeftCurlyBracket$1,RightCurlyBracket$1]])\nlet TokenStream$1=class TokenStream{constructor(source,tokenize){this.setSource(source,tokenize)}reset(){this.eof=false\nthis.tokenIndex=-1\nthis.tokenType=0\nthis.tokenStart=this.firstCharOffset\nthis.tokenEnd=this.firstCharOffset}setSource(source=\"\",tokenize=(()=>{})){source=String(source||\"\")\nconst sourceLength=source.length\nconst offsetAndType=adoptBuffer$1(this.offsetAndType,source.length+1)\nconst balance=adoptBuffer$1(this.balance,source.length+1)\nlet tokenCount=0\nlet balanceCloseType=0\nlet balanceStart=0\nlet firstCharOffset=-1\nthis.offsetAndType=null\nthis.balance=null\ntokenize(source,((type,start,end)=>{switch(type){default:balance[tokenCount]=sourceLength\nbreak\ncase balanceCloseType:{let balancePrev=balanceStart&OFFSET_MASK$1\nbalanceStart=balance[balancePrev]\nbalanceCloseType=balanceStart>>TYPE_SHIFT$1\nbalance[tokenCount]=balancePrev\nbalance[balancePrev++]=tokenCount\nfor(;balancePrev<tokenCount;balancePrev++)balance[balancePrev]===sourceLength&&(balance[balancePrev]=tokenCount)\nbreak}case LeftParenthesis$1:case Function$3:case LeftSquareBracket$1:case LeftCurlyBracket$1:balance[tokenCount]=balanceStart\nbalanceCloseType=balancePair$3.get(type)\nbalanceStart=balanceCloseType<<TYPE_SHIFT$1|tokenCount\nbreak}offsetAndType[tokenCount++]=type<<TYPE_SHIFT$1|end\nfirstCharOffset===-1&&(firstCharOffset=start)}))\noffsetAndType[tokenCount]=EOF$3<<TYPE_SHIFT$1|sourceLength\nbalance[tokenCount]=sourceLength\nbalance[sourceLength]=sourceLength\nwhile(balanceStart!==0){const balancePrev=balanceStart&OFFSET_MASK$1\nbalanceStart=balance[balancePrev]\nbalance[balancePrev]=sourceLength}this.source=source\nthis.firstCharOffset=firstCharOffset===-1?0:firstCharOffset\nthis.tokenCount=tokenCount\nthis.offsetAndType=offsetAndType\nthis.balance=balance\nthis.reset()\nthis.next()}lookupType(offset){offset+=this.tokenIndex\nif(offset<this.tokenCount)return this.offsetAndType[offset]>>TYPE_SHIFT$1\nreturn EOF$3}lookupTypeNonSC(idx){for(let offset=this.tokenIndex;offset<this.tokenCount;offset++){const tokenType=this.offsetAndType[offset]>>TYPE_SHIFT$1\nif(tokenType!==WhiteSpace$3&&tokenType!==Comment$3&&idx--===0)return tokenType}return EOF$3}lookupOffset(offset){offset+=this.tokenIndex\nif(offset<this.tokenCount)return this.offsetAndType[offset-1]&OFFSET_MASK$1\nreturn this.source.length}lookupOffsetNonSC(idx){for(let offset=this.tokenIndex;offset<this.tokenCount;offset++){const tokenType=this.offsetAndType[offset]>>TYPE_SHIFT$1\nif(tokenType!==WhiteSpace$3&&tokenType!==Comment$3&&idx--===0)return offset-this.tokenIndex}return EOF$3}lookupValue(offset,referenceStr){offset+=this.tokenIndex\nif(offset<this.tokenCount)return cmpStr$1(this.source,this.offsetAndType[offset-1]&OFFSET_MASK$1,this.offsetAndType[offset]&OFFSET_MASK$1,referenceStr)\nreturn false}getTokenStart(tokenIndex){if(tokenIndex===this.tokenIndex)return this.tokenStart\nif(tokenIndex>0)return tokenIndex<this.tokenCount?this.offsetAndType[tokenIndex-1]&OFFSET_MASK$1:this.offsetAndType[this.tokenCount]&OFFSET_MASK$1\nreturn this.firstCharOffset}substrToCursor(start){return this.source.substring(start,this.tokenStart)}isBalanceEdge(pos){return this.balance[this.tokenIndex]<pos}isDelim(code,offset){if(offset)return this.lookupType(offset)===Delim$1&&this.source.charCodeAt(this.lookupOffset(offset))===code\nreturn this.tokenType===Delim$1&&this.source.charCodeAt(this.tokenStart)===code}skip(tokenCount){let next=this.tokenIndex+tokenCount\nif(next<this.tokenCount){this.tokenIndex=next\nthis.tokenStart=this.offsetAndType[next-1]&OFFSET_MASK$1\nnext=this.offsetAndType[next]\nthis.tokenType=next>>TYPE_SHIFT$1\nthis.tokenEnd=next&OFFSET_MASK$1}else{this.tokenIndex=this.tokenCount\nthis.next()}}next(){let next=this.tokenIndex+1\nif(next<this.tokenCount){this.tokenIndex=next\nthis.tokenStart=this.tokenEnd\nnext=this.offsetAndType[next]\nthis.tokenType=next>>TYPE_SHIFT$1\nthis.tokenEnd=next&OFFSET_MASK$1}else{this.eof=true\nthis.tokenIndex=this.tokenCount\nthis.tokenType=EOF$3\nthis.tokenStart=this.tokenEnd=this.source.length}}skipSC(){while(this.tokenType===WhiteSpace$3||this.tokenType===Comment$3)this.next()}skipUntilBalanced(startToken,stopConsume){let cursor=startToken\nlet balanceEnd\nlet offset\nloop:for(;cursor<this.tokenCount;cursor++){balanceEnd=this.balance[cursor]\nif(balanceEnd<startToken)break loop\noffset=cursor>0?this.offsetAndType[cursor-1]&OFFSET_MASK$1:this.firstCharOffset\nswitch(stopConsume(this.source.charCodeAt(offset))){case 1:break loop\ncase 2:cursor++\nbreak loop\ndefault:this.balance[balanceEnd]===cursor&&(cursor=balanceEnd)}}this.skip(cursor-this.tokenIndex)}forEachToken(fn){for(let i=0,offset=this.firstCharOffset;i<this.tokenCount;i++){const start=offset\nconst item=this.offsetAndType[i]\nconst end=item&OFFSET_MASK$1\nconst type=item>>TYPE_SHIFT$1\noffset=end\nfn(type,start,end,i)}}dump(){const tokens=new Array(this.tokenCount)\nthis.forEachToken(((type,start,end,index)=>{tokens[index]={idx:index,type:tokenNames$1[type],chunk:this.source.substring(start,end),balance:this.balance[index]}}))\nreturn tokens}}\nfunction tokenize$4(source,onToken){function getCharCode(offset){return offset<sourceLength?source.charCodeAt(offset):0}function consumeNumericToken(){offset=consumeNumber$2(source,offset)\nif(isIdentifierStart$1(getCharCode(offset),getCharCode(offset+1),getCharCode(offset+2))){type=Dimension$3\noffset=consumeName$1(source,offset)\nreturn}if(getCharCode(offset)===0x0025){type=Percentage$3\noffset++\nreturn}type=Number$5}function consumeIdentLikeToken(){const nameStartOffset=offset\noffset=consumeName$1(source,offset)\nif(cmpStr$1(source,nameStartOffset,offset,\"url\")&&getCharCode(offset)===0x0028){offset=findWhiteSpaceEnd$1(source,offset+1)\nif(getCharCode(offset)===0x0022||getCharCode(offset)===0x0027){type=Function$3\noffset=nameStartOffset+4\nreturn}consumeUrlToken()\nreturn}if(getCharCode(offset)===0x0028){type=Function$3\noffset++\nreturn}type=Ident$1}function consumeStringToken(endingCodePoint){endingCodePoint||(endingCodePoint=getCharCode(offset++))\ntype=String$4\nfor(;offset<source.length;offset++){const code=source.charCodeAt(offset)\nswitch(charCodeCategory$1(code)){case endingCodePoint:offset++\nreturn\ncase WhiteSpaceCategory$1:if(isNewline$1(code)){offset+=getNewlineLength$1(source,offset,code)\ntype=BadString$1\nreturn}break\ncase 0x005C:if(offset===source.length-1)break\nconst nextCode=getCharCode(offset+1)\nisNewline$1(nextCode)?offset+=getNewlineLength$1(source,offset+1,nextCode):isValidEscape$1(code,nextCode)&&(offset=consumeEscaped$1(source,offset)-1)\nbreak}}}function consumeUrlToken(){type=Url$4\noffset=findWhiteSpaceEnd$1(source,offset)\nfor(;offset<source.length;offset++){const code=source.charCodeAt(offset)\nswitch(charCodeCategory$1(code)){case 0x0029:offset++\nreturn\ncase WhiteSpaceCategory$1:offset=findWhiteSpaceEnd$1(source,offset)\nif(getCharCode(offset)===0x0029||offset>=source.length){offset<source.length&&offset++\nreturn}offset=consumeBadUrlRemnants$1(source,offset)\ntype=BadUrl$1\nreturn\ncase 0x0022:case 0x0027:case 0x0028:case NonPrintableCategory$1:offset=consumeBadUrlRemnants$1(source,offset)\ntype=BadUrl$1\nreturn\ncase 0x005C:if(isValidEscape$1(code,getCharCode(offset+1))){offset=consumeEscaped$1(source,offset)-1\nbreak}offset=consumeBadUrlRemnants$1(source,offset)\ntype=BadUrl$1\nreturn}}}source=String(source||\"\")\nconst sourceLength=source.length\nlet start=isBOM$1(getCharCode(0))\nlet offset=start\nlet type\nwhile(offset<sourceLength){const code=source.charCodeAt(offset)\nswitch(charCodeCategory$1(code)){case WhiteSpaceCategory$1:type=WhiteSpace$3\noffset=findWhiteSpaceEnd$1(source,offset+1)\nbreak\ncase 0x0022:consumeStringToken()\nbreak\ncase 0x0023:if(isName$1(getCharCode(offset+1))||isValidEscape$1(getCharCode(offset+1),getCharCode(offset+2))){type=Hash$3\noffset=consumeName$1(source,offset+1)}else{type=Delim$1\noffset++}break\ncase 0x0027:consumeStringToken()\nbreak\ncase 0x0028:type=LeftParenthesis$1\noffset++\nbreak\ncase 0x0029:type=RightParenthesis$1\noffset++\nbreak\ncase 0x002B:if(isNumberStart$1(code,getCharCode(offset+1),getCharCode(offset+2)))consumeNumericToken()\nelse{type=Delim$1\noffset++}break\ncase 0x002C:type=Comma$1\noffset++\nbreak\ncase 0x002D:if(isNumberStart$1(code,getCharCode(offset+1),getCharCode(offset+2)))consumeNumericToken()\nelse if(getCharCode(offset+1)===0x002D&&getCharCode(offset+2)===0x003E){type=CDC$3\noffset+=3}else if(isIdentifierStart$1(code,getCharCode(offset+1),getCharCode(offset+2)))consumeIdentLikeToken()\nelse{type=Delim$1\noffset++}break\ncase 0x002E:if(isNumberStart$1(code,getCharCode(offset+1),getCharCode(offset+2)))consumeNumericToken()\nelse{type=Delim$1\noffset++}break\ncase 0x002F:if(getCharCode(offset+1)===0x002A){type=Comment$3\noffset=source.indexOf(\"*/\",offset+2)\noffset=offset===-1?source.length:offset+2}else{type=Delim$1\noffset++}break\ncase 0x003A:type=Colon$1\noffset++\nbreak\ncase 0x003B:type=Semicolon$1\noffset++\nbreak\ncase 0x003C:if(getCharCode(offset+1)===0x0021&&getCharCode(offset+2)===0x002D&&getCharCode(offset+3)===0x002D){type=CDO$3\noffset+=4}else{type=Delim$1\noffset++}break\ncase 0x0040:if(isIdentifierStart$1(getCharCode(offset+1),getCharCode(offset+2),getCharCode(offset+3))){type=AtKeyword$1\noffset=consumeName$1(source,offset+1)}else{type=Delim$1\noffset++}break\ncase 0x005B:type=LeftSquareBracket$1\noffset++\nbreak\ncase 0x005C:if(isValidEscape$1(code,getCharCode(offset+1)))consumeIdentLikeToken()\nelse{type=Delim$1\noffset++}break\ncase 0x005D:type=RightSquareBracket$1\noffset++\nbreak\ncase 0x007B:type=LeftCurlyBracket$1\noffset++\nbreak\ncase 0x007D:type=RightCurlyBracket$1\noffset++\nbreak\ncase DigitCategory$1:consumeNumericToken()\nbreak\ncase NameStartCategory$1:consumeIdentLikeToken()\nbreak\ndefault:type=Delim$1\noffset++}onToken(type,start,start=offset)}}let releasedCursors$1=null\nlet List$1=class List{static createItem(data){return{prev:null,next:null,data:data}}constructor(){this.head=null\nthis.tail=null\nthis.cursor=null}createItem(data){return List.createItem(data)}allocateCursor(prev,next){let cursor\nif(releasedCursors$1!==null){cursor=releasedCursors$1\nreleasedCursors$1=releasedCursors$1.cursor\ncursor.prev=prev\ncursor.next=next\ncursor.cursor=this.cursor}else cursor={prev:prev,next:next,cursor:this.cursor}\nthis.cursor=cursor\nreturn cursor}releaseCursor(){const{cursor:cursor}=this\nthis.cursor=cursor.cursor\ncursor.prev=null\ncursor.next=null\ncursor.cursor=releasedCursors$1\nreleasedCursors$1=cursor}updateCursors(prevOld,prevNew,nextOld,nextNew){let{cursor:cursor}=this\nwhile(cursor!==null){cursor.prev===prevOld&&(cursor.prev=prevNew)\ncursor.next===nextOld&&(cursor.next=nextNew)\ncursor=cursor.cursor}}*[Symbol.iterator](){for(let cursor=this.head;cursor!==null;cursor=cursor.next)yield cursor.data}get size(){let size=0\nfor(let cursor=this.head;cursor!==null;cursor=cursor.next)size++\nreturn size}get isEmpty(){return this.head===null}get first(){return this.head&&this.head.data}get last(){return this.tail&&this.tail.data}fromArray(array){let cursor=null\nthis.head=null\nfor(let data of array){const item=List.createItem(data)\ncursor!==null?cursor.next=item:this.head=item\nitem.prev=cursor\ncursor=item}this.tail=cursor\nreturn this}toArray(){return[...this]}toJSON(){return[...this]}forEach(fn,thisArg=this){const cursor=this.allocateCursor(null,this.head)\nwhile(cursor.next!==null){const item=cursor.next\ncursor.next=item.next\nfn.call(thisArg,item.data,item,this)}this.releaseCursor()}forEachRight(fn,thisArg=this){const cursor=this.allocateCursor(this.tail,null)\nwhile(cursor.prev!==null){const item=cursor.prev\ncursor.prev=item.prev\nfn.call(thisArg,item.data,item,this)}this.releaseCursor()}reduce(fn,initialValue,thisArg=this){let cursor=this.allocateCursor(null,this.head)\nlet acc=initialValue\nlet item\nwhile(cursor.next!==null){item=cursor.next\ncursor.next=item.next\nacc=fn.call(thisArg,acc,item.data,item,this)}this.releaseCursor()\nreturn acc}reduceRight(fn,initialValue,thisArg=this){let cursor=this.allocateCursor(this.tail,null)\nlet acc=initialValue\nlet item\nwhile(cursor.prev!==null){item=cursor.prev\ncursor.prev=item.prev\nacc=fn.call(thisArg,acc,item.data,item,this)}this.releaseCursor()\nreturn acc}some(fn,thisArg=this){for(let cursor=this.head;cursor!==null;cursor=cursor.next)if(fn.call(thisArg,cursor.data,cursor,this))return true\nreturn false}map(fn,thisArg=this){const result=new List\nfor(let cursor=this.head;cursor!==null;cursor=cursor.next)result.appendData(fn.call(thisArg,cursor.data,cursor,this))\nreturn result}filter(fn,thisArg=this){const result=new List\nfor(let cursor=this.head;cursor!==null;cursor=cursor.next)fn.call(thisArg,cursor.data,cursor,this)&&result.appendData(cursor.data)\nreturn result}nextUntil(start,fn,thisArg=this){if(start===null)return\nconst cursor=this.allocateCursor(null,start)\nwhile(cursor.next!==null){const item=cursor.next\ncursor.next=item.next\nif(fn.call(thisArg,item.data,item,this))break}this.releaseCursor()}prevUntil(start,fn,thisArg=this){if(start===null)return\nconst cursor=this.allocateCursor(start,null)\nwhile(cursor.prev!==null){const item=cursor.prev\ncursor.prev=item.prev\nif(fn.call(thisArg,item.data,item,this))break}this.releaseCursor()}clear(){this.head=null\nthis.tail=null}copy(){const result=new List\nfor(let data of this)result.appendData(data)\nreturn result}prepend(item){this.updateCursors(null,item,this.head,item)\nif(this.head!==null){this.head.prev=item\nitem.next=this.head}else this.tail=item\nthis.head=item\nreturn this}prependData(data){return this.prepend(List.createItem(data))}append(item){return this.insert(item)}appendData(data){return this.insert(List.createItem(data))}insert(item,before=null){if(before!==null){this.updateCursors(before.prev,item,before,item)\nif(before.prev===null){if(this.head!==before)throw new Error(\"before doesn't belong to list\")\nthis.head=item\nbefore.prev=item\nitem.next=before\nthis.updateCursors(null,item)}else{before.prev.next=item\nitem.prev=before.prev\nbefore.prev=item\nitem.next=before}}else{this.updateCursors(this.tail,item,null,item)\nif(this.tail!==null){this.tail.next=item\nitem.prev=this.tail}else this.head=item\nthis.tail=item}return this}insertData(data,before){return this.insert(List.createItem(data),before)}remove(item){this.updateCursors(item,item.prev,item,item.next)\nif(item.prev!==null)item.prev.next=item.next\nelse{if(this.head!==item)throw new Error(\"item doesn't belong to list\")\nthis.head=item.next}if(item.next!==null)item.next.prev=item.prev\nelse{if(this.tail!==item)throw new Error(\"item doesn't belong to list\")\nthis.tail=item.prev}item.prev=null\nitem.next=null\nreturn item}push(data){this.insert(List.createItem(data))}pop(){return this.tail!==null?this.remove(this.tail):null}unshift(data){this.prepend(List.createItem(data))}shift(){return this.head!==null?this.remove(this.head):null}prependList(list){return this.insertList(list,this.head)}appendList(list){return this.insertList(list)}insertList(list,before){if(list.head===null)return this\nif(before!==void 0&&before!==null){this.updateCursors(before.prev,list.tail,before,list.head)\nif(before.prev!==null){before.prev.next=list.head\nlist.head.prev=before.prev}else this.head=list.head\nbefore.prev=list.tail\nlist.tail.next=before}else{this.updateCursors(this.tail,list.tail,null,list.head)\nif(this.tail!==null){this.tail.next=list.head\nlist.head.prev=this.tail}else this.head=list.head\nthis.tail=list.tail}list.head=null\nlist.tail=null\nreturn this}replace(oldItem,newItemOrList){\"head\"in newItemOrList?this.insertList(newItemOrList,oldItem):this.insert(newItemOrList,oldItem)\nthis.remove(oldItem)}}\nfunction createCustomError$1(name,message){const error=Object.create(SyntaxError.prototype)\nconst errorStack=new Error\nreturn Object.assign(error,{name:name,message:message,get stack(){return(errorStack.stack||\"\").replace(/^(.+\\n){1,3}/,`${name}: ${message}\\n`)}})}const MAX_LINE_LENGTH$1=100\nconst OFFSET_CORRECTION$1=60\nconst TAB_REPLACEMENT$1=\" \"\nfunction sourceFragment$1({source:source,line:line,column:column,baseLine:baseLine,baseColumn:baseColumn},extraLines){function processLines(start,end){return lines.slice(start,end).map(((line,idx)=>String(start+idx+1).padStart(maxNumLength)+\" |\"+line)).join(\"\\n\")}const prelines=\"\\n\".repeat(Math.max(baseLine-1,0))\nconst precolumns=\" \".repeat(Math.max(baseColumn-1,0))\nconst lines=(prelines+precolumns+source).split(/\\r\\n?|\\n|\\f/)\nconst startLine=Math.max(1,line-extraLines)-1\nconst endLine=Math.min(line+extraLines,lines.length+1)\nconst maxNumLength=Math.max(4,String(endLine).length)+1\nlet cutLeft=0\ncolumn+=(TAB_REPLACEMENT$1.length-1)*(lines[line-1].substr(0,column-1).match(/\\t/g)||[]).length\nif(column>MAX_LINE_LENGTH$1){cutLeft=column-OFFSET_CORRECTION$1+3\ncolumn=OFFSET_CORRECTION$1-2}for(let i=startLine;i<=endLine;i++)if(i>=0&&i<lines.length){lines[i]=lines[i].replace(/\\t/g,TAB_REPLACEMENT$1)\nlines[i]=(cutLeft>0&&lines[i].length>cutLeft?\"…\":\"\")+lines[i].substr(cutLeft,MAX_LINE_LENGTH$1-2)+(lines[i].length>cutLeft+MAX_LINE_LENGTH$1-1?\"…\":\"\")}return[processLines(startLine,line),new Array(column+maxNumLength+2).join(\"-\")+\"^\",processLines(line,endLine)].filter(Boolean).join(\"\\n\").replace(/^(\\s+\\d+\\s+\\|\\n)+/,\"\").replace(/\\n(\\s+\\d+\\s+\\|)+$/,\"\")}function SyntaxError$4(message,source,offset,line,column,baseLine=1,baseColumn=1){const error=Object.assign(createCustomError$1(\"SyntaxError\",message),{source:source,offset:offset,line:line,column:column,sourceFragment:extraLines=>sourceFragment$1({source:source,line:line,column:column,baseLine:baseLine,baseColumn:baseColumn},isNaN(extraLines)?0:extraLines),get formattedMessage(){return`Parse error: ${message}\\n`+sourceFragment$1({source:source,line:line,column:column,baseLine:baseLine,baseColumn:baseColumn},2)}})\nreturn error}function readSequence$2(recognizer){const children=this.createList()\nlet space=false\nconst context={recognizer:recognizer}\nwhile(!this.eof){switch(this.tokenType){case Comment$3:this.next()\ncontinue\ncase WhiteSpace$3:space=true\nthis.next()\ncontinue}let child=recognizer.getNode.call(this,context)\nif(child===void 0)break\nif(space){recognizer.onWhiteSpace&&recognizer.onWhiteSpace.call(this,child,children,context)\nspace=false}children.push(child)}space&&recognizer.onWhiteSpace&&recognizer.onWhiteSpace.call(this,null,children,context)\nreturn children}const NOOP$1=()=>{}\nconst EXCLAMATIONMARK$7=0x0021\nconst NUMBERSIGN$9=0x0023\nconst SEMICOLON$1=0x003B\nconst LEFTCURLYBRACKET$3=0x007B\nconst NULL$1=0\nfunction createParseContext$1(name){return function(){return this[name]()}}function fetchParseValues$1(dict){const result=Object.create(null)\nfor(const name of Object.keys(dict)){const item=dict[name]\nconst fn=item.parse||item\nfn&&(result[name]=fn)}return result}function processConfig$1(config){const parseConfig={context:Object.create(null),features:Object.assign(Object.create(null),config.features),scope:Object.assign(Object.create(null),config.scope),atrule:fetchParseValues$1(config.atrule),pseudo:fetchParseValues$1(config.pseudo),node:fetchParseValues$1(config.node)}\nfor(const[name,context]of Object.entries(config.parseContext))switch(typeof context){case\"function\":parseConfig.context[name]=context\nbreak\ncase\"string\":parseConfig.context[name]=createParseContext$1(context)\nbreak}return{config:parseConfig,...parseConfig,...parseConfig.node}}function createParser$1(config){let source=\"\"\nlet filename=\"<unknown>\"\nlet needPositions=false\nlet onParseError=NOOP$1\nlet onParseErrorThrow=false\nconst locationMap=new OffsetToLocation$1\nconst parser=Object.assign(new TokenStream$1,processConfig$1(config||{}),{parseAtrulePrelude:true,parseRulePrelude:true,parseValue:true,parseCustomProperty:false,readSequence:readSequence$2,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket:code=>code===LEFTCURLYBRACKET$3?1:0,consumeUntilLeftCurlyBracketOrSemicolon:code=>code===LEFTCURLYBRACKET$3||code===SEMICOLON$1?1:0,consumeUntilExclamationMarkOrSemicolon:code=>code===EXCLAMATIONMARK$7||code===SEMICOLON$1?1:0,consumeUntilSemicolonIncluded:code=>code===SEMICOLON$1?2:0,createList:()=>new List$1,createSingleNodeList:node=>(new List$1).appendData(node),getFirstListNode:list=>list&&list.first,getLastListNode:list=>list&&list.last,parseWithFallback(consumer,fallback){const startIndex=this.tokenIndex\ntry{return consumer.call(this)}catch(e){if(onParseErrorThrow)throw e\nthis.skip(startIndex-this.tokenIndex)\nconst fallbackNode=fallback.call(this)\nonParseErrorThrow=true\nonParseError(e,fallbackNode)\nonParseErrorThrow=false\nreturn fallbackNode}},lookupNonWSType(offset){let type\ndo{type=this.lookupType(offset++)\nif(type!==WhiteSpace$3&&type!==Comment$3)return type}while(type!==NULL$1)\nreturn NULL$1},charCodeAt:offset=>offset>=0&&offset<source.length?source.charCodeAt(offset):0,substring:(offsetStart,offsetEnd)=>source.substring(offsetStart,offsetEnd),substrToCursor(start){return this.source.substring(start,this.tokenStart)},cmpChar:(offset,charCode)=>cmpChar$1(source,offset,charCode),cmpStr:(offsetStart,offsetEnd,str)=>cmpStr$1(source,offsetStart,offsetEnd,str),consume(tokenType){const start=this.tokenStart\nthis.eat(tokenType)\nreturn this.substrToCursor(start)},consumeFunctionName(){const name=source.substring(this.tokenStart,this.tokenEnd-1)\nthis.eat(Function$3)\nreturn name},consumeNumber(type){const number=source.substring(this.tokenStart,consumeNumber$2(source,this.tokenStart))\nthis.eat(type)\nreturn number},eat(tokenType){if(this.tokenType!==tokenType){const tokenName=tokenNames$1[tokenType].slice(0,-6).replace(/-/g,\" \").replace(/^./,(m=>m.toUpperCase()))\nlet message=`${/[[\\](){}]/.test(tokenName)?`\"${tokenName}\"`:tokenName} is expected`\nlet offset=this.tokenStart\nswitch(tokenType){case Ident$1:if(this.tokenType===Function$3||this.tokenType===Url$4){offset=this.tokenEnd-1\nmessage=\"Identifier is expected but function found\"}else message=\"Identifier is expected\"\nbreak\ncase Hash$3:if(this.isDelim(NUMBERSIGN$9)){this.next()\noffset++\nmessage=\"Name is expected\"}break\ncase Percentage$3:if(this.tokenType===Number$5){offset=this.tokenEnd\nmessage=\"Percent sign is expected\"}break}this.error(message,offset)}this.next()},eatIdent(name){this.tokenType===Ident$1&&this.lookupValue(0,name)!==false||this.error(`Identifier \"${name}\" is expected`)\nthis.next()},eatDelim(code){this.isDelim(code)||this.error(`Delim \"${String.fromCharCode(code)}\" is expected`)\nthis.next()},getLocation(start,end){if(needPositions)return locationMap.getLocationRange(start,end,filename)\nreturn null},getLocationFromList(list){if(needPositions){const head=this.getFirstListNode(list)\nconst tail=this.getLastListNode(list)\nreturn locationMap.getLocationRange(head!==null?head.loc.start.offset-locationMap.startOffset:this.tokenStart,tail!==null?tail.loc.end.offset-locationMap.startOffset:this.tokenStart,filename)}return null},error(message,offset){const location=typeof offset!==\"undefined\"&&offset<source.length?locationMap.getLocation(offset):this.eof?locationMap.getLocation(findWhiteSpaceStart$1(source,source.length-1)):locationMap.getLocation(this.tokenStart)\nthrow new SyntaxError$4(message||\"Unexpected input\",source,location.offset,location.line,location.column,locationMap.startLine,locationMap.startColumn)}})\nconst parse=function(source_,options){source=source_\noptions=options||{}\nparser.setSource(source,tokenize$4)\nlocationMap.setSource(source,options.offset,options.line,options.column)\nfilename=options.filename||\"<unknown>\"\nneedPositions=Boolean(options.positions)\nonParseError=typeof options.onParseError===\"function\"?options.onParseError:NOOP$1\nonParseErrorThrow=false\nparser.parseAtrulePrelude=!(\"parseAtrulePrelude\"in options)||Boolean(options.parseAtrulePrelude)\nparser.parseRulePrelude=!(\"parseRulePrelude\"in options)||Boolean(options.parseRulePrelude)\nparser.parseValue=!(\"parseValue\"in options)||Boolean(options.parseValue)\nparser.parseCustomProperty=\"parseCustomProperty\"in options&&Boolean(options.parseCustomProperty)\nconst{context:context=\"default\",onComment:onComment}=options\nif(context in parser.context===false)throw new Error(\"Unknown context `\"+context+\"`\")\ntypeof onComment===\"function\"&&parser.forEachToken(((type,start,end)=>{if(type===Comment$3){const loc=parser.getLocation(start,end)\nconst value=cmpStr$1(source,end-2,end,\"*/\")?source.slice(start+2,end-2):source.slice(start+2,end)\nonComment(value,loc)}}))\nconst ast=parser.context[context].call(parser,options)\nparser.eof||parser.error()\nreturn ast}\nreturn Object.assign(parse,{SyntaxError:SyntaxError$4,config:parser.config})}var base64Vlq={}\nvar base64$1={}\nvar intToCharMap=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\")\nbase64$1.encode=function(number){if(0<=number&&number<intToCharMap.length)return intToCharMap[number]\nthrow new TypeError(\"Must be between 0 and 63: \"+number)}\nbase64$1.decode=function(charCode){var bigA=65\nvar bigZ=90\nvar littleA=97\nvar littleZ=122\nvar zero=48\nvar nine=57\nvar plus=43\nvar slash=47\nvar littleOffset=26\nvar numberOffset=52\nif(bigA<=charCode&&charCode<=bigZ)return charCode-bigA\nif(littleA<=charCode&&charCode<=littleZ)return charCode-littleA+littleOffset\nif(zero<=charCode&&charCode<=nine)return charCode-zero+numberOffset\nif(charCode==plus)return 62\nif(charCode==slash)return 63\nreturn-1}\nvar base64=base64$1\nvar VLQ_BASE_SHIFT=5\nvar VLQ_BASE=1<<VLQ_BASE_SHIFT\nvar VLQ_BASE_MASK=VLQ_BASE-1\nvar VLQ_CONTINUATION_BIT=VLQ_BASE\nfunction toVLQSigned(aValue){return aValue<0?1+(-aValue<<1):0+(aValue<<1)}function fromVLQSigned(aValue){var isNegative=(aValue&1)===1\nvar shifted=aValue>>1\nreturn isNegative?-shifted:shifted}base64Vlq.encode=function base64VLQ_encode(aValue){var encoded=\"\"\nvar digit\nvar vlq=toVLQSigned(aValue)\ndo{digit=vlq&VLQ_BASE_MASK\nvlq>>>=VLQ_BASE_SHIFT\nvlq>0&&(digit|=VLQ_CONTINUATION_BIT)\nencoded+=base64.encode(digit)}while(vlq>0)\nreturn encoded}\nbase64Vlq.decode=function base64VLQ_decode(aStr,aIndex,aOutParam){var strLen=aStr.length\nvar result=0\nvar shift=0\nvar continuation,digit\ndo{if(aIndex>=strLen)throw new Error(\"Expected more digits in base 64 VLQ value.\")\ndigit=base64.decode(aStr.charCodeAt(aIndex++))\nif(digit===-1)throw new Error(\"Invalid base64 digit: \"+aStr.charAt(aIndex-1))\ncontinuation=!!(digit&VLQ_CONTINUATION_BIT)\ndigit&=VLQ_BASE_MASK\nresult+=digit<<shift\nshift+=VLQ_BASE_SHIFT}while(continuation)\naOutParam.value=fromVLQSigned(result)\naOutParam.rest=aIndex}\nvar util$3={};(function(exports){function getArg(aArgs,aName,aDefaultValue){if(aName in aArgs)return aArgs[aName]\nif(arguments.length===3)return aDefaultValue\nthrow new Error('\"'+aName+'\" is a required argument.')}exports.getArg=getArg\nvar urlRegexp=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/\nvar dataUrlRegexp=/^data:.+\\,.+$/\nfunction urlParse(aUrl){var match=aUrl.match(urlRegexp)\nif(!match)return null\nreturn{scheme:match[1],auth:match[2],host:match[3],port:match[4],path:match[5]}}exports.urlParse=urlParse\nfunction urlGenerate(aParsedUrl){var url=\"\"\naParsedUrl.scheme&&(url+=aParsedUrl.scheme+\":\")\nurl+=\"//\"\naParsedUrl.auth&&(url+=aParsedUrl.auth+\"@\")\naParsedUrl.host&&(url+=aParsedUrl.host)\naParsedUrl.port&&(url+=\":\"+aParsedUrl.port)\naParsedUrl.path&&(url+=aParsedUrl.path)\nreturn url}exports.urlGenerate=urlGenerate\nvar MAX_CACHED_INPUTS=32\nfunction lruMemoize(f){var cache=[]\nreturn function(input){for(var i=0;i<cache.length;i++)if(cache[i].input===input){var temp=cache[0]\ncache[0]=cache[i]\ncache[i]=temp\nreturn cache[0].result}var result=f(input)\ncache.unshift({input:input,result:result})\ncache.length>MAX_CACHED_INPUTS&&cache.pop()\nreturn result}}var normalize=lruMemoize((function normalize(aPath){var path=aPath\nvar url=urlParse(aPath)\nif(url){if(!url.path)return aPath\npath=url.path}var isAbsolute=exports.isAbsolute(path)\nvar parts=[]\nvar start=0\nvar i=0\nwhile(true){start=i\ni=path.indexOf(\"/\",start)\nif(i===-1){parts.push(path.slice(start))\nbreak}parts.push(path.slice(start,i))\nwhile(i<path.length&&path[i]===\"/\")i++}for(var part,up=0,i=parts.length-1;i>=0;i--){part=parts[i]\nif(part===\".\")parts.splice(i,1)\nelse if(part===\"..\")up++\nelse if(up>0)if(part===\"\"){parts.splice(i+1,up)\nup=0}else{parts.splice(i,2)\nup--}}path=parts.join(\"/\")\npath===\"\"&&(path=isAbsolute?\"/\":\".\")\nif(url){url.path=path\nreturn urlGenerate(url)}return path}))\nexports.normalize=normalize\nfunction join(aRoot,aPath){aRoot===\"\"&&(aRoot=\".\")\naPath===\"\"&&(aPath=\".\")\nvar aPathUrl=urlParse(aPath)\nvar aRootUrl=urlParse(aRoot)\naRootUrl&&(aRoot=aRootUrl.path||\"/\")\nif(aPathUrl&&!aPathUrl.scheme){aRootUrl&&(aPathUrl.scheme=aRootUrl.scheme)\nreturn urlGenerate(aPathUrl)}if(aPathUrl||aPath.match(dataUrlRegexp))return aPath\nif(aRootUrl&&!aRootUrl.host&&!aRootUrl.path){aRootUrl.host=aPath\nreturn urlGenerate(aRootUrl)}var joined=aPath.charAt(0)===\"/\"?aPath:normalize(aRoot.replace(/\\/+$/,\"\")+\"/\"+aPath)\nif(aRootUrl){aRootUrl.path=joined\nreturn urlGenerate(aRootUrl)}return joined}exports.join=join\nexports.isAbsolute=function(aPath){return aPath.charAt(0)===\"/\"||urlRegexp.test(aPath)}\nfunction relative(aRoot,aPath){aRoot===\"\"&&(aRoot=\".\")\naRoot=aRoot.replace(/\\/$/,\"\")\nvar level=0\nwhile(aPath.indexOf(aRoot+\"/\")!==0){var index=aRoot.lastIndexOf(\"/\")\nif(index<0)return aPath\naRoot=aRoot.slice(0,index)\nif(aRoot.match(/^([^\\/]+:\\/)?\\/*$/))return aPath;++level}return Array(level+1).join(\"../\")+aPath.substr(aRoot.length+1)}exports.relative=relative\nvar supportsNullProto=function(){var obj=Object.create(null)\nreturn!(\"__proto__\"in obj)}()\nfunction identity(s){return s}function toSetString(aStr){if(isProtoString(aStr))return\"$\"+aStr\nreturn aStr}exports.toSetString=supportsNullProto?identity:toSetString\nfunction fromSetString(aStr){if(isProtoString(aStr))return aStr.slice(1)\nreturn aStr}exports.fromSetString=supportsNullProto?identity:fromSetString\nfunction isProtoString(s){if(!s)return false\nvar length=s.length\nif(length<9)return false\nif(s.charCodeAt(length-1)!==95||s.charCodeAt(length-2)!==95||s.charCodeAt(length-3)!==111||s.charCodeAt(length-4)!==116||s.charCodeAt(length-5)!==111||s.charCodeAt(length-6)!==114||s.charCodeAt(length-7)!==112||s.charCodeAt(length-8)!==95||s.charCodeAt(length-9)!==95)return false\nfor(var i=length-10;i>=0;i--)if(s.charCodeAt(i)!==36)return false\nreturn true}function compareByOriginalPositions(mappingA,mappingB,onlyCompareOriginal){var cmp=strcmp(mappingA.source,mappingB.source)\nif(cmp!==0)return cmp\ncmp=mappingA.originalLine-mappingB.originalLine\nif(cmp!==0)return cmp\ncmp=mappingA.originalColumn-mappingB.originalColumn\nif(cmp!==0||onlyCompareOriginal)return cmp\ncmp=mappingA.generatedColumn-mappingB.generatedColumn\nif(cmp!==0)return cmp\ncmp=mappingA.generatedLine-mappingB.generatedLine\nif(cmp!==0)return cmp\nreturn strcmp(mappingA.name,mappingB.name)}exports.compareByOriginalPositions=compareByOriginalPositions\nfunction compareByOriginalPositionsNoSource(mappingA,mappingB,onlyCompareOriginal){var cmp\ncmp=mappingA.originalLine-mappingB.originalLine\nif(cmp!==0)return cmp\ncmp=mappingA.originalColumn-mappingB.originalColumn\nif(cmp!==0||onlyCompareOriginal)return cmp\ncmp=mappingA.generatedColumn-mappingB.generatedColumn\nif(cmp!==0)return cmp\ncmp=mappingA.generatedLine-mappingB.generatedLine\nif(cmp!==0)return cmp\nreturn strcmp(mappingA.name,mappingB.name)}exports.compareByOriginalPositionsNoSource=compareByOriginalPositionsNoSource\nfunction compareByGeneratedPositionsDeflated(mappingA,mappingB,onlyCompareGenerated){var cmp=mappingA.generatedLine-mappingB.generatedLine\nif(cmp!==0)return cmp\ncmp=mappingA.generatedColumn-mappingB.generatedColumn\nif(cmp!==0||onlyCompareGenerated)return cmp\ncmp=strcmp(mappingA.source,mappingB.source)\nif(cmp!==0)return cmp\ncmp=mappingA.originalLine-mappingB.originalLine\nif(cmp!==0)return cmp\ncmp=mappingA.originalColumn-mappingB.originalColumn\nif(cmp!==0)return cmp\nreturn strcmp(mappingA.name,mappingB.name)}exports.compareByGeneratedPositionsDeflated=compareByGeneratedPositionsDeflated\nfunction compareByGeneratedPositionsDeflatedNoLine(mappingA,mappingB,onlyCompareGenerated){var cmp=mappingA.generatedColumn-mappingB.generatedColumn\nif(cmp!==0||onlyCompareGenerated)return cmp\ncmp=strcmp(mappingA.source,mappingB.source)\nif(cmp!==0)return cmp\ncmp=mappingA.originalLine-mappingB.originalLine\nif(cmp!==0)return cmp\ncmp=mappingA.originalColumn-mappingB.originalColumn\nif(cmp!==0)return cmp\nreturn strcmp(mappingA.name,mappingB.name)}exports.compareByGeneratedPositionsDeflatedNoLine=compareByGeneratedPositionsDeflatedNoLine\nfunction strcmp(aStr1,aStr2){if(aStr1===aStr2)return 0\nif(aStr1===null)return 1\nif(aStr2===null)return-1\nif(aStr1>aStr2)return 1\nreturn-1}function compareByGeneratedPositionsInflated(mappingA,mappingB){var cmp=mappingA.generatedLine-mappingB.generatedLine\nif(cmp!==0)return cmp\ncmp=mappingA.generatedColumn-mappingB.generatedColumn\nif(cmp!==0)return cmp\ncmp=strcmp(mappingA.source,mappingB.source)\nif(cmp!==0)return cmp\ncmp=mappingA.originalLine-mappingB.originalLine\nif(cmp!==0)return cmp\ncmp=mappingA.originalColumn-mappingB.originalColumn\nif(cmp!==0)return cmp\nreturn strcmp(mappingA.name,mappingB.name)}exports.compareByGeneratedPositionsInflated=compareByGeneratedPositionsInflated\nfunction parseSourceMapInput(str){return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/,\"\"))}exports.parseSourceMapInput=parseSourceMapInput\nfunction computeSourceURL(sourceRoot,sourceURL,sourceMapURL){sourceURL=sourceURL||\"\"\nif(sourceRoot){sourceRoot[sourceRoot.length-1]!==\"/\"&&sourceURL[0]!==\"/\"&&(sourceRoot+=\"/\")\nsourceURL=sourceRoot+sourceURL}if(sourceMapURL){var parsed=urlParse(sourceMapURL)\nif(!parsed)throw new Error(\"sourceMapURL could not be parsed\")\nif(parsed.path){var index=parsed.path.lastIndexOf(\"/\")\nindex>=0&&(parsed.path=parsed.path.substring(0,index+1))}sourceURL=join(urlGenerate(parsed),sourceURL)}return normalize(sourceURL)}exports.computeSourceURL=computeSourceURL})(util$3)\nvar arraySet={}\nvar util$2=util$3\nvar has=Object.prototype.hasOwnProperty\nvar hasNativeMap=typeof Map!==\"undefined\"\nfunction ArraySet$1(){this._array=[]\nthis._set=hasNativeMap?new Map:Object.create(null)}ArraySet$1.fromArray=function ArraySet_fromArray(aArray,aAllowDuplicates){var set=new ArraySet$1\nfor(var i=0,len=aArray.length;i<len;i++)set.add(aArray[i],aAllowDuplicates)\nreturn set}\nArraySet$1.prototype.size=function ArraySet_size(){return hasNativeMap?this._set.size:Object.getOwnPropertyNames(this._set).length}\nArraySet$1.prototype.add=function ArraySet_add(aStr,aAllowDuplicates){var sStr=hasNativeMap?aStr:util$2.toSetString(aStr)\nvar isDuplicate=hasNativeMap?this.has(aStr):has.call(this._set,sStr)\nvar idx=this._array.length\nisDuplicate&&!aAllowDuplicates||this._array.push(aStr)\nisDuplicate||(hasNativeMap?this._set.set(aStr,idx):this._set[sStr]=idx)}\nArraySet$1.prototype.has=function ArraySet_has(aStr){if(hasNativeMap)return this._set.has(aStr)\nvar sStr=util$2.toSetString(aStr)\nreturn has.call(this._set,sStr)}\nArraySet$1.prototype.indexOf=function ArraySet_indexOf(aStr){if(hasNativeMap){var idx=this._set.get(aStr)\nif(idx>=0)return idx}else{var sStr=util$2.toSetString(aStr)\nif(has.call(this._set,sStr))return this._set[sStr]}throw new Error('\"'+aStr+'\" is not in the set.')}\nArraySet$1.prototype.at=function ArraySet_at(aIdx){if(aIdx>=0&&aIdx<this._array.length)return this._array[aIdx]\nthrow new Error(\"No element indexed by \"+aIdx)}\nArraySet$1.prototype.toArray=function ArraySet_toArray(){return this._array.slice()}\narraySet.ArraySet=ArraySet$1\nvar mappingList={}\nvar util$1=util$3\nfunction generatedPositionAfter(mappingA,mappingB){var lineA=mappingA.generatedLine\nvar lineB=mappingB.generatedLine\nvar columnA=mappingA.generatedColumn\nvar columnB=mappingB.generatedColumn\nreturn lineB>lineA||lineB==lineA&&columnB>=columnA||util$1.compareByGeneratedPositionsInflated(mappingA,mappingB)<=0}function MappingList$1(){this._array=[]\nthis._sorted=true\nthis._last={generatedLine:-1,generatedColumn:0}}MappingList$1.prototype.unsortedForEach=function MappingList_forEach(aCallback,aThisArg){this._array.forEach(aCallback,aThisArg)}\nMappingList$1.prototype.add=function MappingList_add(aMapping){if(generatedPositionAfter(this._last,aMapping)){this._last=aMapping\nthis._array.push(aMapping)}else{this._sorted=false\nthis._array.push(aMapping)}}\nMappingList$1.prototype.toArray=function MappingList_toArray(){if(!this._sorted){this._array.sort(util$1.compareByGeneratedPositionsInflated)\nthis._sorted=true}return this._array}\nmappingList.MappingList=MappingList$1\nvar base64VLQ=base64Vlq\nvar util=util$3\nvar ArraySet=arraySet.ArraySet\nvar MappingList=mappingList.MappingList\nfunction SourceMapGenerator(aArgs){aArgs||(aArgs={})\nthis._file=util.getArg(aArgs,\"file\",null)\nthis._sourceRoot=util.getArg(aArgs,\"sourceRoot\",null)\nthis._skipValidation=util.getArg(aArgs,\"skipValidation\",false)\nthis._ignoreInvalidMapping=util.getArg(aArgs,\"ignoreInvalidMapping\",false)\nthis._sources=new ArraySet\nthis._names=new ArraySet\nthis._mappings=new MappingList\nthis._sourcesContents=null}SourceMapGenerator.prototype._version=3\nSourceMapGenerator.fromSourceMap=function SourceMapGenerator_fromSourceMap(aSourceMapConsumer,generatorOps){var sourceRoot=aSourceMapConsumer.sourceRoot\nvar generator=new SourceMapGenerator(Object.assign(generatorOps||{},{file:aSourceMapConsumer.file,sourceRoot:sourceRoot}))\naSourceMapConsumer.eachMapping((function(mapping){var newMapping={generated:{line:mapping.generatedLine,column:mapping.generatedColumn}}\nif(mapping.source!=null){newMapping.source=mapping.source\nsourceRoot!=null&&(newMapping.source=util.relative(sourceRoot,newMapping.source))\nnewMapping.original={line:mapping.originalLine,column:mapping.originalColumn}\nmapping.name!=null&&(newMapping.name=mapping.name)}generator.addMapping(newMapping)}))\naSourceMapConsumer.sources.forEach((function(sourceFile){var sourceRelative=sourceFile\nsourceRoot!==null&&(sourceRelative=util.relative(sourceRoot,sourceFile))\ngenerator._sources.has(sourceRelative)||generator._sources.add(sourceRelative)\nvar content=aSourceMapConsumer.sourceContentFor(sourceFile)\ncontent!=null&&generator.setSourceContent(sourceFile,content)}))\nreturn generator}\nSourceMapGenerator.prototype.addMapping=function SourceMapGenerator_addMapping(aArgs){var generated=util.getArg(aArgs,\"generated\")\nvar original=util.getArg(aArgs,\"original\",null)\nvar source=util.getArg(aArgs,\"source\",null)\nvar name=util.getArg(aArgs,\"name\",null)\nif(!this._skipValidation&&this._validateMapping(generated,original,source,name)===false)return\nif(source!=null){source=String(source)\nthis._sources.has(source)||this._sources.add(source)}if(name!=null){name=String(name)\nthis._names.has(name)||this._names.add(name)}this._mappings.add({generatedLine:generated.line,generatedColumn:generated.column,originalLine:original!=null&&original.line,originalColumn:original!=null&&original.column,source:source,name:name})}\nSourceMapGenerator.prototype.setSourceContent=function SourceMapGenerator_setSourceContent(aSourceFile,aSourceContent){var source=aSourceFile\nthis._sourceRoot!=null&&(source=util.relative(this._sourceRoot,source))\nif(aSourceContent!=null){this._sourcesContents||(this._sourcesContents=Object.create(null))\nthis._sourcesContents[util.toSetString(source)]=aSourceContent}else if(this._sourcesContents){delete this._sourcesContents[util.toSetString(source)]\nObject.keys(this._sourcesContents).length===0&&(this._sourcesContents=null)}}\nSourceMapGenerator.prototype.applySourceMap=function SourceMapGenerator_applySourceMap(aSourceMapConsumer,aSourceFile,aSourceMapPath){var sourceFile=aSourceFile\nif(aSourceFile==null){if(aSourceMapConsumer.file==null)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\'s \"file\" property. Both were omitted.')\nsourceFile=aSourceMapConsumer.file}var sourceRoot=this._sourceRoot\nsourceRoot!=null&&(sourceFile=util.relative(sourceRoot,sourceFile))\nvar newSources=new ArraySet\nvar newNames=new ArraySet\nthis._mappings.unsortedForEach((function(mapping){if(mapping.source===sourceFile&&mapping.originalLine!=null){var original=aSourceMapConsumer.originalPositionFor({line:mapping.originalLine,column:mapping.originalColumn})\nif(original.source!=null){mapping.source=original.source\naSourceMapPath!=null&&(mapping.source=util.join(aSourceMapPath,mapping.source))\nsourceRoot!=null&&(mapping.source=util.relative(sourceRoot,mapping.source))\nmapping.originalLine=original.line\nmapping.originalColumn=original.column\noriginal.name!=null&&(mapping.name=original.name)}}var source=mapping.source\nsource==null||newSources.has(source)||newSources.add(source)\nvar name=mapping.name\nname==null||newNames.has(name)||newNames.add(name)}),this)\nthis._sources=newSources\nthis._names=newNames\naSourceMapConsumer.sources.forEach((function(sourceFile){var content=aSourceMapConsumer.sourceContentFor(sourceFile)\nif(content!=null){aSourceMapPath!=null&&(sourceFile=util.join(aSourceMapPath,sourceFile))\nsourceRoot!=null&&(sourceFile=util.relative(sourceRoot,sourceFile))\nthis.setSourceContent(sourceFile,content)}}),this)}\nSourceMapGenerator.prototype._validateMapping=function SourceMapGenerator_validateMapping(aGenerated,aOriginal,aSource,aName){if(aOriginal&&typeof aOriginal.line!==\"number\"&&typeof aOriginal.column!==\"number\"){var message=\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\"\nif(this._ignoreInvalidMapping){typeof console!==\"undefined\"&&console.warn&&console.warn(message)\nreturn false}throw new Error(message)}if(aGenerated&&\"line\"in aGenerated&&\"column\"in aGenerated&&aGenerated.line>0&&aGenerated.column>=0&&!aOriginal&&!aSource&&!aName)return\nif(aGenerated&&\"line\"in aGenerated&&\"column\"in aGenerated&&aOriginal&&\"line\"in aOriginal&&\"column\"in aOriginal&&aGenerated.line>0&&aGenerated.column>=0&&aOriginal.line>0&&aOriginal.column>=0&&aSource)return\nvar message=\"Invalid mapping: \"+JSON.stringify({generated:aGenerated,source:aSource,original:aOriginal,name:aName})\nif(this._ignoreInvalidMapping){typeof console!==\"undefined\"&&console.warn&&console.warn(message)\nreturn false}throw new Error(message)}\nSourceMapGenerator.prototype._serializeMappings=function SourceMapGenerator_serializeMappings(){var previousGeneratedColumn=0\nvar previousGeneratedLine=1\nvar previousOriginalColumn=0\nvar previousOriginalLine=0\nvar previousName=0\nvar previousSource=0\nvar result=\"\"\nvar next\nvar mapping\nvar nameIdx\nvar sourceIdx\nvar mappings=this._mappings.toArray()\nfor(var i=0,len=mappings.length;i<len;i++){mapping=mappings[i]\nnext=\"\"\nif(mapping.generatedLine!==previousGeneratedLine){previousGeneratedColumn=0\nwhile(mapping.generatedLine!==previousGeneratedLine){next+=\";\"\npreviousGeneratedLine++}}else if(i>0){if(!util.compareByGeneratedPositionsInflated(mapping,mappings[i-1]))continue\nnext+=\",\"}next+=base64VLQ.encode(mapping.generatedColumn-previousGeneratedColumn)\npreviousGeneratedColumn=mapping.generatedColumn\nif(mapping.source!=null){sourceIdx=this._sources.indexOf(mapping.source)\nnext+=base64VLQ.encode(sourceIdx-previousSource)\npreviousSource=sourceIdx\nnext+=base64VLQ.encode(mapping.originalLine-1-previousOriginalLine)\npreviousOriginalLine=mapping.originalLine-1\nnext+=base64VLQ.encode(mapping.originalColumn-previousOriginalColumn)\npreviousOriginalColumn=mapping.originalColumn\nif(mapping.name!=null){nameIdx=this._names.indexOf(mapping.name)\nnext+=base64VLQ.encode(nameIdx-previousName)\npreviousName=nameIdx}}result+=next}return result}\nSourceMapGenerator.prototype._generateSourcesContent=function SourceMapGenerator_generateSourcesContent(aSources,aSourceRoot){return aSources.map((function(source){if(!this._sourcesContents)return null\naSourceRoot!=null&&(source=util.relative(aSourceRoot,source))\nvar key=util.toSetString(source)\nreturn Object.prototype.hasOwnProperty.call(this._sourcesContents,key)?this._sourcesContents[key]:null}),this)}\nSourceMapGenerator.prototype.toJSON=function SourceMapGenerator_toJSON(){var map={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()}\nthis._file!=null&&(map.file=this._file)\nthis._sourceRoot!=null&&(map.sourceRoot=this._sourceRoot)\nthis._sourcesContents&&(map.sourcesContent=this._generateSourcesContent(map.sources,map.sourceRoot))\nreturn map}\nSourceMapGenerator.prototype.toString=function SourceMapGenerator_toString(){return JSON.stringify(this.toJSON())}\nvar SourceMapGenerator_1=SourceMapGenerator\nconst trackNodes$1=new Set([\"Atrule\",\"Selector\",\"Declaration\"])\nfunction generateSourceMap$1(handlers){const map=new SourceMapGenerator_1\nconst generated={line:1,column:0}\nconst original={line:0,column:0}\nconst activatedGenerated={line:1,column:0}\nconst activatedMapping={generated:activatedGenerated}\nlet line=1\nlet column=0\nlet sourceMappingActive=false\nconst origHandlersNode=handlers.node\nhandlers.node=function(node){if(node.loc&&node.loc.start&&trackNodes$1.has(node.type)){const nodeLine=node.loc.start.line\nconst nodeColumn=node.loc.start.column-1\nif(original.line!==nodeLine||original.column!==nodeColumn){original.line=nodeLine\noriginal.column=nodeColumn\ngenerated.line=line\ngenerated.column=column\nif(sourceMappingActive){sourceMappingActive=false\ngenerated.line===activatedGenerated.line&&generated.column===activatedGenerated.column||map.addMapping(activatedMapping)}sourceMappingActive=true\nmap.addMapping({source:node.loc.source,original:original,generated:generated})}}origHandlersNode.call(this,node)\nif(sourceMappingActive&&trackNodes$1.has(node.type)){activatedGenerated.line=line\nactivatedGenerated.column=column}}\nconst origHandlersEmit=handlers.emit\nhandlers.emit=function(value,type,auto){for(let i=0;i<value.length;i++)if(value.charCodeAt(i)===10){line++\ncolumn=0}else column++\norigHandlersEmit(value,type,auto)}\nconst origHandlersResult=handlers.result\nhandlers.result=function(){sourceMappingActive&&map.addMapping(activatedMapping)\nreturn{css:origHandlersResult(),map:map}}\nreturn handlers}const PLUSSIGN$j=0x002B\nconst HYPHENMINUS$d=0x002D\nconst code$1=(type,value)=>{type===Delim$1&&(type=value)\nif(typeof type===\"string\"){const charCode=type.charCodeAt(0)\nreturn charCode>0x7F?0x8000:charCode<<8}return type}\nconst specPairs$1=[[Ident$1,Ident$1],[Ident$1,Function$3],[Ident$1,Url$4],[Ident$1,BadUrl$1],[Ident$1,\"-\"],[Ident$1,Number$5],[Ident$1,Percentage$3],[Ident$1,Dimension$3],[Ident$1,CDC$3],[Ident$1,LeftParenthesis$1],[AtKeyword$1,Ident$1],[AtKeyword$1,Function$3],[AtKeyword$1,Url$4],[AtKeyword$1,BadUrl$1],[AtKeyword$1,\"-\"],[AtKeyword$1,Number$5],[AtKeyword$1,Percentage$3],[AtKeyword$1,Dimension$3],[AtKeyword$1,CDC$3],[Hash$3,Ident$1],[Hash$3,Function$3],[Hash$3,Url$4],[Hash$3,BadUrl$1],[Hash$3,\"-\"],[Hash$3,Number$5],[Hash$3,Percentage$3],[Hash$3,Dimension$3],[Hash$3,CDC$3],[Dimension$3,Ident$1],[Dimension$3,Function$3],[Dimension$3,Url$4],[Dimension$3,BadUrl$1],[Dimension$3,\"-\"],[Dimension$3,Number$5],[Dimension$3,Percentage$3],[Dimension$3,Dimension$3],[Dimension$3,CDC$3],[\"#\",Ident$1],[\"#\",Function$3],[\"#\",Url$4],[\"#\",BadUrl$1],[\"#\",\"-\"],[\"#\",Number$5],[\"#\",Percentage$3],[\"#\",Dimension$3],[\"#\",CDC$3],[\"-\",Ident$1],[\"-\",Function$3],[\"-\",Url$4],[\"-\",BadUrl$1],[\"-\",\"-\"],[\"-\",Number$5],[\"-\",Percentage$3],[\"-\",Dimension$3],[\"-\",CDC$3],[Number$5,Ident$1],[Number$5,Function$3],[Number$5,Url$4],[Number$5,BadUrl$1],[Number$5,Number$5],[Number$5,Percentage$3],[Number$5,Dimension$3],[Number$5,\"%\"],[Number$5,CDC$3],[\"@\",Ident$1],[\"@\",Function$3],[\"@\",Url$4],[\"@\",BadUrl$1],[\"@\",\"-\"],[\"@\",CDC$3],[\".\",Number$5],[\".\",Percentage$3],[\".\",Dimension$3],[\"+\",Number$5],[\"+\",Percentage$3],[\"+\",Dimension$3],[\"/\",\"*\"]]\nconst safePairs$1=specPairs$1.concat([[Ident$1,Hash$3],[Dimension$3,Hash$3],[Hash$3,Hash$3],[AtKeyword$1,LeftParenthesis$1],[AtKeyword$1,String$4],[AtKeyword$1,Colon$1],[Percentage$3,Percentage$3],[Percentage$3,Dimension$3],[Percentage$3,Function$3],[Percentage$3,\"-\"],[RightParenthesis$1,Ident$1],[RightParenthesis$1,Function$3],[RightParenthesis$1,Percentage$3],[RightParenthesis$1,Dimension$3],[RightParenthesis$1,Hash$3],[RightParenthesis$1,\"-\"]])\nfunction createMap$1(pairs){const isWhiteSpaceRequired=new Set(pairs.map((([prev,next])=>code$1(prev)<<16|code$1(next))))\nreturn function(prevCode,type,value){const nextCode=code$1(type,value)\nconst nextCharCode=value.charCodeAt(0)\nconst emitWs=nextCharCode===HYPHENMINUS$d&&type!==Ident$1&&type!==Function$3&&type!==CDC$3||nextCharCode===PLUSSIGN$j?isWhiteSpaceRequired.has(prevCode<<16|nextCharCode<<8):isWhiteSpaceRequired.has(prevCode<<16|nextCode)\nemitWs&&this.emit(\" \",WhiteSpace$3,true)\nreturn nextCode}}const spec$1=createMap$1(specPairs$1)\nconst safe$1=createMap$1(safePairs$1)\nvar tokenBefore$1=Object.freeze({__proto__:null,safe:safe$1,spec:spec$1})\nconst REVERSESOLIDUS$1=0x005c\nfunction processChildren$1(node,delimeter){if(typeof delimeter===\"function\"){let prev=null\nnode.children.forEach((node=>{prev!==null&&delimeter.call(this,prev)\nthis.node(node)\nprev=node}))\nreturn}node.children.forEach(this.node,this)}function processChunk$1(chunk){tokenize$4(chunk,((type,start,end)=>{this.token(type,chunk.slice(start,end))}))}function createGenerator$1(config){const types=new Map\nfor(let[name,item]of Object.entries(config.node)){const fn=item.generate||item\ntypeof fn===\"function\"&&types.set(name,item.generate||item)}return function(node,options){let buffer=\"\"\nlet prevCode=0\nlet handlers={node(node){if(!types.has(node.type))throw new Error(\"Unknown node type: \"+node.type)\ntypes.get(node.type).call(publicApi,node)},tokenBefore:safe$1,token(type,value){prevCode=this.tokenBefore(prevCode,type,value)\nthis.emit(value,type,false)\ntype===Delim$1&&value.charCodeAt(0)===REVERSESOLIDUS$1&&this.emit(\"\\n\",WhiteSpace$3,true)},emit(value){buffer+=value},result:()=>buffer}\nif(options){typeof options.decorator===\"function\"&&(handlers=options.decorator(handlers))\noptions.sourceMap&&(handlers=generateSourceMap$1(handlers))\noptions.mode in tokenBefore$1&&(handlers.tokenBefore=tokenBefore$1[options.mode])}const publicApi={node:node=>handlers.node(node),children:processChildren$1,token:(type,value)=>handlers.token(type,value),tokenize:processChunk$1}\nhandlers.node(node)\nreturn handlers.result()}}function createConvertor$1(walk){return{fromPlainObject(ast){walk(ast,{enter(node){node.children&&node.children instanceof List$1===false&&(node.children=(new List$1).fromArray(node.children))}})\nreturn ast},toPlainObject(ast){walk(ast,{leave(node){node.children&&node.children instanceof List$1&&(node.children=node.children.toArray())}})\nreturn ast}}}const{hasOwnProperty:hasOwnProperty$b}=Object.prototype\nconst noop$5=function(){}\nfunction ensureFunction$3(value){return typeof value===\"function\"?value:noop$5}function invokeForType$1(fn,type){return function(node,item,list){node.type===type&&fn.call(this,node,item,list)}}function getWalkersFromStructure$1(name,nodeType){const structure=nodeType.structure\nconst walkers=[]\nfor(const key in structure){if(hasOwnProperty$b.call(structure,key)===false)continue\nlet fieldTypes=structure[key]\nconst walker={name:key,type:false,nullable:false}\nArray.isArray(fieldTypes)||(fieldTypes=[fieldTypes])\nfor(const fieldType of fieldTypes)fieldType===null?walker.nullable=true:typeof fieldType===\"string\"?walker.type=\"node\":Array.isArray(fieldType)&&(walker.type=\"list\")\nwalker.type&&walkers.push(walker)}if(walkers.length)return{context:nodeType.walkContext,fields:walkers}\nreturn null}function getTypesFromConfig$1(config){const types={}\nfor(const name in config.node)if(hasOwnProperty$b.call(config.node,name)){const nodeType=config.node[name]\nif(!nodeType.structure)throw new Error(\"Missed `structure` field in `\"+name+\"` node type definition\")\ntypes[name]=getWalkersFromStructure$1(name,nodeType)}return types}function createTypeIterator$1(config,reverse){const fields=config.fields.slice()\nconst contextName=config.context\nconst useContext=typeof contextName===\"string\"\nreverse&&fields.reverse()\nreturn function(node,context,walk,walkReducer){let prevContextValue\nif(useContext){prevContextValue=context[contextName]\ncontext[contextName]=node}for(const field of fields){const ref=node[field.name]\nif(!field.nullable||ref)if(field.type===\"list\"){const breakWalk=reverse?ref.reduceRight(walkReducer,false):ref.reduce(walkReducer,false)\nif(breakWalk)return true}else if(walk(ref))return true}useContext&&(context[contextName]=prevContextValue)}}function createFastTraveralMap$1({StyleSheet:StyleSheet,Atrule:Atrule,Rule:Rule,Block:Block,DeclarationList:DeclarationList}){return{Atrule:{StyleSheet:StyleSheet,Atrule:Atrule,Rule:Rule,Block:Block},Rule:{StyleSheet:StyleSheet,Atrule:Atrule,Rule:Rule,Block:Block},Declaration:{StyleSheet:StyleSheet,Atrule:Atrule,Rule:Rule,Block:Block,DeclarationList:DeclarationList}}}function createWalker$1(config){const types=getTypesFromConfig$1(config)\nconst iteratorsNatural={}\nconst iteratorsReverse={}\nconst breakWalk=Symbol(\"break-walk\")\nconst skipNode=Symbol(\"skip-node\")\nfor(const name in types)if(hasOwnProperty$b.call(types,name)&&types[name]!==null){iteratorsNatural[name]=createTypeIterator$1(types[name],false)\niteratorsReverse[name]=createTypeIterator$1(types[name],true)}const fastTraversalIteratorsNatural=createFastTraveralMap$1(iteratorsNatural)\nconst fastTraversalIteratorsReverse=createFastTraveralMap$1(iteratorsReverse)\nconst walk=function(root,options){function walkNode(node,item,list){const enterRet=enter.call(context,node,item,list)\nif(enterRet===breakWalk)return true\nif(enterRet===skipNode)return false\nif(iterators.hasOwnProperty(node.type)&&iterators[node.type](node,context,walkNode,walkReducer))return true\nif(leave.call(context,node,item,list)===breakWalk)return true\nreturn false}let enter=noop$5\nlet leave=noop$5\nlet iterators=iteratorsNatural\nlet walkReducer=(ret,data,item,list)=>ret||walkNode(data,item,list)\nconst context={break:breakWalk,skip:skipNode,root:root,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null}\nif(typeof options===\"function\")enter=options\nelse if(options){enter=ensureFunction$3(options.enter)\nleave=ensureFunction$3(options.leave)\noptions.reverse&&(iterators=iteratorsReverse)\nif(options.visit){if(fastTraversalIteratorsNatural.hasOwnProperty(options.visit))iterators=options.reverse?fastTraversalIteratorsReverse[options.visit]:fastTraversalIteratorsNatural[options.visit]\nelse if(!types.hasOwnProperty(options.visit))throw new Error(\"Bad value `\"+options.visit+\"` for `visit` option (should be: \"+Object.keys(types).sort().join(\", \")+\")\")\nenter=invokeForType$1(enter,options.visit)\nleave=invokeForType$1(leave,options.visit)}}if(enter===noop$5&&leave===noop$5)throw new Error(\"Neither `enter` nor `leave` walker handler is set or both aren't a function\")\nwalkNode(root)}\nwalk.break=breakWalk\nwalk.skip=skipNode\nwalk.find=function(ast,fn){let found=null\nwalk(ast,(function(node,item,list){if(fn.call(this,node,item,list)){found=node\nreturn breakWalk}}))\nreturn found}\nwalk.findLast=function(ast,fn){let found=null\nwalk(ast,{reverse:true,enter(node,item,list){if(fn.call(this,node,item,list)){found=node\nreturn breakWalk}}})\nreturn found}\nwalk.findAll=function(ast,fn){const found=[]\nwalk(ast,(function(node,item,list){fn.call(this,node,item,list)&&found.push(node)}))\nreturn found}\nreturn walk}function noop$4(value){return value}function generateMultiplier$1(multiplier){const{min:min,max:max,comma:comma}=multiplier\nif(min===0&&max===0)return comma?\"#?\":\"*\"\nif(min===0&&max===1)return\"?\"\nif(min===1&&max===0)return comma?\"#\":\"+\"\nif(min===1&&max===1)return\"\"\nreturn(comma?\"#\":\"\")+(min===max?\"{\"+min+\"}\":\"{\"+min+\",\"+(max!==0?max:\"\")+\"}\")}function generateTypeOpts$1(node){switch(node.type){case\"Range\":return\" [\"+(node.min===null?\"-∞\":node.min)+\",\"+(node.max===null?\"∞\":node.max)+\"]\"\ndefault:throw new Error(\"Unknown node type `\"+node.type+\"`\")}}function generateSequence$1(node,decorate,forceBraces,compact){const combinator=node.combinator===\" \"||compact?node.combinator:\" \"+node.combinator+\" \"\nconst result=node.terms.map((term=>internalGenerate$1(term,decorate,forceBraces,compact))).join(combinator)\nif(node.explicit||forceBraces)return(compact||result[0]===\",\"?\"[\":\"[ \")+result+(compact?\"]\":\" ]\")\nreturn result}function internalGenerate$1(node,decorate,forceBraces,compact){let result\nswitch(node.type){case\"Group\":result=generateSequence$1(node,decorate,forceBraces,compact)+(node.disallowEmpty?\"!\":\"\")\nbreak\ncase\"Multiplier\":return internalGenerate$1(node.term,decorate,forceBraces,compact)+decorate(generateMultiplier$1(node),node)\ncase\"Type\":result=\"<\"+node.name+(node.opts?decorate(generateTypeOpts$1(node.opts),node.opts):\"\")+\">\"\nbreak\ncase\"Property\":result=\"<'\"+node.name+\"'>\"\nbreak\ncase\"Keyword\":result=node.name\nbreak\ncase\"AtKeyword\":result=\"@\"+node.name\nbreak\ncase\"Function\":result=node.name+\"(\"\nbreak\ncase\"String\":case\"Token\":result=node.value\nbreak\ncase\"Comma\":result=\",\"\nbreak\ndefault:throw new Error(\"Unknown node type `\"+node.type+\"`\")}return decorate(result,node)}function generate$1u(node,options){let decorate=noop$4\nlet forceBraces=false\nlet compact=false\nif(typeof options===\"function\")decorate=options\nelse if(options){forceBraces=Boolean(options.forceBraces)\ncompact=Boolean(options.compact)\ntypeof options.decorate===\"function\"&&(decorate=options.decorate)}return internalGenerate$1(node,decorate,forceBraces,compact)}const defaultLoc$1={offset:0,line:1,column:1}\nfunction locateMismatch$1(matchResult,node){const tokens=matchResult.tokens\nconst longestMatch=matchResult.longestMatch\nconst mismatchNode=longestMatch<tokens.length&&tokens[longestMatch].node||null\nconst badNode=mismatchNode!==node?mismatchNode:null\nlet mismatchOffset=0\nlet mismatchLength=0\nlet entries=0\nlet css=\"\"\nlet start\nlet end\nfor(let i=0;i<tokens.length;i++){const token=tokens[i].value\nif(i===longestMatch){mismatchLength=token.length\nmismatchOffset=css.length}badNode!==null&&tokens[i].node===badNode&&(i<=longestMatch?entries++:entries=0)\ncss+=token}if(longestMatch===tokens.length||entries>1){start=fromLoc$1(badNode||node,\"end\")||buildLoc$1(defaultLoc$1,css)\nend=buildLoc$1(start)}else{start=fromLoc$1(badNode,\"start\")||buildLoc$1(fromLoc$1(node,\"start\")||defaultLoc$1,css.slice(0,mismatchOffset))\nend=fromLoc$1(badNode,\"end\")||buildLoc$1(start,css.substr(mismatchOffset,mismatchLength))}return{css:css,mismatchOffset:mismatchOffset,mismatchLength:mismatchLength,start:start,end:end}}function fromLoc$1(node,point){const value=node&&node.loc&&node.loc[point]\nif(value)return\"line\"in value?buildLoc$1(value):value\nreturn null}function buildLoc$1({offset:offset,line:line,column:column},extra){const loc={offset:offset,line:line,column:column}\nif(extra){const lines=extra.split(/\\n|\\r\\n?|\\f/)\nloc.offset+=extra.length\nloc.line+=lines.length-1\nloc.column=lines.length===1?loc.column+extra.length:lines.pop().length+1}return loc}const SyntaxReferenceError$1=function(type,referenceName){const error=createCustomError$1(\"SyntaxReferenceError\",type+(referenceName?\" `\"+referenceName+\"`\":\"\"))\nerror.reference=referenceName\nreturn error}\nconst SyntaxMatchError$1=function(message,syntax,node,matchResult){const error=createCustomError$1(\"SyntaxMatchError\",message)\nconst{css:css,mismatchOffset:mismatchOffset,mismatchLength:mismatchLength,start:start,end:end}=locateMismatch$1(matchResult,node)\nerror.rawMessage=message\nerror.syntax=syntax?generate$1u(syntax):\"<generic>\"\nerror.css=css\nerror.mismatchOffset=mismatchOffset\nerror.mismatchLength=mismatchLength\nerror.message=message+\"\\n syntax: \"+error.syntax+\"\\n value: \"+(css||\"<empty string>\")+\"\\n --------\"+new Array(error.mismatchOffset+1).join(\"-\")+\"^\"\nObject.assign(error,start)\nerror.loc={source:node&&node.loc&&node.loc.source||\"<unknown>\",start:start,end:end}\nreturn error}\nconst keywords$1=new Map\nconst properties$1=new Map\nconst HYPHENMINUS$c=45\nconst keyword$1=getKeywordDescriptor$1\nconst property$1=getPropertyDescriptor$1\nfunction isCustomProperty$1(str,offset){offset=offset||0\nreturn str.length-offset>=2&&str.charCodeAt(offset)===HYPHENMINUS$c&&str.charCodeAt(offset+1)===HYPHENMINUS$c}function getVendorPrefix$1(str,offset){offset=offset||0\nif(str.length-offset>=3&&str.charCodeAt(offset)===HYPHENMINUS$c&&str.charCodeAt(offset+1)!==HYPHENMINUS$c){const secondDashIndex=str.indexOf(\"-\",offset+2)\nif(secondDashIndex!==-1)return str.substring(offset,secondDashIndex+1)}return\"\"}function getKeywordDescriptor$1(keyword){if(keywords$1.has(keyword))return keywords$1.get(keyword)\nconst name=keyword.toLowerCase()\nlet descriptor=keywords$1.get(name)\nif(descriptor===void 0){const custom=isCustomProperty$1(name,0)\nconst vendor=custom?\"\":getVendorPrefix$1(name,0)\ndescriptor=Object.freeze({basename:name.substr(vendor.length),name:name,prefix:vendor,vendor:vendor,custom:custom})}keywords$1.set(keyword,descriptor)\nreturn descriptor}function getPropertyDescriptor$1(property){if(properties$1.has(property))return properties$1.get(property)\nlet name=property\nlet hack=property[0]\nhack===\"/\"?hack=property[1]===\"/\"?\"//\":\"/\":hack!==\"_\"&&hack!==\"*\"&&hack!==\"$\"&&hack!==\"#\"&&hack!==\"+\"&&hack!==\"&\"&&(hack=\"\")\nconst custom=isCustomProperty$1(name,hack.length)\nif(!custom){name=name.toLowerCase()\nif(properties$1.has(name)){const descriptor=properties$1.get(name)\nproperties$1.set(property,descriptor)\nreturn descriptor}}const vendor=custom?\"\":getVendorPrefix$1(name,hack.length)\nconst prefix=name.substr(0,hack.length+vendor.length)\nconst descriptor=Object.freeze({basename:name.substr(prefix.length),name:name.substr(hack.length),hack:hack,vendor:vendor,prefix:prefix,custom:custom})\nproperties$1.set(property,descriptor)\nreturn descriptor}const cssWideKeywords$1=[\"initial\",\"inherit\",\"unset\",\"revert\",\"revert-layer\"]\nconst PLUSSIGN$i=0x002B\nconst HYPHENMINUS$b=0x002D\nconst N$8=0x006E\nconst DISALLOW_SIGN$3=true\nconst ALLOW_SIGN$3=false\nfunction isDelim$3(token,code){return token!==null&&token.type===Delim$1&&token.value.charCodeAt(0)===code}function skipSC$1(token,offset,getNextToken){while(token!==null&&(token.type===WhiteSpace$3||token.type===Comment$3))token=getNextToken(++offset)\nreturn offset}function checkInteger$3(token,valueOffset,disallowSign,offset){if(!token)return 0\nconst code=token.value.charCodeAt(valueOffset)\nif(code===PLUSSIGN$i||code===HYPHENMINUS$b){if(disallowSign)return 0\nvalueOffset++}for(;valueOffset<token.value.length;valueOffset++)if(!isDigit$2(token.value.charCodeAt(valueOffset)))return 0\nreturn offset+1}function consumeB$3(token,offset_,getNextToken){let sign=false\nlet offset=skipSC$1(token,offset_,getNextToken)\ntoken=getNextToken(offset)\nif(token===null)return offset_\nif(token.type!==Number$5){if(!isDelim$3(token,PLUSSIGN$i)&&!isDelim$3(token,HYPHENMINUS$b))return offset_\nsign=true\noffset=skipSC$1(getNextToken(++offset),offset,getNextToken)\ntoken=getNextToken(offset)\nif(token===null||token.type!==Number$5)return 0}if(!sign){const code=token.value.charCodeAt(0)\nif(code!==PLUSSIGN$i&&code!==HYPHENMINUS$b)return 0}return checkInteger$3(token,sign?0:1,sign,offset)}function anPlusB$1(token,getNextToken){let offset=0\nif(!token)return 0\nif(token.type===Number$5)return checkInteger$3(token,0,ALLOW_SIGN$3,offset)\nif(token.type===Ident$1&&token.value.charCodeAt(0)===HYPHENMINUS$b){if(!cmpChar$1(token.value,1,N$8))return 0\nswitch(token.value.length){case 2:return consumeB$3(getNextToken(++offset),offset,getNextToken)\ncase 3:if(token.value.charCodeAt(2)!==HYPHENMINUS$b)return 0\noffset=skipSC$1(getNextToken(++offset),offset,getNextToken)\ntoken=getNextToken(offset)\nreturn checkInteger$3(token,0,DISALLOW_SIGN$3,offset)\ndefault:if(token.value.charCodeAt(2)!==HYPHENMINUS$b)return 0\nreturn checkInteger$3(token,3,DISALLOW_SIGN$3,offset)}}else if(token.type===Ident$1||isDelim$3(token,PLUSSIGN$i)&&getNextToken(offset+1).type===Ident$1){token.type!==Ident$1&&(token=getNextToken(++offset))\nif(token===null||!cmpChar$1(token.value,0,N$8))return 0\nswitch(token.value.length){case 1:return consumeB$3(getNextToken(++offset),offset,getNextToken)\ncase 2:if(token.value.charCodeAt(1)!==HYPHENMINUS$b)return 0\noffset=skipSC$1(getNextToken(++offset),offset,getNextToken)\ntoken=getNextToken(offset)\nreturn checkInteger$3(token,0,DISALLOW_SIGN$3,offset)\ndefault:if(token.value.charCodeAt(1)!==HYPHENMINUS$b)return 0\nreturn checkInteger$3(token,2,DISALLOW_SIGN$3,offset)}}else if(token.type===Dimension$3){let code=token.value.charCodeAt(0)\nlet sign=code===PLUSSIGN$i||code===HYPHENMINUS$b?1:0\nlet i=sign\nfor(;i<token.value.length;i++)if(!isDigit$2(token.value.charCodeAt(i)))break\nif(i===sign)return 0\nif(!cmpChar$1(token.value,i,N$8))return 0\nif(i+1===token.value.length)return consumeB$3(getNextToken(++offset),offset,getNextToken)\nif(token.value.charCodeAt(i+1)!==HYPHENMINUS$b)return 0\nif(i+2===token.value.length){offset=skipSC$1(getNextToken(++offset),offset,getNextToken)\ntoken=getNextToken(offset)\nreturn checkInteger$3(token,0,DISALLOW_SIGN$3,offset)}return checkInteger$3(token,i+2,DISALLOW_SIGN$3,offset)}return 0}const PLUSSIGN$h=0x002B\nconst HYPHENMINUS$a=0x002D\nconst QUESTIONMARK$5=0x003F\nconst U$3=0x0075\nfunction isDelim$2(token,code){return token!==null&&token.type===Delim$1&&token.value.charCodeAt(0)===code}function startsWith$3(token,code){return token.value.charCodeAt(0)===code}function hexSequence$1(token,offset,allowDash){let hexlen=0\nfor(let pos=offset;pos<token.value.length;pos++){const code=token.value.charCodeAt(pos)\nif(code===HYPHENMINUS$a&&allowDash&&hexlen!==0){hexSequence$1(token,offset+hexlen+1,false)\nreturn 6}if(!isHexDigit$1(code))return 0\nif(++hexlen>6)return 0}return hexlen}function withQuestionMarkSequence$1(consumed,length,getNextToken){if(!consumed)return 0\nwhile(isDelim$2(getNextToken(length),QUESTIONMARK$5)){if(++consumed>6)return 0\nlength++}return length}function urange$1(token,getNextToken){let length=0\nif(token===null||token.type!==Ident$1||!cmpChar$1(token.value,0,U$3))return 0\ntoken=getNextToken(++length)\nif(token===null)return 0\nif(isDelim$2(token,PLUSSIGN$h)){token=getNextToken(++length)\nif(token===null)return 0\nif(token.type===Ident$1)return withQuestionMarkSequence$1(hexSequence$1(token,0,true),++length,getNextToken)\nif(isDelim$2(token,QUESTIONMARK$5))return withQuestionMarkSequence$1(1,++length,getNextToken)\nreturn 0}if(token.type===Number$5){const consumedHexLength=hexSequence$1(token,1,true)\nif(consumedHexLength===0)return 0\ntoken=getNextToken(++length)\nif(token===null)return length\nif(token.type===Dimension$3||token.type===Number$5){if(!startsWith$3(token,HYPHENMINUS$a)||!hexSequence$1(token,1,false))return 0\nreturn length+1}return withQuestionMarkSequence$1(consumedHexLength,length,getNextToken)}if(token.type===Dimension$3)return withQuestionMarkSequence$1(hexSequence$1(token,1,true),++length,getNextToken)\nreturn 0}const calcFunctionNames$1=[\"calc(\",\"-moz-calc(\",\"-webkit-calc(\"]\nconst balancePair$2=new Map([[Function$3,RightParenthesis$1],[LeftParenthesis$1,RightParenthesis$1],[LeftSquareBracket$1,RightSquareBracket$1],[LeftCurlyBracket$1,RightCurlyBracket$1]])\nfunction charCodeAt$1(str,index){return index<str.length?str.charCodeAt(index):0}function eqStr$1(actual,expected){return cmpStr$1(actual,0,actual.length,expected)}function eqStrAny$1(actual,expected){for(let i=0;i<expected.length;i++)if(eqStr$1(actual,expected[i]))return true\nreturn false}function isPostfixIeHack$1(str,offset){if(offset!==str.length-2)return false\nreturn charCodeAt$1(str,offset)===0x005C&&isDigit$2(charCodeAt$1(str,offset+1))}function outOfRange$1(opts,value,numEnd){if(opts&&opts.type===\"Range\"){const num=Number(numEnd!==void 0&&numEnd!==value.length?value.substr(0,numEnd):value)\nif(isNaN(num))return true\nif(opts.min!==null&&num<opts.min&&typeof opts.min!==\"string\")return true\nif(opts.max!==null&&num>opts.max&&typeof opts.max!==\"string\")return true}return false}function consumeFunction$1(token,getNextToken){let balanceCloseType=0\nlet balanceStash=[]\nlet length=0\nscan:do{switch(token.type){case RightCurlyBracket$1:case RightParenthesis$1:case RightSquareBracket$1:if(token.type!==balanceCloseType)break scan\nbalanceCloseType=balanceStash.pop()\nif(balanceStash.length===0){length++\nbreak scan}break\ncase Function$3:case LeftParenthesis$1:case LeftSquareBracket$1:case LeftCurlyBracket$1:balanceStash.push(balanceCloseType)\nbalanceCloseType=balancePair$2.get(token.type)\nbreak}length++}while(token=getNextToken(length))\nreturn length}function calc$1(next){return function(token,getNextToken,opts){if(token===null)return 0\nif(token.type===Function$3&&eqStrAny$1(token.value,calcFunctionNames$1))return consumeFunction$1(token,getNextToken)\nreturn next(token,getNextToken,opts)}}function tokenType$1(expectedTokenType){return function(token){if(token===null||token.type!==expectedTokenType)return 0\nreturn 1}}function customIdent$1(token){if(token===null||token.type!==Ident$1)return 0\nconst name=token.value.toLowerCase()\nif(eqStrAny$1(name,cssWideKeywords$1))return 0\nif(eqStr$1(name,\"default\"))return 0\nreturn 1}function dashedIdent(token){if(token===null||token.type!==Ident$1)return 0\nif(charCodeAt$1(token.value,0)!==0x002D||charCodeAt$1(token.value,1)!==0x002D)return 0\nreturn 1}function customPropertyName$1(token){if(!dashedIdent(token))return 0\nif(token.value===\"--\")return 0\nreturn 1}function hexColor$1(token){if(token===null||token.type!==Hash$3)return 0\nconst length=token.value.length\nif(length!==4&&length!==5&&length!==7&&length!==9)return 0\nfor(let i=1;i<length;i++)if(!isHexDigit$1(charCodeAt$1(token.value,i)))return 0\nreturn 1}function idSelector$1(token){if(token===null||token.type!==Hash$3)return 0\nif(!isIdentifierStart$1(charCodeAt$1(token.value,1),charCodeAt$1(token.value,2),charCodeAt$1(token.value,3)))return 0\nreturn 1}function declarationValue$1(token,getNextToken){if(!token)return 0\nlet balanceCloseType=0\nlet balanceStash=[]\nlet length=0\nscan:do{switch(token.type){case BadString$1:case BadUrl$1:break scan\ncase RightCurlyBracket$1:case RightParenthesis$1:case RightSquareBracket$1:if(token.type!==balanceCloseType)break scan\nbalanceCloseType=balanceStash.pop()\nbreak\ncase Semicolon$1:if(balanceCloseType===0)break scan\nbreak\ncase Delim$1:if(balanceCloseType===0&&token.value===\"!\")break scan\nbreak\ncase Function$3:case LeftParenthesis$1:case LeftSquareBracket$1:case LeftCurlyBracket$1:balanceStash.push(balanceCloseType)\nbalanceCloseType=balancePair$2.get(token.type)\nbreak}length++}while(token=getNextToken(length))\nreturn length}function anyValue$1(token,getNextToken){if(!token)return 0\nlet balanceCloseType=0\nlet balanceStash=[]\nlet length=0\nscan:do{switch(token.type){case BadString$1:case BadUrl$1:break scan\ncase RightCurlyBracket$1:case RightParenthesis$1:case RightSquareBracket$1:if(token.type!==balanceCloseType)break scan\nbalanceCloseType=balanceStash.pop()\nbreak\ncase Function$3:case LeftParenthesis$1:case LeftSquareBracket$1:case LeftCurlyBracket$1:balanceStash.push(balanceCloseType)\nbalanceCloseType=balancePair$2.get(token.type)\nbreak}length++}while(token=getNextToken(length))\nreturn length}function dimension$1(type){type&&(type=new Set(type))\nreturn function(token,getNextToken,opts){if(token===null||token.type!==Dimension$3)return 0\nconst numberEnd=consumeNumber$2(token.value,0)\nif(type!==null){const reverseSolidusOffset=token.value.indexOf(\"\\\\\",numberEnd)\nconst unit=reverseSolidusOffset!==-1&&isPostfixIeHack$1(token.value,reverseSolidusOffset)?token.value.substring(numberEnd,reverseSolidusOffset):token.value.substr(numberEnd)\nif(type.has(unit.toLowerCase())===false)return 0}if(outOfRange$1(opts,token.value,numberEnd))return 0\nreturn 1}}function percentage$1(token,getNextToken,opts){if(token===null||token.type!==Percentage$3)return 0\nif(outOfRange$1(opts,token.value,token.value.length-1))return 0\nreturn 1}function zero$1(next){typeof next!==\"function\"&&(next=function(){return 0})\nreturn function(token,getNextToken,opts){if(token!==null&&token.type===Number$5&&Number(token.value)===0)return 1\nreturn next(token,getNextToken,opts)}}function number$1(token,getNextToken,opts){if(token===null)return 0\nconst numberEnd=consumeNumber$2(token.value,0)\nconst isNumber=numberEnd===token.value.length\nif(!isNumber&&!isPostfixIeHack$1(token.value,numberEnd))return 0\nif(outOfRange$1(opts,token.value,numberEnd))return 0\nreturn 1}function integer$1(token,getNextToken,opts){if(token===null||token.type!==Number$5)return 0\nlet i=charCodeAt$1(token.value,0)===0x002B||charCodeAt$1(token.value,0)===0x002D?1:0\nfor(;i<token.value.length;i++)if(!isDigit$2(charCodeAt$1(token.value,i)))return 0\nif(outOfRange$1(opts,token.value,i))return 0\nreturn 1}const tokenTypes={\"ident-token\":tokenType$1(Ident$1),\"function-token\":tokenType$1(Function$3),\"at-keyword-token\":tokenType$1(AtKeyword$1),\"hash-token\":tokenType$1(Hash$3),\"string-token\":tokenType$1(String$4),\"bad-string-token\":tokenType$1(BadString$1),\"url-token\":tokenType$1(Url$4),\"bad-url-token\":tokenType$1(BadUrl$1),\"delim-token\":tokenType$1(Delim$1),\"number-token\":tokenType$1(Number$5),\"percentage-token\":tokenType$1(Percentage$3),\"dimension-token\":tokenType$1(Dimension$3),\"whitespace-token\":tokenType$1(WhiteSpace$3),\"CDO-token\":tokenType$1(CDO$3),\"CDC-token\":tokenType$1(CDC$3),\"colon-token\":tokenType$1(Colon$1),\"semicolon-token\":tokenType$1(Semicolon$1),\"comma-token\":tokenType$1(Comma$1),\"[-token\":tokenType$1(LeftSquareBracket$1),\"]-token\":tokenType$1(RightSquareBracket$1),\"(-token\":tokenType$1(LeftParenthesis$1),\")-token\":tokenType$1(RightParenthesis$1),\"{-token\":tokenType$1(LeftCurlyBracket$1),\"}-token\":tokenType$1(RightCurlyBracket$1)}\nconst productionTypes={string:tokenType$1(String$4),ident:tokenType$1(Ident$1),percentage:calc$1(percentage$1),zero:zero$1(),number:calc$1(number$1),integer:calc$1(integer$1),\"custom-ident\":customIdent$1,\"dashed-ident\":dashedIdent,\"custom-property-name\":customPropertyName$1,\"hex-color\":hexColor$1,\"id-selector\":idSelector$1,\"an-plus-b\":anPlusB$1,urange:urange$1,\"declaration-value\":declarationValue$1,\"any-value\":anyValue$1}\nfunction createDemensionTypes(units){const{angle:angle,decibel:decibel,frequency:frequency,flex:flex,length:length,resolution:resolution,semitones:semitones,time:time}=units||{}\nreturn{dimension:calc$1(dimension$1(null)),angle:calc$1(dimension$1(angle)),decibel:calc$1(dimension$1(decibel)),frequency:calc$1(dimension$1(frequency)),flex:calc$1(dimension$1(flex)),length:calc$1(zero$1(dimension$1(length))),resolution:calc$1(dimension$1(resolution)),semitones:calc$1(dimension$1(semitones)),time:calc$1(dimension$1(time))}}function createGenericTypes(units){return{...tokenTypes,...productionTypes,...createDemensionTypes(units)}}const length=[\"cm\",\"mm\",\"q\",\"in\",\"pt\",\"pc\",\"px\",\"em\",\"rem\",\"ex\",\"rex\",\"cap\",\"rcap\",\"ch\",\"rch\",\"ic\",\"ric\",\"lh\",\"rlh\",\"vw\",\"svw\",\"lvw\",\"dvw\",\"vh\",\"svh\",\"lvh\",\"dvh\",\"vi\",\"svi\",\"lvi\",\"dvi\",\"vb\",\"svb\",\"lvb\",\"dvb\",\"vmin\",\"svmin\",\"lvmin\",\"dvmin\",\"vmax\",\"svmax\",\"lvmax\",\"dvmax\",\"cqw\",\"cqh\",\"cqi\",\"cqb\",\"cqmin\",\"cqmax\"]\nconst angle=[\"deg\",\"grad\",\"rad\",\"turn\"]\nconst time=[\"s\",\"ms\"]\nconst frequency=[\"hz\",\"khz\"]\nconst resolution=[\"dpi\",\"dpcm\",\"dppx\",\"x\"]\nconst flex=[\"fr\"]\nconst decibel=[\"db\"]\nconst semitones=[\"st\"]\nvar units=Object.freeze({__proto__:null,angle:angle,decibel:decibel,flex:flex,frequency:frequency,length:length,resolution:resolution,semitones:semitones,time:time})\nfunction SyntaxError$3(message,input,offset){return Object.assign(createCustomError$1(\"SyntaxError\",message),{input:input,offset:offset,rawMessage:message,message:message+\"\\n \"+input+\"\\n--\"+new Array((offset||input.length)+1).join(\"-\")+\"^\"})}const TAB$3=9\nconst N$7=10\nconst F$4=12\nconst R$4=13\nconst SPACE$7=32\nlet Tokenizer$1=class Tokenizer{constructor(str){this.str=str\nthis.pos=0}charCodeAt(pos){return pos<this.str.length?this.str.charCodeAt(pos):0}charCode(){return this.charCodeAt(this.pos)}nextCharCode(){return this.charCodeAt(this.pos+1)}nextNonWsCode(pos){return this.charCodeAt(this.findWsEnd(pos))}skipWs(){this.pos=this.findWsEnd(this.pos)}findWsEnd(pos){for(;pos<this.str.length;pos++){const code=this.str.charCodeAt(pos)\nif(code!==R$4&&code!==N$7&&code!==F$4&&code!==SPACE$7&&code!==TAB$3)break}return pos}substringToPos(end){return this.str.substring(this.pos,this.pos=end)}eat(code){this.charCode()!==code&&this.error(\"Expect `\"+String.fromCharCode(code)+\"`\")\nthis.pos++}peek(){return this.pos<this.str.length?this.str.charAt(this.pos++):\"\"}error(message){throw new SyntaxError$3(message,this.str,this.pos)}}\nconst TAB$2=9\nconst N$6=10\nconst F$3=12\nconst R$3=13\nconst SPACE$6=32\nconst EXCLAMATIONMARK$6=33\nconst NUMBERSIGN$8=35\nconst AMPERSAND$7=38\nconst APOSTROPHE$5=39\nconst LEFTPARENTHESIS$5=40\nconst RIGHTPARENTHESIS$5=41\nconst ASTERISK$d=42\nconst PLUSSIGN$g=43\nconst COMMA$1=44\nconst HYPERMINUS$1=45\nconst LESSTHANSIGN$2=60\nconst GREATERTHANSIGN$6=62\nconst QUESTIONMARK$4=63\nconst COMMERCIALAT$1=64\nconst LEFTSQUAREBRACKET$1=91\nconst RIGHTSQUAREBRACKET$1=93\nconst LEFTCURLYBRACKET$2=123\nconst VERTICALLINE$7=124\nconst RIGHTCURLYBRACKET$1=125\nconst INFINITY$1=8734\nconst NAME_CHAR$1=new Uint8Array(128).map(((_,idx)=>/[a-zA-Z0-9\\-]/.test(String.fromCharCode(idx))?1:0))\nconst COMBINATOR_PRECEDENCE$1={\" \":1,\"&&\":2,\"||\":3,\"|\":4}\nfunction scanSpaces$1(tokenizer){return tokenizer.substringToPos(tokenizer.findWsEnd(tokenizer.pos))}function scanWord$1(tokenizer){let end=tokenizer.pos\nfor(;end<tokenizer.str.length;end++){const code=tokenizer.str.charCodeAt(end)\nif(code>=128||NAME_CHAR$1[code]===0)break}tokenizer.pos===end&&tokenizer.error(\"Expect a keyword\")\nreturn tokenizer.substringToPos(end)}function scanNumber$1(tokenizer){let end=tokenizer.pos\nfor(;end<tokenizer.str.length;end++){const code=tokenizer.str.charCodeAt(end)\nif(code<48||code>57)break}tokenizer.pos===end&&tokenizer.error(\"Expect a number\")\nreturn tokenizer.substringToPos(end)}function scanString$1(tokenizer){const end=tokenizer.str.indexOf(\"'\",tokenizer.pos+1)\nif(end===-1){tokenizer.pos=tokenizer.str.length\ntokenizer.error(\"Expect an apostrophe\")}return tokenizer.substringToPos(end+1)}function readMultiplierRange$1(tokenizer){let min=null\nlet max=null\ntokenizer.eat(LEFTCURLYBRACKET$2)\ntokenizer.skipWs()\nmin=scanNumber$1(tokenizer)\ntokenizer.skipWs()\nif(tokenizer.charCode()===COMMA$1){tokenizer.pos++\ntokenizer.skipWs()\nif(tokenizer.charCode()!==RIGHTCURLYBRACKET$1){max=scanNumber$1(tokenizer)\ntokenizer.skipWs()}}else max=min\ntokenizer.eat(RIGHTCURLYBRACKET$1)\nreturn{min:Number(min),max:max?Number(max):0}}function readMultiplier$1(tokenizer){let range=null\nlet comma=false\nswitch(tokenizer.charCode()){case ASTERISK$d:tokenizer.pos++\nrange={min:0,max:0}\nbreak\ncase PLUSSIGN$g:tokenizer.pos++\nrange={min:1,max:0}\nbreak\ncase QUESTIONMARK$4:tokenizer.pos++\nrange={min:0,max:1}\nbreak\ncase NUMBERSIGN$8:tokenizer.pos++\ncomma=true\nif(tokenizer.charCode()===LEFTCURLYBRACKET$2)range=readMultiplierRange$1(tokenizer)\nelse if(tokenizer.charCode()===QUESTIONMARK$4){tokenizer.pos++\nrange={min:0,max:0}}else range={min:1,max:0}\nbreak\ncase LEFTCURLYBRACKET$2:range=readMultiplierRange$1(tokenizer)\nbreak\ndefault:return null}return{type:\"Multiplier\",comma:comma,min:range.min,max:range.max,term:null}}function maybeMultiplied$1(tokenizer,node){const multiplier=readMultiplier$1(tokenizer)\nif(multiplier!==null){multiplier.term=node\nif(tokenizer.charCode()===NUMBERSIGN$8&&tokenizer.charCodeAt(tokenizer.pos-1)===PLUSSIGN$g)return maybeMultiplied$1(tokenizer,multiplier)\nreturn multiplier}return node}function maybeToken$1(tokenizer){const ch=tokenizer.peek()\nif(ch===\"\")return null\nreturn{type:\"Token\",value:ch}}function readProperty$3(tokenizer){let name\ntokenizer.eat(LESSTHANSIGN$2)\ntokenizer.eat(APOSTROPHE$5)\nname=scanWord$1(tokenizer)\ntokenizer.eat(APOSTROPHE$5)\ntokenizer.eat(GREATERTHANSIGN$6)\nreturn maybeMultiplied$1(tokenizer,{type:\"Property\",name:name})}function readTypeRange$1(tokenizer){let min=null\nlet max=null\nlet sign=1\ntokenizer.eat(LEFTSQUAREBRACKET$1)\nif(tokenizer.charCode()===HYPERMINUS$1){tokenizer.peek()\nsign=-1}if(sign==-1&&tokenizer.charCode()===INFINITY$1)tokenizer.peek()\nelse{min=sign*Number(scanNumber$1(tokenizer))\nNAME_CHAR$1[tokenizer.charCode()]!==0&&(min+=scanWord$1(tokenizer))}scanSpaces$1(tokenizer)\ntokenizer.eat(COMMA$1)\nscanSpaces$1(tokenizer)\nif(tokenizer.charCode()===INFINITY$1)tokenizer.peek()\nelse{sign=1\nif(tokenizer.charCode()===HYPERMINUS$1){tokenizer.peek()\nsign=-1}max=sign*Number(scanNumber$1(tokenizer))\nNAME_CHAR$1[tokenizer.charCode()]!==0&&(max+=scanWord$1(tokenizer))}tokenizer.eat(RIGHTSQUAREBRACKET$1)\nreturn{type:\"Range\",min:min,max:max}}function readType$1(tokenizer){let name\nlet opts=null\ntokenizer.eat(LESSTHANSIGN$2)\nname=scanWord$1(tokenizer)\nif(tokenizer.charCode()===LEFTPARENTHESIS$5&&tokenizer.nextCharCode()===RIGHTPARENTHESIS$5){tokenizer.pos+=2\nname+=\"()\"}if(tokenizer.charCodeAt(tokenizer.findWsEnd(tokenizer.pos))===LEFTSQUAREBRACKET$1){scanSpaces$1(tokenizer)\nopts=readTypeRange$1(tokenizer)}tokenizer.eat(GREATERTHANSIGN$6)\nreturn maybeMultiplied$1(tokenizer,{type:\"Type\",name:name,opts:opts})}function readKeywordOrFunction$1(tokenizer){const name=scanWord$1(tokenizer)\nif(tokenizer.charCode()===LEFTPARENTHESIS$5){tokenizer.pos++\nreturn{type:\"Function\",name:name}}return maybeMultiplied$1(tokenizer,{type:\"Keyword\",name:name})}function regroupTerms$1(terms,combinators){function createGroup(terms,combinator){return{type:\"Group\",terms:terms,combinator:combinator,disallowEmpty:false,explicit:false}}let combinator\ncombinators=Object.keys(combinators).sort(((a,b)=>COMBINATOR_PRECEDENCE$1[a]-COMBINATOR_PRECEDENCE$1[b]))\nwhile(combinators.length>0){combinator=combinators.shift()\nlet i=0\nlet subgroupStart=0\nfor(;i<terms.length;i++){const term=terms[i]\nif(term.type===\"Combinator\")if(term.value===combinator){subgroupStart===-1&&(subgroupStart=i-1)\nterms.splice(i,1)\ni--}else{if(subgroupStart!==-1&&i-subgroupStart>1){terms.splice(subgroupStart,i-subgroupStart,createGroup(terms.slice(subgroupStart,i),combinator))\ni=subgroupStart+1}subgroupStart=-1}}subgroupStart!==-1&&combinators.length&&terms.splice(subgroupStart,i-subgroupStart,createGroup(terms.slice(subgroupStart,i),combinator))}return combinator}function readImplicitGroup$1(tokenizer){const terms=[]\nconst combinators={}\nlet token\nlet prevToken=null\nlet prevTokenPos=tokenizer.pos\nwhile(token=peek$1(tokenizer))if(token.type!==\"Spaces\"){if(token.type===\"Combinator\"){if(prevToken===null||prevToken.type===\"Combinator\"){tokenizer.pos=prevTokenPos\ntokenizer.error(\"Unexpected combinator\")}combinators[token.value]=true}else if(prevToken!==null&&prevToken.type!==\"Combinator\"){combinators[\" \"]=true\nterms.push({type:\"Combinator\",value:\" \"})}terms.push(token)\nprevToken=token\nprevTokenPos=tokenizer.pos}if(prevToken!==null&&prevToken.type===\"Combinator\"){tokenizer.pos-=prevTokenPos\ntokenizer.error(\"Unexpected combinator\")}return{type:\"Group\",terms:terms,combinator:regroupTerms$1(terms,combinators)||\" \",disallowEmpty:false,explicit:false}}function readGroup$1(tokenizer){let result\ntokenizer.eat(LEFTSQUAREBRACKET$1)\nresult=readImplicitGroup$1(tokenizer)\ntokenizer.eat(RIGHTSQUAREBRACKET$1)\nresult.explicit=true\nif(tokenizer.charCode()===EXCLAMATIONMARK$6){tokenizer.pos++\nresult.disallowEmpty=true}return result}function peek$1(tokenizer){let code=tokenizer.charCode()\nif(code<128&&NAME_CHAR$1[code]===1)return readKeywordOrFunction$1(tokenizer)\nswitch(code){case RIGHTSQUAREBRACKET$1:break\ncase LEFTSQUAREBRACKET$1:return maybeMultiplied$1(tokenizer,readGroup$1(tokenizer))\ncase LESSTHANSIGN$2:return tokenizer.nextCharCode()===APOSTROPHE$5?readProperty$3(tokenizer):readType$1(tokenizer)\ncase VERTICALLINE$7:return{type:\"Combinator\",value:tokenizer.substringToPos(tokenizer.pos+(tokenizer.nextCharCode()===VERTICALLINE$7?2:1))}\ncase AMPERSAND$7:tokenizer.pos++\ntokenizer.eat(AMPERSAND$7)\nreturn{type:\"Combinator\",value:\"&&\"}\ncase COMMA$1:tokenizer.pos++\nreturn{type:\"Comma\"}\ncase APOSTROPHE$5:return maybeMultiplied$1(tokenizer,{type:\"String\",value:scanString$1(tokenizer)})\ncase SPACE$6:case TAB$2:case N$6:case R$3:case F$3:return{type:\"Spaces\",value:scanSpaces$1(tokenizer)}\ncase COMMERCIALAT$1:code=tokenizer.nextCharCode()\nif(code<128&&NAME_CHAR$1[code]===1){tokenizer.pos++\nreturn{type:\"AtKeyword\",name:scanWord$1(tokenizer)}}return maybeToken$1(tokenizer)\ncase ASTERISK$d:case PLUSSIGN$g:case QUESTIONMARK$4:case NUMBERSIGN$8:case EXCLAMATIONMARK$6:break\ncase LEFTCURLYBRACKET$2:code=tokenizer.nextCharCode()\nif(code<48||code>57)return maybeToken$1(tokenizer)\nbreak\ndefault:return maybeToken$1(tokenizer)}}function parse$1u(source){const tokenizer=new Tokenizer$1(source)\nconst result=readImplicitGroup$1(tokenizer)\ntokenizer.pos!==source.length&&tokenizer.error(\"Unexpected input\")\nif(result.terms.length===1&&result.terms[0].type===\"Group\")return result.terms[0]\nreturn result}const noop$3=function(){}\nfunction ensureFunction$2(value){return typeof value===\"function\"?value:noop$3}function walk$4(node,options,context){function walk(node){enter.call(context,node)\nswitch(node.type){case\"Group\":node.terms.forEach(walk)\nbreak\ncase\"Multiplier\":walk(node.term)\nbreak\ncase\"Type\":case\"Property\":case\"Keyword\":case\"AtKeyword\":case\"Function\":case\"String\":case\"Token\":case\"Comma\":break\ndefault:throw new Error(\"Unknown type: \"+node.type)}leave.call(context,node)}let enter=noop$3\nlet leave=noop$3\nif(typeof options===\"function\")enter=options\nelse if(options){enter=ensureFunction$2(options.enter)\nleave=ensureFunction$2(options.leave)}if(enter===noop$3&&leave===noop$3)throw new Error(\"Neither `enter` nor `leave` walker handler is set or both aren't a function\")\nwalk(node)}const astToTokens$1={decorator(handlers){const tokens=[]\nlet curNode=null\nreturn{...handlers,node(node){const tmp=curNode\ncurNode=node\nhandlers.node.call(this,node)\ncurNode=tmp},emit(value,type,auto){tokens.push({type:type,value:value,node:auto?null:curNode})},result:()=>tokens}}}\nfunction stringToTokens$1(str){const tokens=[]\ntokenize$4(str,((type,start,end)=>tokens.push({type:type,value:str.slice(start,end),node:null})))\nreturn tokens}function prepareTokens$1(value,syntax){if(typeof value===\"string\")return stringToTokens$1(value)\nreturn syntax.generate(value,astToTokens$1)}const MATCH$1={type:\"Match\"}\nconst MISMATCH$1={type:\"Mismatch\"}\nconst DISALLOW_EMPTY$1={type:\"DisallowEmpty\"}\nconst LEFTPARENTHESIS$4=40\nconst RIGHTPARENTHESIS$4=41\nfunction createCondition$1(match,thenBranch,elseBranch){if(thenBranch===MATCH$1&&elseBranch===MISMATCH$1)return match\nif(match===MATCH$1&&thenBranch===MATCH$1&&elseBranch===MATCH$1)return match\nif(match.type===\"If\"&&match.else===MISMATCH$1&&thenBranch===MATCH$1){thenBranch=match.then\nmatch=match.match}return{type:\"If\",match:match,then:thenBranch,else:elseBranch}}function isFunctionType$1(name){return name.length>2&&name.charCodeAt(name.length-2)===LEFTPARENTHESIS$4&&name.charCodeAt(name.length-1)===RIGHTPARENTHESIS$4}function isEnumCapatible$1(term){return term.type===\"Keyword\"||term.type===\"AtKeyword\"||term.type===\"Function\"||term.type===\"Type\"&&isFunctionType$1(term.name)}function buildGroupMatchGraph$1(combinator,terms,atLeastOneTermMatched){switch(combinator){case\" \":{let result=MATCH$1\nfor(let i=terms.length-1;i>=0;i--){const term=terms[i]\nresult=createCondition$1(term,result,MISMATCH$1)}return result}case\"|\":{let result=MISMATCH$1\nlet map=null\nfor(let i=terms.length-1;i>=0;i--){let term=terms[i]\nif(isEnumCapatible$1(term)){if(map===null&&i>0&&isEnumCapatible$1(terms[i-1])){map=Object.create(null)\nresult=createCondition$1({type:\"Enum\",map:map},MATCH$1,result)}if(map!==null){const key=(isFunctionType$1(term.name)?term.name.slice(0,-1):term.name).toLowerCase()\nif(key in map===false){map[key]=term\ncontinue}}}map=null\nresult=createCondition$1(term,MATCH$1,result)}return result}case\"&&\":{if(terms.length>5)return{type:\"MatchOnce\",terms:terms,all:true}\nlet result=MISMATCH$1\nfor(let i=terms.length-1;i>=0;i--){const term=terms[i]\nlet thenClause\nthenClause=terms.length>1?buildGroupMatchGraph$1(combinator,terms.filter((function(newGroupTerm){return newGroupTerm!==term})),false):MATCH$1\nresult=createCondition$1(term,thenClause,result)}return result}case\"||\":{if(terms.length>5)return{type:\"MatchOnce\",terms:terms,all:false}\nlet result=atLeastOneTermMatched?MATCH$1:MISMATCH$1\nfor(let i=terms.length-1;i>=0;i--){const term=terms[i]\nlet thenClause\nthenClause=terms.length>1?buildGroupMatchGraph$1(combinator,terms.filter((function(newGroupTerm){return newGroupTerm!==term})),true):MATCH$1\nresult=createCondition$1(term,thenClause,result)}return result}}}function buildMultiplierMatchGraph$1(node){let result=MATCH$1\nlet matchTerm=buildMatchGraphInternal$1(node.term)\nif(node.max===0){matchTerm=createCondition$1(matchTerm,DISALLOW_EMPTY$1,MISMATCH$1)\nresult=createCondition$1(matchTerm,null,MISMATCH$1)\nresult.then=createCondition$1(MATCH$1,MATCH$1,result)\nnode.comma&&(result.then.else=createCondition$1({type:\"Comma\",syntax:node},result,MISMATCH$1))}else for(let i=node.min||1;i<=node.max;i++){node.comma&&result!==MATCH$1&&(result=createCondition$1({type:\"Comma\",syntax:node},result,MISMATCH$1))\nresult=createCondition$1(matchTerm,createCondition$1(MATCH$1,MATCH$1,result),MISMATCH$1)}if(node.min===0)result=createCondition$1(MATCH$1,MATCH$1,result)\nelse for(let i=0;i<node.min-1;i++){node.comma&&result!==MATCH$1&&(result=createCondition$1({type:\"Comma\",syntax:node},result,MISMATCH$1))\nresult=createCondition$1(matchTerm,result,MISMATCH$1)}return result}function buildMatchGraphInternal$1(node){if(typeof node===\"function\")return{type:\"Generic\",fn:node}\nswitch(node.type){case\"Group\":{let result=buildGroupMatchGraph$1(node.combinator,node.terms.map(buildMatchGraphInternal$1),false)\nnode.disallowEmpty&&(result=createCondition$1(result,DISALLOW_EMPTY$1,MISMATCH$1))\nreturn result}case\"Multiplier\":return buildMultiplierMatchGraph$1(node)\ncase\"Type\":case\"Property\":return{type:node.type,name:node.name,syntax:node}\ncase\"Keyword\":return{type:node.type,name:node.name.toLowerCase(),syntax:node}\ncase\"AtKeyword\":return{type:node.type,name:\"@\"+node.name.toLowerCase(),syntax:node}\ncase\"Function\":return{type:node.type,name:node.name.toLowerCase()+\"(\",syntax:node}\ncase\"String\":if(node.value.length===3)return{type:\"Token\",value:node.value.charAt(1),syntax:node}\nreturn{type:node.type,value:node.value.substr(1,node.value.length-2).replace(/\\\\'/g,\"'\"),syntax:node}\ncase\"Token\":return{type:node.type,value:node.value,syntax:node}\ncase\"Comma\":return{type:node.type,syntax:node}\ndefault:throw new Error(\"Unknown node type:\",node.type)}}function buildMatchGraph$1(syntaxTree,ref){typeof syntaxTree===\"string\"&&(syntaxTree=parse$1u(syntaxTree))\nreturn{type:\"MatchGraph\",match:buildMatchGraphInternal$1(syntaxTree),syntax:ref||null,source:syntaxTree}}const{hasOwnProperty:hasOwnProperty$a}=Object.prototype\nconst STUB$1=0\nconst TOKEN$1=1\nconst OPEN_SYNTAX$1=2\nconst CLOSE_SYNTAX$1=3\nconst EXIT_REASON_MATCH$1=\"Match\"\nconst EXIT_REASON_MISMATCH$1=\"Mismatch\"\nconst EXIT_REASON_ITERATION_LIMIT$1=\"Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)\"\nconst ITERATION_LIMIT$1=15000\nfunction reverseList$1(list){let prev=null\nlet next=null\nlet item=list\nwhile(item!==null){next=item.prev\nitem.prev=prev\nprev=item\nitem=next}return prev}function areStringsEqualCaseInsensitive$1(testStr,referenceStr){if(testStr.length!==referenceStr.length)return false\nfor(let i=0;i<testStr.length;i++){const referenceCode=referenceStr.charCodeAt(i)\nlet testCode=testStr.charCodeAt(i)\ntestCode>=0x0041&&testCode<=0x005A&&(testCode|=32)\nif(testCode!==referenceCode)return false}return true}function isContextEdgeDelim$1(token){if(token.type!==Delim$1)return false\nreturn token.value!==\"?\"}function isCommaContextStart$1(token){if(token===null)return true\nreturn token.type===Comma$1||token.type===Function$3||token.type===LeftParenthesis$1||token.type===LeftSquareBracket$1||token.type===LeftCurlyBracket$1||isContextEdgeDelim$1(token)}function isCommaContextEnd$1(token){if(token===null)return true\nreturn token.type===RightParenthesis$1||token.type===RightSquareBracket$1||token.type===RightCurlyBracket$1||token.type===Delim$1&&token.value===\"/\"}function internalMatch$1(tokens,state,syntaxes){function moveToNextToken(){do{tokenIndex++\ntoken=tokenIndex<tokens.length?tokens[tokenIndex]:null}while(token!==null&&(token.type===WhiteSpace$3||token.type===Comment$3))}function getNextToken(offset){const nextIndex=tokenIndex+offset\nreturn nextIndex<tokens.length?tokens[nextIndex]:null}function stateSnapshotFromSyntax(nextState,prev){return{nextState:nextState,matchStack:matchStack,syntaxStack:syntaxStack,thenStack:thenStack,tokenIndex:tokenIndex,prev:prev}}function pushThenStack(nextState){thenStack={nextState:nextState,matchStack:matchStack,syntaxStack:syntaxStack,prev:thenStack}}function pushElseStack(nextState){elseStack=stateSnapshotFromSyntax(nextState,elseStack)}function addTokenToMatch(){matchStack={type:TOKEN$1,syntax:state.syntax,token:token,prev:matchStack}\nmoveToNextToken()\nsyntaxStash=null\ntokenIndex>longestMatch&&(longestMatch=tokenIndex)}function openSyntax(){syntaxStack={syntax:state.syntax,opts:state.syntax.opts||syntaxStack!==null&&syntaxStack.opts||null,prev:syntaxStack}\nmatchStack={type:OPEN_SYNTAX$1,syntax:state.syntax,token:matchStack.token,prev:matchStack}}function closeSyntax(){matchStack=matchStack.type===OPEN_SYNTAX$1?matchStack.prev:{type:CLOSE_SYNTAX$1,syntax:syntaxStack.syntax,token:matchStack.token,prev:matchStack}\nsyntaxStack=syntaxStack.prev}let syntaxStack=null\nlet thenStack=null\nlet elseStack=null\nlet syntaxStash=null\nlet iterationCount=0\nlet exitReason=null\nlet token=null\nlet tokenIndex=-1\nlet longestMatch=0\nlet matchStack={type:STUB$1,syntax:null,token:null,prev:null}\nmoveToNextToken()\nwhile(exitReason===null&&++iterationCount<ITERATION_LIMIT$1)switch(state.type){case\"Match\":if(thenStack===null){if(token!==null&&(tokenIndex!==tokens.length-1||token.value!==\"\\\\0\"&&token.value!==\"\\\\9\")){state=MISMATCH$1\nbreak}exitReason=EXIT_REASON_MATCH$1\nbreak}state=thenStack.nextState\nif(state===DISALLOW_EMPTY$1){if(thenStack.matchStack===matchStack){state=MISMATCH$1\nbreak}state=MATCH$1}while(thenStack.syntaxStack!==syntaxStack)closeSyntax()\nthenStack=thenStack.prev\nbreak\ncase\"Mismatch\":if(syntaxStash!==null&&syntaxStash!==false){if(elseStack===null||tokenIndex>elseStack.tokenIndex){elseStack=syntaxStash\nsyntaxStash=false}}else if(elseStack===null){exitReason=EXIT_REASON_MISMATCH$1\nbreak}state=elseStack.nextState\nthenStack=elseStack.thenStack\nsyntaxStack=elseStack.syntaxStack\nmatchStack=elseStack.matchStack\ntokenIndex=elseStack.tokenIndex\ntoken=tokenIndex<tokens.length?tokens[tokenIndex]:null\nelseStack=elseStack.prev\nbreak\ncase\"MatchGraph\":state=state.match\nbreak\ncase\"If\":state.else!==MISMATCH$1&&pushElseStack(state.else)\nstate.then!==MATCH$1&&pushThenStack(state.then)\nstate=state.match\nbreak\ncase\"MatchOnce\":state={type:\"MatchOnceBuffer\",syntax:state,index:0,mask:0}\nbreak\ncase\"MatchOnceBuffer\":{const terms=state.syntax.terms\nif(state.index===terms.length){if(state.mask===0||state.syntax.all){state=MISMATCH$1\nbreak}state=MATCH$1\nbreak}if(state.mask===(1<<terms.length)-1){state=MATCH$1\nbreak}for(;state.index<terms.length;state.index++){const matchFlag=1<<state.index\nif((state.mask&matchFlag)===0){pushElseStack(state)\npushThenStack({type:\"AddMatchOnce\",syntax:state.syntax,mask:state.mask|matchFlag})\nstate=terms[state.index++]\nbreak}}break}case\"AddMatchOnce\":state={type:\"MatchOnceBuffer\",syntax:state.syntax,index:0,mask:state.mask}\nbreak\ncase\"Enum\":if(token!==null){let name=token.value.toLowerCase()\nname.indexOf(\"\\\\\")!==-1&&(name=name.replace(/\\\\[09].*$/,\"\"))\nif(hasOwnProperty$a.call(state.map,name)){state=state.map[name]\nbreak}}state=MISMATCH$1\nbreak\ncase\"Generic\":{const opts=syntaxStack!==null?syntaxStack.opts:null\nconst lastTokenIndex=tokenIndex+Math.floor(state.fn(token,getNextToken,opts))\nif(!isNaN(lastTokenIndex)&&lastTokenIndex>tokenIndex){while(tokenIndex<lastTokenIndex)addTokenToMatch()\nstate=MATCH$1}else state=MISMATCH$1\nbreak}case\"Type\":case\"Property\":{const syntaxDict=state.type===\"Type\"?\"types\":\"properties\"\nconst dictSyntax=hasOwnProperty$a.call(syntaxes,syntaxDict)?syntaxes[syntaxDict][state.name]:null\nif(!dictSyntax||!dictSyntax.match)throw new Error(\"Bad syntax reference: \"+(state.type===\"Type\"?\"<\"+state.name+\">\":\"<'\"+state.name+\"'>\"))\nif(syntaxStash!==false&&token!==null&&state.type===\"Type\"){const lowPriorityMatching=state.name===\"custom-ident\"&&token.type===Ident$1||state.name===\"length\"&&token.value===\"0\"\nif(lowPriorityMatching){syntaxStash===null&&(syntaxStash=stateSnapshotFromSyntax(state,elseStack))\nstate=MISMATCH$1\nbreak}}openSyntax()\nstate=dictSyntax.matchRef||dictSyntax.match\nbreak}case\"Keyword\":{const name=state.name\nif(token!==null){let keywordName=token.value\nkeywordName.indexOf(\"\\\\\")!==-1&&(keywordName=keywordName.replace(/\\\\[09].*$/,\"\"))\nif(areStringsEqualCaseInsensitive$1(keywordName,name)){addTokenToMatch()\nstate=MATCH$1\nbreak}}state=MISMATCH$1\nbreak}case\"AtKeyword\":case\"Function\":if(token!==null&&areStringsEqualCaseInsensitive$1(token.value,state.name)){addTokenToMatch()\nstate=MATCH$1\nbreak}state=MISMATCH$1\nbreak\ncase\"Token\":if(token!==null&&token.value===state.value){addTokenToMatch()\nstate=MATCH$1\nbreak}state=MISMATCH$1\nbreak\ncase\"Comma\":if(token!==null&&token.type===Comma$1)if(isCommaContextStart$1(matchStack.token))state=MISMATCH$1\nelse{addTokenToMatch()\nstate=isCommaContextEnd$1(token)?MISMATCH$1:MATCH$1}else state=isCommaContextStart$1(matchStack.token)||isCommaContextEnd$1(token)?MATCH$1:MISMATCH$1\nbreak\ncase\"String\":let string=\"\"\nlet lastTokenIndex=tokenIndex\nfor(;lastTokenIndex<tokens.length&&string.length<state.value.length;lastTokenIndex++)string+=tokens[lastTokenIndex].value\nif(areStringsEqualCaseInsensitive$1(string,state.value)){while(tokenIndex<lastTokenIndex)addTokenToMatch()\nstate=MATCH$1}else state=MISMATCH$1\nbreak\ndefault:throw new Error(\"Unknown node type: \"+state.type)}switch(exitReason){case null:console.warn(\"[csstree-match] BREAK after \"+ITERATION_LIMIT$1+\" iterations\")\nexitReason=EXIT_REASON_ITERATION_LIMIT$1\nmatchStack=null\nbreak\ncase EXIT_REASON_MATCH$1:while(syntaxStack!==null)closeSyntax()\nbreak\ndefault:matchStack=null}return{tokens:tokens,reason:exitReason,iterations:iterationCount,match:matchStack,longestMatch:longestMatch}}function matchAsTree$1(tokens,matchGraph,syntaxes){const matchResult=internalMatch$1(tokens,matchGraph,syntaxes||{})\nif(matchResult.match===null)return matchResult\nlet item=matchResult.match\nlet host=matchResult.match={syntax:matchGraph.syntax||null,match:[]}\nconst hostStack=[host]\nitem=reverseList$1(item).prev\nwhile(item!==null){switch(item.type){case OPEN_SYNTAX$1:host.match.push(host={syntax:item.syntax,match:[]})\nhostStack.push(host)\nbreak\ncase CLOSE_SYNTAX$1:hostStack.pop()\nhost=hostStack[hostStack.length-1]\nbreak\ndefault:host.match.push({syntax:item.syntax||null,token:item.token.value,node:item.token.node})}item=item.prev}return matchResult}function getTrace$1(node){function shouldPutToTrace(syntax){if(syntax===null)return false\nreturn syntax.type===\"Type\"||syntax.type===\"Property\"||syntax.type===\"Keyword\"}function hasMatch(matchNode){if(Array.isArray(matchNode.match)){for(let i=0;i<matchNode.match.length;i++)if(hasMatch(matchNode.match[i])){shouldPutToTrace(matchNode.syntax)&&result.unshift(matchNode.syntax)\nreturn true}}else if(matchNode.node===node){result=shouldPutToTrace(matchNode.syntax)?[matchNode.syntax]:[]\nreturn true}return false}let result=null\nthis.matched!==null&&hasMatch(this.matched)\nreturn result}function isType$1(node,type){return testNode$1(this,node,(match=>match.type===\"Type\"&&match.name===type))}function isProperty$1(node,property){return testNode$1(this,node,(match=>match.type===\"Property\"&&match.name===property))}function isKeyword$1(node){return testNode$1(this,node,(match=>match.type===\"Keyword\"))}function testNode$1(match,node,fn){const trace=getTrace$1.call(match,node)\nif(trace===null)return false\nreturn trace.some(fn)}var trace$1=Object.freeze({__proto__:null,getTrace:getTrace$1,isKeyword:isKeyword$1,isProperty:isProperty$1,isType:isType$1})\nfunction getFirstMatchNode$1(matchNode){if(\"node\"in matchNode)return matchNode.node\nreturn getFirstMatchNode$1(matchNode.match[0])}function getLastMatchNode$1(matchNode){if(\"node\"in matchNode)return matchNode.node\nreturn getLastMatchNode$1(matchNode.match[matchNode.match.length-1])}function matchFragments$1(lexer,ast,match,type,name){function findFragments(matchNode){if(matchNode.syntax!==null&&matchNode.syntax.type===type&&matchNode.syntax.name===name){const start=getFirstMatchNode$1(matchNode)\nconst end=getLastMatchNode$1(matchNode)\nlexer.syntax.walk(ast,(function(node,item,list){if(node===start){const nodes=new List$1\ndo{nodes.appendData(item.data)\nif(item.data===end)break\nitem=item.next}while(item!==null)\nfragments.push({parent:list,nodes:nodes})}}))}Array.isArray(matchNode.match)&&matchNode.match.forEach(findFragments)}const fragments=[]\nmatch.matched!==null&&findFragments(match.matched)\nreturn fragments}const{hasOwnProperty:hasOwnProperty$9}=Object.prototype\nfunction isValidNumber$1(value){return typeof value===\"number\"&&isFinite(value)&&Math.floor(value)===value&&value>=0}function isValidLocation$1(loc){return Boolean(loc)&&isValidNumber$1(loc.offset)&&isValidNumber$1(loc.line)&&isValidNumber$1(loc.column)}function createNodeStructureChecker$1(type,fields){return function checkNode(node,warn){if(!node||node.constructor!==Object)return warn(node,\"Type of node should be an Object\")\nfor(let key in node){let valid=true\nif(hasOwnProperty$9.call(node,key)===false)continue\nif(key===\"type\")node.type!==type&&warn(node,\"Wrong node type `\"+node.type+\"`, expected `\"+type+\"`\")\nelse if(key===\"loc\"){if(node.loc===null)continue\nif(node.loc&&node.loc.constructor===Object)if(typeof node.loc.source!==\"string\")key+=\".source\"\nelse if(isValidLocation$1(node.loc.start)){if(isValidLocation$1(node.loc.end))continue\nkey+=\".end\"}else key+=\".start\"\nvalid=false}else if(fields.hasOwnProperty(key)){valid=false\nfor(let i=0;!valid&&i<fields[key].length;i++){const fieldType=fields[key][i]\nswitch(fieldType){case String:valid=typeof node[key]===\"string\"\nbreak\ncase Boolean:valid=typeof node[key]===\"boolean\"\nbreak\ncase null:valid=node[key]===null\nbreak\ndefault:typeof fieldType===\"string\"?valid=node[key]&&node[key].type===fieldType:Array.isArray(fieldType)&&(valid=node[key]instanceof List$1)}}}else warn(node,\"Unknown field `\"+key+\"` for \"+type+\" node type\")\nvalid||warn(node,\"Bad value for `\"+type+\".\"+key+\"`\")}for(const key in fields)hasOwnProperty$9.call(fields,key)&&hasOwnProperty$9.call(node,key)===false&&warn(node,\"Field `\"+type+\".\"+key+\"` is missed\")}}function genTypesList(fieldTypes,path){const docsTypes=[]\nfor(let i=0;i<fieldTypes.length;i++){const fieldType=fieldTypes[i]\nif(fieldType===String||fieldType===Boolean)docsTypes.push(fieldType.name.toLowerCase())\nelse if(fieldType===null)docsTypes.push(\"null\")\nelse if(typeof fieldType===\"string\")docsTypes.push(fieldType)\nelse{if(!Array.isArray(fieldType))throw new Error(\"Wrong value `\"+fieldType+\"` in `\"+path+\"` structure definition\")\ndocsTypes.push(\"List<\"+(genTypesList(fieldType,path)||\"any\")+\">\")}}return docsTypes.join(\" | \")}function processStructure$1(name,nodeType){const structure=nodeType.structure\nconst fields={type:String,loc:true}\nconst docs={type:'\"'+name+'\"'}\nfor(const key in structure){if(hasOwnProperty$9.call(structure,key)===false)continue\nconst fieldTypes=fields[key]=Array.isArray(structure[key])?structure[key].slice():[structure[key]]\ndocs[key]=genTypesList(fieldTypes,name+\".\"+key)}return{docs:docs,check:createNodeStructureChecker$1(name,fields)}}function getStructureFromConfig$1(config){const structure={}\nif(config.node)for(const name in config.node)if(hasOwnProperty$9.call(config.node,name)){const nodeType=config.node[name]\nif(!nodeType.structure)throw new Error(\"Missed `structure` field in `\"+name+\"` node type definition\")\nstructure[name]=processStructure$1(name,nodeType)}return structure}function dumpMapSyntax$1(map,compact,syntaxAsAst){const result={}\nfor(const name in map)map[name].syntax&&(result[name]=syntaxAsAst?map[name].syntax:generate$1u(map[name].syntax,{compact:compact}))\nreturn result}function dumpAtruleMapSyntax$1(map,compact,syntaxAsAst){const result={}\nfor(const[name,atrule]of Object.entries(map))result[name]={prelude:atrule.prelude&&(syntaxAsAst?atrule.prelude.syntax:generate$1u(atrule.prelude.syntax,{compact:compact})),descriptors:atrule.descriptors&&dumpMapSyntax$1(atrule.descriptors,compact,syntaxAsAst)}\nreturn result}function valueHasVar$1(tokens){for(let i=0;i<tokens.length;i++)if(tokens[i].value.toLowerCase()===\"var(\")return true\nreturn false}function syntaxHasTopLevelCommaMultiplier(syntax){const singleTerm=syntax.terms[0]\nreturn syntax.explicit===false&&syntax.terms.length===1&&singleTerm.type===\"Multiplier\"&&singleTerm.comma===true}function buildMatchResult$1(matched,error,iterations){return{matched:matched,iterations:iterations,error:error,...trace$1}}function matchSyntax$1(lexer,syntax,value,useCssWideKeywords){const tokens=prepareTokens$1(value,lexer.syntax)\nlet result\nif(valueHasVar$1(tokens))return buildMatchResult$1(null,new Error(\"Matching for a tree with var() is not supported\"))\nuseCssWideKeywords&&(result=matchAsTree$1(tokens,lexer.cssWideKeywordsSyntax,lexer))\nif(!useCssWideKeywords||!result.match){result=matchAsTree$1(tokens,syntax.match,lexer)\nif(!result.match)return buildMatchResult$1(null,new SyntaxMatchError$1(result.reason,syntax.syntax,value,result),result.iterations)}return buildMatchResult$1(result.match,null,result.iterations)}let Lexer$1=class Lexer{constructor(config,syntax,structure){this.cssWideKeywords=cssWideKeywords$1\nthis.syntax=syntax\nthis.generic=false\nthis.units={...units}\nthis.atrules=Object.create(null)\nthis.properties=Object.create(null)\nthis.types=Object.create(null)\nthis.structure=structure||getStructureFromConfig$1(config)\nif(config){config.cssWideKeywords&&(this.cssWideKeywords=config.cssWideKeywords)\nif(config.units)for(const group of Object.keys(units))Array.isArray(config.units[group])&&(this.units[group]=config.units[group])\nif(config.types)for(const[name,type]of Object.entries(config.types))this.addType_(name,type)\nif(config.generic){this.generic=true\nfor(const[name,value]of Object.entries(createGenericTypes(this.units)))this.addType_(name,value)}if(config.atrules)for(const[name,atrule]of Object.entries(config.atrules))this.addAtrule_(name,atrule)\nif(config.properties)for(const[name,property]of Object.entries(config.properties))this.addProperty_(name,property)}this.cssWideKeywordsSyntax=buildMatchGraph$1(this.cssWideKeywords.join(\" | \"))}checkStructure(ast){function collectWarning(node,message){warns.push({node:node,message:message})}const structure=this.structure\nconst warns=[]\nthis.syntax.walk(ast,(function(node){structure.hasOwnProperty(node.type)?structure[node.type].check(node,collectWarning):collectWarning(node,\"Unknown node type `\"+node.type+\"`\")}))\nreturn!!warns.length&&warns}createDescriptor(syntax,type,name,parent=null){const ref={type:type,name:name}\nconst descriptor={type:type,name:name,parent:parent,serializable:typeof syntax===\"string\"||syntax&&typeof syntax.type===\"string\",syntax:null,match:null,matchRef:null}\nif(typeof syntax===\"function\")descriptor.match=buildMatchGraph$1(syntax,ref)\nelse{typeof syntax===\"string\"?Object.defineProperty(descriptor,\"syntax\",{get(){Object.defineProperty(descriptor,\"syntax\",{value:parse$1u(syntax)})\nreturn descriptor.syntax}}):descriptor.syntax=syntax\nObject.defineProperty(descriptor,\"match\",{get(){Object.defineProperty(descriptor,\"match\",{value:buildMatchGraph$1(descriptor.syntax,ref)})\nreturn descriptor.match}})\ntype===\"Property\"&&Object.defineProperty(descriptor,\"matchRef\",{get(){const syntax=descriptor.syntax\nconst value=syntaxHasTopLevelCommaMultiplier(syntax)?buildMatchGraph$1({...syntax,terms:[syntax.terms[0].term]},ref):null\nObject.defineProperty(descriptor,\"matchRef\",{value:value})\nreturn value}})}return descriptor}addAtrule_(name,syntax){if(!syntax)return\nthis.atrules[name]={type:\"Atrule\",name:name,prelude:syntax.prelude?this.createDescriptor(syntax.prelude,\"AtrulePrelude\",name):null,descriptors:syntax.descriptors?Object.keys(syntax.descriptors).reduce(((map,descName)=>{map[descName]=this.createDescriptor(syntax.descriptors[descName],\"AtruleDescriptor\",descName,name)\nreturn map}),Object.create(null)):null}}addProperty_(name,syntax){if(!syntax)return\nthis.properties[name]=this.createDescriptor(syntax,\"Property\",name)}addType_(name,syntax){if(!syntax)return\nthis.types[name]=this.createDescriptor(syntax,\"Type\",name)}checkAtruleName(atruleName){if(!this.getAtrule(atruleName))return new SyntaxReferenceError$1(\"Unknown at-rule\",\"@\"+atruleName)}checkAtrulePrelude(atruleName,prelude){const error=this.checkAtruleName(atruleName)\nif(error)return error\nconst atrule=this.getAtrule(atruleName)\nif(!atrule.prelude&&prelude)return new SyntaxError(\"At-rule `@\"+atruleName+\"` should not contain a prelude\")\nif(atrule.prelude&&!prelude&&!matchSyntax$1(this,atrule.prelude,\"\",false).matched)return new SyntaxError(\"At-rule `@\"+atruleName+\"` should contain a prelude\")}checkAtruleDescriptorName(atruleName,descriptorName){const error=this.checkAtruleName(atruleName)\nif(error)return error\nconst atrule=this.getAtrule(atruleName)\nconst descriptor=keyword$1(descriptorName)\nif(!atrule.descriptors)return new SyntaxError(\"At-rule `@\"+atruleName+\"` has no known descriptors\")\nif(!atrule.descriptors[descriptor.name]&&!atrule.descriptors[descriptor.basename])return new SyntaxReferenceError$1(\"Unknown at-rule descriptor\",descriptorName)}checkPropertyName(propertyName){if(!this.getProperty(propertyName))return new SyntaxReferenceError$1(\"Unknown property\",propertyName)}matchAtrulePrelude(atruleName,prelude){const error=this.checkAtrulePrelude(atruleName,prelude)\nif(error)return buildMatchResult$1(null,error)\nconst atrule=this.getAtrule(atruleName)\nif(!atrule.prelude)return buildMatchResult$1(null,null)\nreturn matchSyntax$1(this,atrule.prelude,prelude||\"\",false)}matchAtruleDescriptor(atruleName,descriptorName,value){const error=this.checkAtruleDescriptorName(atruleName,descriptorName)\nif(error)return buildMatchResult$1(null,error)\nconst atrule=this.getAtrule(atruleName)\nconst descriptor=keyword$1(descriptorName)\nreturn matchSyntax$1(this,atrule.descriptors[descriptor.name]||atrule.descriptors[descriptor.basename],value,false)}matchDeclaration(node){if(node.type!==\"Declaration\")return buildMatchResult$1(null,new Error(\"Not a Declaration node\"))\nreturn this.matchProperty(node.property,node.value)}matchProperty(propertyName,value){if(property$1(propertyName).custom)return buildMatchResult$1(null,new Error(\"Lexer matching doesn't applicable for custom properties\"))\nconst error=this.checkPropertyName(propertyName)\nif(error)return buildMatchResult$1(null,error)\nreturn matchSyntax$1(this,this.getProperty(propertyName),value,true)}matchType(typeName,value){const typeSyntax=this.getType(typeName)\nif(!typeSyntax)return buildMatchResult$1(null,new SyntaxReferenceError$1(\"Unknown type\",typeName))\nreturn matchSyntax$1(this,typeSyntax,value,false)}match(syntax,value){if(typeof syntax!==\"string\"&&(!syntax||!syntax.type))return buildMatchResult$1(null,new SyntaxReferenceError$1(\"Bad syntax\"))\ntypeof syntax!==\"string\"&&syntax.match||(syntax=this.createDescriptor(syntax,\"Type\",\"anonymous\"))\nreturn matchSyntax$1(this,syntax,value,false)}findValueFragments(propertyName,value,type,name){return matchFragments$1(this,value,this.matchProperty(propertyName,value),type,name)}findDeclarationValueFragments(declaration,type,name){return matchFragments$1(this,declaration.value,this.matchDeclaration(declaration),type,name)}findAllFragments(ast,type,name){const result=[]\nthis.syntax.walk(ast,{visit:\"Declaration\",enter:declaration=>{result.push.apply(result,this.findDeclarationValueFragments(declaration,type,name))}})\nreturn result}getAtrule(atruleName,fallbackBasename=true){const atrule=keyword$1(atruleName)\nconst atruleEntry=atrule.vendor&&fallbackBasename?this.atrules[atrule.name]||this.atrules[atrule.basename]:this.atrules[atrule.name]\nreturn atruleEntry||null}getAtrulePrelude(atruleName,fallbackBasename=true){const atrule=this.getAtrule(atruleName,fallbackBasename)\nreturn atrule&&atrule.prelude||null}getAtruleDescriptor(atruleName,name){return this.atrules.hasOwnProperty(atruleName)&&this.atrules.declarators&&this.atrules[atruleName].declarators[name]||null}getProperty(propertyName,fallbackBasename=true){const property=property$1(propertyName)\nconst propertyEntry=property.vendor&&fallbackBasename?this.properties[property.name]||this.properties[property.basename]:this.properties[property.name]\nreturn propertyEntry||null}getType(name){return hasOwnProperty.call(this.types,name)?this.types[name]:null}validate(){function syntaxRef(name,isType){return isType?`<${name}>`:`<'${name}'>`}function validate(syntax,name,broken,descriptor){if(broken.has(name))return broken.get(name)\nbroken.set(name,false)\ndescriptor.syntax!==null&&walk$4(descriptor.syntax,(function(node){if(node.type!==\"Type\"&&node.type!==\"Property\")return\nconst map=node.type===\"Type\"?syntax.types:syntax.properties\nconst brokenMap=node.type===\"Type\"?brokenTypes:brokenProperties\nif(hasOwnProperty.call(map,node.name)){if(validate(syntax,node.name,brokenMap,map[node.name])){errors.push(`${syntaxRef(name,broken===brokenTypes)} used broken syntax definition ${syntaxRef(node.name,node.type===\"Type\")}`)\nbroken.set(name,true)}}else{errors.push(`${syntaxRef(name,broken===brokenTypes)} used missed syntax definition ${syntaxRef(node.name,node.type===\"Type\")}`)\nbroken.set(name,true)}}),this)}const errors=[]\nlet brokenTypes=new Map\nlet brokenProperties=new Map\nfor(const key in this.types)validate(this,key,brokenTypes,this.types[key])\nfor(const key in this.properties)validate(this,key,brokenProperties,this.properties[key])\nconst brokenTypesArray=[...brokenTypes.keys()].filter((name=>brokenTypes.get(name)))\nconst brokenPropertiesArray=[...brokenProperties.keys()].filter((name=>brokenProperties.get(name)))\nif(brokenTypesArray.length||brokenPropertiesArray.length)return{errors:errors,types:brokenTypesArray,properties:brokenPropertiesArray}\nreturn null}dump(syntaxAsAst,pretty){return{generic:this.generic,cssWideKeywords:this.cssWideKeywords,units:this.units,types:dumpMapSyntax$1(this.types,!pretty,syntaxAsAst),properties:dumpMapSyntax$1(this.properties,!pretty,syntaxAsAst),atrules:dumpAtruleMapSyntax$1(this.atrules,!pretty,syntaxAsAst)}}toString(){return JSON.stringify(this.dump())}}\nfunction appendOrSet(a,b){if(typeof b===\"string\"&&/^\\s*\\|/.test(b))return typeof a===\"string\"?a+b:b.replace(/^\\s*\\|\\s*/,\"\")\nreturn b||null}function sliceProps(obj,props){const result=Object.create(null)\nfor(const[key,value]of Object.entries(obj))if(value){result[key]={}\nfor(const prop of Object.keys(value))props.includes(prop)&&(result[key][prop]=value[prop])}return result}function mix$2(dest,src){const result={...dest}\nfor(const[prop,value]of Object.entries(src))switch(prop){case\"generic\":result[prop]=Boolean(value)\nbreak\ncase\"cssWideKeywords\":result[prop]=dest[prop]?[...dest[prop],...value]:value||[]\nbreak\ncase\"units\":result[prop]={...dest[prop]}\nfor(const[name,patch]of Object.entries(value))result[prop][name]=Array.isArray(patch)?patch:[]\nbreak\ncase\"atrules\":result[prop]={...dest[prop]}\nfor(const[name,atrule]of Object.entries(value)){const exists=result[prop][name]||{}\nconst current=result[prop][name]={prelude:exists.prelude||null,descriptors:{...exists.descriptors}}\nif(!atrule)continue\ncurrent.prelude=atrule.prelude?appendOrSet(current.prelude,atrule.prelude):current.prelude||null\nfor(const[descriptorName,descriptorValue]of Object.entries(atrule.descriptors||{}))current.descriptors[descriptorName]=descriptorValue?appendOrSet(current.descriptors[descriptorName],descriptorValue):null\nObject.keys(current.descriptors).length||(current.descriptors=null)}break\ncase\"types\":case\"properties\":result[prop]={...dest[prop]}\nfor(const[name,syntax]of Object.entries(value))result[prop][name]=appendOrSet(result[prop][name],syntax)\nbreak\ncase\"scope\":case\"features\":result[prop]={...dest[prop]}\nfor(const[name,props]of Object.entries(value))result[prop][name]={...result[prop][name],...props}\nbreak\ncase\"parseContext\":result[prop]={...dest[prop],...value}\nbreak\ncase\"atrule\":case\"pseudo\":result[prop]={...dest[prop],...sliceProps(value,[\"parse\"])}\nbreak\ncase\"node\":result[prop]={...dest[prop],...sliceProps(value,[\"name\",\"structure\",\"parse\",\"generate\",\"walkContext\"])}\nbreak}return result}function createSyntax$2(config){const parse=createParser$1(config)\nconst walk=createWalker$1(config)\nconst generate=createGenerator$1(config)\nconst{fromPlainObject:fromPlainObject,toPlainObject:toPlainObject}=createConvertor$1(walk)\nconst syntax={lexer:null,createLexer:config=>new Lexer$1(config,syntax,syntax.lexer.structure),tokenize:tokenize$4,parse:parse,generate:generate,walk:walk,find:walk.find,findLast:walk.findLast,findAll:walk.findAll,fromPlainObject:fromPlainObject,toPlainObject:toPlainObject,fork(extension){const base=mix$2({},config)\nreturn createSyntax$2(typeof extension===\"function\"?extension(base):mix$2(base,extension))}}\nsyntax.lexer=new Lexer$1({generic:config.generic,cssWideKeywords:config.cssWideKeywords,units:config.units,types:config.types,atrules:config.atrules,properties:config.properties,node:config.node},syntax)\nreturn syntax}var createSyntax$3=config=>createSyntax$2(mix$2({},config))\nvar definitions$1={generic:true,cssWideKeywords:[\"initial\",\"inherit\",\"unset\",\"revert\",\"revert-layer\"],units:{angle:[\"deg\",\"grad\",\"rad\",\"turn\"],decibel:[\"db\"],flex:[\"fr\"],frequency:[\"hz\",\"khz\"],length:[\"cm\",\"mm\",\"q\",\"in\",\"pt\",\"pc\",\"px\",\"em\",\"rem\",\"ex\",\"rex\",\"cap\",\"rcap\",\"ch\",\"rch\",\"ic\",\"ric\",\"lh\",\"rlh\",\"vw\",\"svw\",\"lvw\",\"dvw\",\"vh\",\"svh\",\"lvh\",\"dvh\",\"vi\",\"svi\",\"lvi\",\"dvi\",\"vb\",\"svb\",\"lvb\",\"dvb\",\"vmin\",\"svmin\",\"lvmin\",\"dvmin\",\"vmax\",\"svmax\",\"lvmax\",\"dvmax\",\"cqw\",\"cqh\",\"cqi\",\"cqb\",\"cqmin\",\"cqmax\"],resolution:[\"dpi\",\"dpcm\",\"dppx\",\"x\"],semitones:[\"st\"],time:[\"s\",\"ms\"]},types:{\"abs()\":\"abs( <calc-sum> )\",\"absolute-size\":\"xx-small|x-small|small|medium|large|x-large|xx-large|xxx-large\",\"acos()\":\"acos( <calc-sum> )\",\"alpha-value\":\"<number>|<percentage>\",\"angle-percentage\":\"<angle>|<percentage>\",\"angular-color-hint\":\"<angle-percentage>\",\"angular-color-stop\":\"<color>&&<color-stop-angle>?\",\"angular-color-stop-list\":\"[<angular-color-stop> [, <angular-color-hint>]?]# , <angular-color-stop>\",\"animateable-feature\":\"scroll-position|contents|<custom-ident>\",\"asin()\":\"asin( <calc-sum> )\",\"atan()\":\"atan( <calc-sum> )\",\"atan2()\":\"atan2( <calc-sum> , <calc-sum> )\",attachment:\"scroll|fixed|local\",\"attr()\":\"attr( <attr-name> <type-or-unit>? [, <attr-fallback>]? )\",\"attr-matcher\":\"['~'|'|'|'^'|'$'|'*']? '='\",\"attr-modifier\":\"i|s\",\"attribute-selector\":\"'[' <wq-name> ']'|'[' <wq-name> <attr-matcher> [<string-token>|<ident-token>] <attr-modifier>? ']'\",\"auto-repeat\":\"repeat( [auto-fill|auto-fit] , [<line-names>? <fixed-size>]+ <line-names>? )\",\"auto-track-list\":\"[<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>? <auto-repeat> [<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>?\",axis:\"block|inline|vertical|horizontal\",\"baseline-position\":\"[first|last]? baseline\",\"basic-shape\":\"<inset()>|<xywh()>|<rect()>|<circle()>|<ellipse()>|<polygon()>|<path()>\",\"bg-image\":\"none|<image>\",\"bg-layer\":\"<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>\",\"bg-position\":\"[[left|center|right|top|bottom|<length-percentage>]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]|[center|[left|right] <length-percentage>?]&&[center|[top|bottom] <length-percentage>?]]\",\"bg-size\":\"[<length-percentage>|auto]{1,2}|cover|contain\",\"blur()\":\"blur( <length> )\",\"blend-mode\":\"normal|multiply|screen|overlay|darken|lighten|color-dodge|color-burn|hard-light|soft-light|difference|exclusion|hue|saturation|color|luminosity\",box:\"border-box|padding-box|content-box\",\"brightness()\":\"brightness( <number-percentage> )\",\"calc()\":\"calc( <calc-sum> )\",\"calc-sum\":\"<calc-product> [['+'|'-'] <calc-product>]*\",\"calc-product\":\"<calc-value> ['*' <calc-value>|'/' <number>]*\",\"calc-value\":\"<number>|<dimension>|<percentage>|<calc-constant>|( <calc-sum> )\",\"calc-constant\":\"e|pi|infinity|-infinity|NaN\",\"cf-final-image\":\"<image>|<color>\",\"cf-mixing-image\":\"<percentage>?&&<image>\",\"circle()\":\"circle( [<shape-radius>]? [at <position>]? )\",\"clamp()\":\"clamp( <calc-sum>#{3} )\",\"class-selector\":\"'.' <ident-token>\",\"clip-source\":\"<url>\",color:\"<color-base>|currentColor|<system-color>|<device-cmyk()>|<light-dark()>|<-non-standard-color>\",\"color-stop\":\"<color-stop-length>|<color-stop-angle>\",\"color-stop-angle\":\"<angle-percentage>{1,2}\",\"color-stop-length\":\"<length-percentage>{1,2}\",\"color-stop-list\":\"[<linear-color-stop> [, <linear-color-hint>]?]# , <linear-color-stop>\",\"color-interpolation-method\":\"in [<rectangular-color-space>|<polar-color-space> <hue-interpolation-method>?|<custom-color-space>]\",combinator:\"'>'|'+'|'~'|['|' '|']\",\"common-lig-values\":\"[common-ligatures|no-common-ligatures]\",\"compat-auto\":\"searchfield|textarea|push-button|slider-horizontal|checkbox|radio|square-button|menulist|listbox|meter|progress-bar|button\",\"composite-style\":\"clear|copy|source-over|source-in|source-out|source-atop|destination-over|destination-in|destination-out|destination-atop|xor\",\"compositing-operator\":\"add|subtract|intersect|exclude\",\"compound-selector\":\"[<type-selector>? <subclass-selector>*]!\",\"compound-selector-list\":\"<compound-selector>#\",\"complex-selector\":\"<complex-selector-unit> [<combinator>? <complex-selector-unit>]*\",\"complex-selector-list\":\"<complex-selector>#\",\"conic-gradient()\":\"conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )\",\"contextual-alt-values\":\"[contextual|no-contextual]\",\"content-distribution\":\"space-between|space-around|space-evenly|stretch\",\"content-list\":\"[<string>|contents|<image>|<counter>|<quote>|<target>|<leader()>|<attr()>]+\",\"content-position\":\"center|start|end|flex-start|flex-end\",\"content-replacement\":\"<image>\",\"contrast()\":\"contrast( [<number-percentage>] )\",\"cos()\":\"cos( <calc-sum> )\",counter:\"<counter()>|<counters()>\",\"counter()\":\"counter( <counter-name> , <counter-style>? )\",\"counter-name\":\"<custom-ident>\",\"counter-style\":\"<counter-style-name>|symbols( )\",\"counter-style-name\":\"<custom-ident>\",\"counters()\":\"counters( <counter-name> , <string> , <counter-style>? )\",\"cross-fade()\":\"cross-fade( <cf-mixing-image> , <cf-final-image>? )\",\"cubic-bezier-timing-function\":\"ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number [0,1]> , <number> , <number [0,1]> , <number> )\",\"deprecated-system-color\":\"ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText\",\"discretionary-lig-values\":\"[discretionary-ligatures|no-discretionary-ligatures]\",\"display-box\":\"contents|none\",\"display-inside\":\"flow|flow-root|table|flex|grid|ruby\",\"display-internal\":\"table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption|ruby-base|ruby-text|ruby-base-container|ruby-text-container\",\"display-legacy\":\"inline-block|inline-list-item|inline-table|inline-flex|inline-grid\",\"display-listitem\":\"<display-outside>?&&[flow|flow-root]?&&list-item\",\"display-outside\":\"block|inline|run-in\",\"drop-shadow()\":\"drop-shadow( <length>{2,3} <color>? )\",\"east-asian-variant-values\":\"[jis78|jis83|jis90|jis04|simplified|traditional]\",\"east-asian-width-values\":\"[full-width|proportional-width]\",\"element()\":\"element( <custom-ident> , [first|start|last|first-except]? )|element( <id-selector> )\",\"ellipse()\":\"ellipse( [<shape-radius>{2}]? [at <position>]? )\",\"ending-shape\":\"circle|ellipse\",\"env()\":\"env( <custom-ident> , <declaration-value>? )\",\"exp()\":\"exp( <calc-sum> )\",\"explicit-track-list\":\"[<line-names>? <track-size>]+ <line-names>?\",\"family-name\":\"<string>|<custom-ident>+\",\"feature-tag-value\":\"<string> [<integer>|on|off]?\",\"feature-type\":\"@stylistic|@historical-forms|@styleset|@character-variant|@swash|@ornaments|@annotation\",\"feature-value-block\":\"<feature-type> '{' <feature-value-declaration-list> '}'\",\"feature-value-block-list\":\"<feature-value-block>+\",\"feature-value-declaration\":\"<custom-ident> : <integer>+ ;\",\"feature-value-declaration-list\":\"<feature-value-declaration>\",\"feature-value-name\":\"<custom-ident>\",\"fill-rule\":\"nonzero|evenodd\",\"filter-function\":\"<blur()>|<brightness()>|<contrast()>|<drop-shadow()>|<grayscale()>|<hue-rotate()>|<invert()>|<opacity()>|<saturate()>|<sepia()>\",\"filter-function-list\":\"[<filter-function>|<url>]+\",\"final-bg-layer\":\"<'background-color'>||<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>\",\"fixed-breadth\":\"<length-percentage>\",\"fixed-repeat\":\"repeat( [<integer [1,∞]>] , [<line-names>? <fixed-size>]+ <line-names>? )\",\"fixed-size\":\"<fixed-breadth>|minmax( <fixed-breadth> , <track-breadth> )|minmax( <inflexible-breadth> , <fixed-breadth> )\",\"font-stretch-absolute\":\"normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|<percentage>\",\"font-variant-css21\":\"[normal|small-caps]\",\"font-weight-absolute\":\"normal|bold|<number [1,1000]>\",\"frequency-percentage\":\"<frequency>|<percentage>\",\"general-enclosed\":\"[<function-token> <any-value>? )]|[( <any-value>? )]\",\"generic-family\":\"<generic-script-specific>|<generic-complete>|<generic-incomplete>|<-non-standard-generic-family>\",\"generic-name\":\"serif|sans-serif|cursive|fantasy|monospace\",\"geometry-box\":\"<shape-box>|fill-box|stroke-box|view-box\",gradient:\"<linear-gradient()>|<repeating-linear-gradient()>|<radial-gradient()>|<repeating-radial-gradient()>|<conic-gradient()>|<repeating-conic-gradient()>|<-legacy-gradient>\",\"grayscale()\":\"grayscale( <number-percentage> )\",\"grid-line\":\"auto|<custom-ident>|[<integer>&&<custom-ident>?]|[span&&[<integer>||<custom-ident>]]\",\"historical-lig-values\":\"[historical-ligatures|no-historical-ligatures]\",\"hsl()\":\"hsl( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )\",\"hsla()\":\"hsla( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )\",hue:\"<number>|<angle>\",\"hue-rotate()\":\"hue-rotate( <angle> )\",\"hue-interpolation-method\":\"[shorter|longer|increasing|decreasing] hue\",\"hwb()\":\"hwb( [<hue>|none] [<percentage>|none] [<percentage>|none] [/ [<alpha-value>|none]]? )\",\"hypot()\":\"hypot( <calc-sum># )\",image:\"<url>|<image()>|<image-set()>|<element()>|<paint()>|<cross-fade()>|<gradient>\",\"image()\":\"image( <image-tags>? [<image-src>? , <color>?]! )\",\"image-set()\":\"image-set( <image-set-option># )\",\"image-set-option\":\"[<image>|<string>] [<resolution>||type( <string> )]\",\"image-src\":\"<url>|<string>\",\"image-tags\":\"ltr|rtl\",\"inflexible-breadth\":\"<length-percentage>|min-content|max-content|auto\",\"inset()\":\"inset( <length-percentage>{1,4} [round <'border-radius'>]? )\",\"invert()\":\"invert( <number-percentage> )\",\"keyframes-name\":\"<custom-ident>|<string>\",\"keyframe-block\":\"<keyframe-selector># { <declaration-list> }\",\"keyframe-block-list\":\"<keyframe-block>+\",\"keyframe-selector\":\"from|to|<percentage>|<timeline-range-name> <percentage>\",\"lab()\":\"lab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )\",\"layer()\":\"layer( <layer-name> )\",\"layer-name\":\"<ident> ['.' <ident>]*\",\"lch()\":\"lch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )\",\"leader()\":\"leader( <leader-type> )\",\"leader-type\":\"dotted|solid|space|<string>\",\"length-percentage\":\"<length>|<percentage>\",\"light-dark()\":\"light-dark( <color> , <color> )\",\"line-names\":\"'[' <custom-ident>* ']'\",\"line-name-list\":\"[<line-names>|<name-repeat>]+\",\"line-style\":\"none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset\",\"line-width\":\"<length>|thin|medium|thick\",\"linear-color-hint\":\"<length-percentage>\",\"linear-color-stop\":\"<color> <color-stop-length>?\",\"linear-gradient()\":\"linear-gradient( [[<angle>|to <side-or-corner>]||<color-interpolation-method>]? , <color-stop-list> )\",\"log()\":\"log( <calc-sum> , <calc-sum>? )\",\"mask-layer\":\"<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||<geometry-box>||[<geometry-box>|no-clip]||<compositing-operator>||<masking-mode>\",\"mask-position\":\"[<length-percentage>|left|center|right] [<length-percentage>|top|center|bottom]?\",\"mask-reference\":\"none|<image>|<mask-source>\",\"mask-source\":\"<url>\",\"masking-mode\":\"alpha|luminance|match-source\",\"matrix()\":\"matrix( <number>#{6} )\",\"matrix3d()\":\"matrix3d( <number>#{16} )\",\"max()\":\"max( <calc-sum># )\",\"media-and\":\"<media-in-parens> [and <media-in-parens>]+\",\"media-condition\":\"<media-not>|<media-and>|<media-or>|<media-in-parens>\",\"media-condition-without-or\":\"<media-not>|<media-and>|<media-in-parens>\",\"media-feature\":\"( [<mf-plain>|<mf-boolean>|<mf-range>] )\",\"media-in-parens\":\"( <media-condition> )|<media-feature>|<general-enclosed>\",\"media-not\":\"not <media-in-parens>\",\"media-or\":\"<media-in-parens> [or <media-in-parens>]+\",\"media-query\":\"<media-condition>|[not|only]? <media-type> [and <media-condition-without-or>]?\",\"media-query-list\":\"<media-query>#\",\"media-type\":\"<ident>\",\"mf-boolean\":\"<mf-name>\",\"mf-name\":\"<ident>\",\"mf-plain\":\"<mf-name> : <mf-value>\",\"mf-range\":\"<mf-name> ['<'|'>']? '='? <mf-value>|<mf-value> ['<'|'>']? '='? <mf-name>|<mf-value> '<' '='? <mf-name> '<' '='? <mf-value>|<mf-value> '>' '='? <mf-name> '>' '='? <mf-value>\",\"mf-value\":\"<number>|<dimension>|<ident>|<ratio>\",\"min()\":\"min( <calc-sum># )\",\"minmax()\":\"minmax( [<length-percentage>|min-content|max-content|auto] , [<length-percentage>|<flex>|min-content|max-content|auto] )\",\"mod()\":\"mod( <calc-sum> , <calc-sum> )\",\"name-repeat\":\"repeat( [<integer [1,∞]>|auto-fill] , <line-names>+ )\",\"named-color\":\"transparent|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen\",\"namespace-prefix\":\"<ident>\",\"ns-prefix\":\"[<ident-token>|'*']? '|'\",\"number-percentage\":\"<number>|<percentage>\",\"numeric-figure-values\":\"[lining-nums|oldstyle-nums]\",\"numeric-fraction-values\":\"[diagonal-fractions|stacked-fractions]\",\"numeric-spacing-values\":\"[proportional-nums|tabular-nums]\",nth:\"<an-plus-b>|even|odd\",\"opacity()\":\"opacity( [<number-percentage>] )\",\"overflow-position\":\"unsafe|safe\",\"outline-radius\":\"<length>|<percentage>\",\"page-body\":\"<declaration>? [; <page-body>]?|<page-margin-box> <page-body>\",\"page-margin-box\":\"<page-margin-box-type> '{' <declaration-list> '}'\",\"page-margin-box-type\":\"@top-left-corner|@top-left|@top-center|@top-right|@top-right-corner|@bottom-left-corner|@bottom-left|@bottom-center|@bottom-right|@bottom-right-corner|@left-top|@left-middle|@left-bottom|@right-top|@right-middle|@right-bottom\",\"page-selector-list\":\"[<page-selector>#]?\",\"page-selector\":\"<pseudo-page>+|<ident> <pseudo-page>*\",\"page-size\":\"A5|A4|A3|B5|B4|JIS-B5|JIS-B4|letter|legal|ledger\",\"path()\":\"path( [<fill-rule> ,]? <string> )\",\"paint()\":\"paint( <ident> , <declaration-value>? )\",\"perspective()\":\"perspective( [<length [0,∞]>|none] )\",\"polygon()\":\"polygon( <fill-rule>? , [<length-percentage> <length-percentage>]# )\",\"polar-color-space\":\"hsl|hwb|lch|oklch\",position:\"[[left|center|right]||[top|center|bottom]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]?|[[left|right] <length-percentage>]&&[[top|bottom] <length-percentage>]]\",\"pow()\":\"pow( <calc-sum> , <calc-sum> )\",\"pseudo-class-selector\":\"':' <ident-token>|':' <function-token> <any-value> ')'\",\"pseudo-element-selector\":\"':' <pseudo-class-selector>|<legacy-pseudo-element-selector>\",\"pseudo-page\":\": [left|right|first|blank]\",quote:\"open-quote|close-quote|no-open-quote|no-close-quote\",\"radial-gradient()\":\"radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )\",ratio:\"<number [0,∞]> [/ <number [0,∞]>]?\",\"ray()\":\"ray( <angle>&&<ray-size>?&&contain?&&[at <position>]? )\",\"ray-size\":\"closest-side|closest-corner|farthest-side|farthest-corner|sides\",\"rectangular-color-space\":\"srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020|lab|oklab|xyz|xyz-d50|xyz-d65\",\"relative-selector\":\"<combinator>? <complex-selector>\",\"relative-selector-list\":\"<relative-selector>#\",\"relative-size\":\"larger|smaller\",\"rem()\":\"rem( <calc-sum> , <calc-sum> )\",\"repeat-style\":\"repeat-x|repeat-y|[repeat|space|round|no-repeat]{1,2}\",\"repeating-conic-gradient()\":\"repeating-conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )\",\"repeating-linear-gradient()\":\"repeating-linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )\",\"repeating-radial-gradient()\":\"repeating-radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )\",\"reversed-counter-name\":\"reversed( <counter-name> )\",\"rgb()\":\"rgb( <percentage>{3} [/ <alpha-value>]? )|rgb( <number>{3} [/ <alpha-value>]? )|rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )\",\"rgba()\":\"rgba( <percentage>{3} [/ <alpha-value>]? )|rgba( <number>{3} [/ <alpha-value>]? )|rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )\",\"rotate()\":\"rotate( [<angle>|<zero>] )\",\"rotate3d()\":\"rotate3d( <number> , <number> , <number> , [<angle>|<zero>] )\",\"rotateX()\":\"rotateX( [<angle>|<zero>] )\",\"rotateY()\":\"rotateY( [<angle>|<zero>] )\",\"rotateZ()\":\"rotateZ( [<angle>|<zero>] )\",\"round()\":\"round( <rounding-strategy>? , <calc-sum> , <calc-sum> )\",\"rounding-strategy\":\"nearest|up|down|to-zero\",\"saturate()\":\"saturate( <number-percentage> )\",\"scale()\":\"scale( [<number>|<percentage>]#{1,2} )\",\"scale3d()\":\"scale3d( [<number>|<percentage>]#{3} )\",\"scaleX()\":\"scaleX( [<number>|<percentage>] )\",\"scaleY()\":\"scaleY( [<number>|<percentage>] )\",\"scaleZ()\":\"scaleZ( [<number>|<percentage>] )\",\"scroll()\":\"scroll( [<axis>||<scroller>]? )\",scroller:\"root|nearest\",\"self-position\":\"center|start|end|self-start|self-end|flex-start|flex-end\",\"shape-radius\":\"<length-percentage>|closest-side|farthest-side\",\"sign()\":\"sign( <calc-sum> )\",\"skew()\":\"skew( [<angle>|<zero>] , [<angle>|<zero>]? )\",\"skewX()\":\"skewX( [<angle>|<zero>] )\",\"skewY()\":\"skewY( [<angle>|<zero>] )\",\"sepia()\":\"sepia( <number-percentage> )\",shadow:\"inset?&&<length>{2,4}&&<color>?\",\"shadow-t\":\"[<length>{2,3}&&<color>?]\",shape:\"rect( <top> , <right> , <bottom> , <left> )|rect( <top> <right> <bottom> <left> )\",\"shape-box\":\"<box>|margin-box\",\"side-or-corner\":\"[left|right]||[top|bottom]\",\"sin()\":\"sin( <calc-sum> )\",\"single-animation\":\"<'animation-duration'>||<easing-function>||<'animation-delay'>||<single-animation-iteration-count>||<single-animation-direction>||<single-animation-fill-mode>||<single-animation-play-state>||[none|<keyframes-name>]||<single-animation-timeline>\",\"single-animation-direction\":\"normal|reverse|alternate|alternate-reverse\",\"single-animation-fill-mode\":\"none|forwards|backwards|both\",\"single-animation-iteration-count\":\"infinite|<number>\",\"single-animation-play-state\":\"running|paused\",\"single-animation-timeline\":\"auto|none|<dashed-ident>|<scroll()>|<view()>\",\"single-transition\":\"[none|<single-transition-property>]||<time>||<easing-function>||<time>||<transition-behavior-value>\",\"single-transition-property\":\"all|<custom-ident>\",size:\"closest-side|farthest-side|closest-corner|farthest-corner|<length>|<length-percentage>{2}\",\"sqrt()\":\"sqrt( <calc-sum> )\",\"step-position\":\"jump-start|jump-end|jump-none|jump-both|start|end\",\"step-timing-function\":\"step-start|step-end|steps( <integer> [, <step-position>]? )\",\"subclass-selector\":\"<id-selector>|<class-selector>|<attribute-selector>|<pseudo-class-selector>\",\"supports-condition\":\"not <supports-in-parens>|<supports-in-parens> [and <supports-in-parens>]*|<supports-in-parens> [or <supports-in-parens>]*\",\"supports-in-parens\":\"( <supports-condition> )|<supports-feature>|<general-enclosed>\",\"supports-feature\":\"<supports-decl>|<supports-selector-fn>\",\"supports-decl\":\"( <declaration> )\",\"supports-selector-fn\":\"selector( <complex-selector> )\",symbol:\"<string>|<image>|<custom-ident>\",\"tan()\":\"tan( <calc-sum> )\",target:\"<target-counter()>|<target-counters()>|<target-text()>\",\"target-counter()\":\"target-counter( [<string>|<url>] , <custom-ident> , <counter-style>? )\",\"target-counters()\":\"target-counters( [<string>|<url>] , <custom-ident> , <string> , <counter-style>? )\",\"target-text()\":\"target-text( [<string>|<url>] , [content|before|after|first-letter]? )\",\"time-percentage\":\"<time>|<percentage>\",\"timeline-range-name\":\"cover|contain|entry|exit|entry-crossing|exit-crossing\",\"easing-function\":\"linear|<cubic-bezier-timing-function>|<step-timing-function>\",\"track-breadth\":\"<length-percentage>|<flex>|min-content|max-content|auto\",\"track-list\":\"[<line-names>? [<track-size>|<track-repeat>]]+ <line-names>?\",\"track-repeat\":\"repeat( [<integer [1,∞]>] , [<line-names>? <track-size>]+ <line-names>? )\",\"track-size\":\"<track-breadth>|minmax( <inflexible-breadth> , <track-breadth> )|fit-content( <length-percentage> )\",\"transform-function\":\"<matrix()>|<translate()>|<translateX()>|<translateY()>|<scale()>|<scaleX()>|<scaleY()>|<rotate()>|<skew()>|<skewX()>|<skewY()>|<matrix3d()>|<translate3d()>|<translateZ()>|<scale3d()>|<scaleZ()>|<rotate3d()>|<rotateX()>|<rotateY()>|<rotateZ()>|<perspective()>\",\"transform-list\":\"<transform-function>+\",\"transition-behavior-value\":\"normal|allow-discrete\",\"translate()\":\"translate( <length-percentage> , <length-percentage>? )\",\"translate3d()\":\"translate3d( <length-percentage> , <length-percentage> , <length> )\",\"translateX()\":\"translateX( <length-percentage> )\",\"translateY()\":\"translateY( <length-percentage> )\",\"translateZ()\":\"translateZ( <length> )\",\"type-or-unit\":\"string|color|url|integer|number|length|angle|time|frequency|cap|ch|em|ex|ic|lh|rlh|rem|vb|vi|vw|vh|vmin|vmax|mm|Q|cm|in|pt|pc|px|deg|grad|rad|turn|ms|s|Hz|kHz|%\",\"type-selector\":\"<wq-name>|<ns-prefix>? '*'\",\"var()\":\"var( <custom-property-name> , <declaration-value>? )\",\"view()\":\"view( [<axis>||<'view-timeline-inset'>]? )\",\"viewport-length\":\"auto|<length-percentage>\",\"visual-box\":\"content-box|padding-box|border-box\",\"wq-name\":\"<ns-prefix>? <ident-token>\",\"-legacy-gradient\":\"<-webkit-gradient()>|<-legacy-linear-gradient>|<-legacy-repeating-linear-gradient>|<-legacy-radial-gradient>|<-legacy-repeating-radial-gradient>\",\"-legacy-linear-gradient\":\"-moz-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-linear-gradient( <-legacy-linear-gradient-arguments> )\",\"-legacy-repeating-linear-gradient\":\"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )\",\"-legacy-linear-gradient-arguments\":\"[<angle>|<side-or-corner>]? , <color-stop-list>\",\"-legacy-radial-gradient\":\"-moz-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-radial-gradient( <-legacy-radial-gradient-arguments> )\",\"-legacy-repeating-radial-gradient\":\"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )\",\"-legacy-radial-gradient-arguments\":\"[<position> ,]? [[[<-legacy-radial-gradient-shape>||<-legacy-radial-gradient-size>]|[<length>|<percentage>]{2}] ,]? <color-stop-list>\",\"-legacy-radial-gradient-size\":\"closest-side|closest-corner|farthest-side|farthest-corner|contain|cover\",\"-legacy-radial-gradient-shape\":\"circle|ellipse\",\"-non-standard-font\":\"-apple-system-body|-apple-system-headline|-apple-system-subheadline|-apple-system-caption1|-apple-system-caption2|-apple-system-footnote|-apple-system-short-body|-apple-system-short-headline|-apple-system-short-subheadline|-apple-system-short-caption1|-apple-system-short-footnote|-apple-system-tall-body\",\"-non-standard-color\":\"-moz-ButtonDefault|-moz-ButtonHoverFace|-moz-ButtonHoverText|-moz-CellHighlight|-moz-CellHighlightText|-moz-Combobox|-moz-ComboboxText|-moz-Dialog|-moz-DialogText|-moz-dragtargetzone|-moz-EvenTreeRow|-moz-Field|-moz-FieldText|-moz-html-CellHighlight|-moz-html-CellHighlightText|-moz-mac-accentdarkestshadow|-moz-mac-accentdarkshadow|-moz-mac-accentface|-moz-mac-accentlightesthighlight|-moz-mac-accentlightshadow|-moz-mac-accentregularhighlight|-moz-mac-accentregularshadow|-moz-mac-chrome-active|-moz-mac-chrome-inactive|-moz-mac-focusring|-moz-mac-menuselect|-moz-mac-menushadow|-moz-mac-menutextselect|-moz-MenuHover|-moz-MenuHoverText|-moz-MenuBarText|-moz-MenuBarHoverText|-moz-nativehyperlinktext|-moz-OddTreeRow|-moz-win-communicationstext|-moz-win-mediatext|-moz-activehyperlinktext|-moz-default-background-color|-moz-default-color|-moz-hyperlinktext|-moz-visitedhyperlinktext|-webkit-activelink|-webkit-focus-ring-color|-webkit-link|-webkit-text\",\"-non-standard-image-rendering\":\"optimize-contrast|-moz-crisp-edges|-o-crisp-edges|-webkit-optimize-contrast\",\"-non-standard-overflow\":\"overlay|-moz-scrollbars-none|-moz-scrollbars-horizontal|-moz-scrollbars-vertical|-moz-hidden-unscrollable\",\"-non-standard-size\":\"intrinsic|min-intrinsic|-webkit-fill-available|-webkit-fit-content|-webkit-min-content|-webkit-max-content|-moz-available|-moz-fit-content|-moz-min-content|-moz-max-content\",\"-webkit-gradient()\":\"-webkit-gradient( <-webkit-gradient-type> , <-webkit-gradient-point> [, <-webkit-gradient-point>|, <-webkit-gradient-radius> , <-webkit-gradient-point>] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )\",\"-webkit-gradient-color-stop\":\"from( <color> )|color-stop( [<number-zero-one>|<percentage>] , <color> )|to( <color> )\",\"-webkit-gradient-point\":\"[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]\",\"-webkit-gradient-radius\":\"<length>|<percentage>\",\"-webkit-gradient-type\":\"linear|radial\",\"-webkit-mask-box-repeat\":\"repeat|stretch|round\",\"-ms-filter-function-list\":\"<-ms-filter-function>+\",\"-ms-filter-function\":\"<-ms-filter-function-progid>|<-ms-filter-function-legacy>\",\"-ms-filter-function-progid\":\"'progid:' [<ident-token> '.']* [<ident-token>|<function-token> <any-value>? )]\",\"-ms-filter-function-legacy\":\"<ident-token>|<function-token> <any-value>? )\",\"absolute-color-base\":\"<hex-color>|<absolute-color-function>|<named-color>|transparent\",\"absolute-color-function\":\"<rgb()>|<rgba()>|<hsl()>|<hsla()>|<hwb()>|<lab()>|<lch()>|<oklab()>|<oklch()>|<color()>\",age:\"child|young|old\",\"anchor-name\":\"<dashed-ident>\",\"attr-name\":\"<wq-name>\",\"attr-fallback\":\"<any-value>\",\"bg-clip\":\"<box>|border|text\",bottom:\"<length>|auto\",\"container-name\":\"<custom-ident>\",\"container-condition\":\"not <query-in-parens>|<query-in-parens> [[and <query-in-parens>]*|[or <query-in-parens>]*]\",\"coord-box\":\"content-box|padding-box|border-box|fill-box|stroke-box|view-box\",\"generic-voice\":\"[<age>? <gender> <integer>?]\",gender:\"male|female|neutral\",\"generic-script-specific\":\"generic( kai )|generic( fangsong )|generic( nastaliq )\",\"generic-complete\":\"serif|sans-serif|system-ui|cursive|fantasy|math|monospace\",\"generic-incomplete\":\"ui-serif|ui-sans-serif|ui-monospace|ui-rounded\",\"-non-standard-generic-family\":\"-apple-system|BlinkMacSystemFont\",left:\"<length>|auto\",\"color-base\":\"<hex-color>|<color-function>|<named-color>|<color-mix()>|transparent\",\"color-function\":\"<rgb()>|<rgba()>|<hsl()>|<hsla()>|<hwb()>|<lab()>|<lch()>|<oklab()>|<oklch()>|<color()>\",\"system-color\":\"AccentColor|AccentColorText|ActiveText|ButtonBorder|ButtonFace|ButtonText|Canvas|CanvasText|Field|FieldText|GrayText|Highlight|HighlightText|LinkText|Mark|MarkText|SelectedItem|SelectedItemText|VisitedText\",\"device-cmyk()\":\"<legacy-device-cmyk-syntax>|<modern-device-cmyk-syntax>\",\"legacy-device-cmyk-syntax\":\"device-cmyk( <number>#{4} )\",\"modern-device-cmyk-syntax\":\"device-cmyk( <cmyk-component>{4} [/ [<alpha-value>|none]]? )\",\"cmyk-component\":\"<number>|<percentage>|none\",\"color-mix()\":\"color-mix( <color-interpolation-method> , [<color>&&<percentage [0,100]>?]#{2} )\",\"color-space\":\"<rectangular-color-space>|<polar-color-space>|<custom-color-space>\",\"custom-color-space\":\"<dashed-ident>\",paint:\"none|<color>|<url> [none|<color>]?|context-fill|context-stroke\",\"palette-identifier\":\"<dashed-ident>\",right:\"<length>|auto\",\"scope-start\":\"<forgiving-selector-list>\",\"scope-end\":\"<forgiving-selector-list>\",\"forgiving-selector-list\":\"<complex-real-selector-list>\",\"forgiving-relative-selector-list\":\"<relative-real-selector-list>\",\"selector-list\":\"<complex-selector-list>\",\"complex-real-selector-list\":\"<complex-real-selector>#\",\"simple-selector-list\":\"<simple-selector>#\",\"relative-real-selector-list\":\"<relative-real-selector>#\",\"complex-selector-unit\":\"[<compound-selector>? <pseudo-compound-selector>*]!\",\"complex-real-selector\":\"<compound-selector> [<combinator>? <compound-selector>]*\",\"relative-real-selector\":\"<combinator>? <complex-real-selector>\",\"pseudo-compound-selector\":\"<pseudo-element-selector> <pseudo-class-selector>*\",\"simple-selector\":\"<type-selector>|<subclass-selector>\",\"legacy-pseudo-element-selector\":\"':' [before|after|first-line|first-letter]\",\"single-animation-composition\":\"replace|add|accumulate\",\"svg-length\":\"<percentage>|<length>|<number>\",\"svg-writing-mode\":\"lr-tb|rl-tb|tb-rl|lr|rl|tb\",top:\"<length>|auto\",x:\"<number>\",y:\"<number>\",declaration:\"<ident-token> : <declaration-value>? ['!' important]?\",\"declaration-list\":\"[<declaration>? ';']* <declaration>?\",url:\"url( <string> <url-modifier>* )|<url-token>\",\"url-modifier\":\"<ident>|<function-token> <any-value> )\",\"number-zero-one\":\"<number [0,1]>\",\"number-one-or-greater\":\"<number [1,∞]>\",\"color()\":\"color( <colorspace-params> [/ [<alpha-value>|none]]? )\",\"colorspace-params\":\"[<predefined-rgb-params>|<xyz-params>]\",\"predefined-rgb-params\":\"<predefined-rgb> [<number>|<percentage>|none]{3}\",\"predefined-rgb\":\"srgb|srgb-linear|display-p3|a98-rgb|prophoto-rgb|rec2020\",\"xyz-params\":\"<xyz-space> [<number>|<percentage>|none]{3}\",\"xyz-space\":\"xyz|xyz-d50|xyz-d65\",\"oklab()\":\"oklab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )\",\"oklch()\":\"oklch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )\",\"offset-path\":\"<ray()>|<url>|<basic-shape>\",\"rect()\":\"rect( [<length-percentage>|auto]{4} [round <'border-radius'>]? )\",\"xywh()\":\"xywh( <length-percentage>{2} <length-percentage [0,∞]>{2} [round <'border-radius'>]? )\",\"query-in-parens\":\"( <container-condition> )|( <size-feature> )|style( <style-query> )|<general-enclosed>\",\"size-feature\":\"<mf-plain>|<mf-boolean>|<mf-range>\",\"style-feature\":\"<declaration>\",\"style-query\":\"<style-condition>|<style-feature>\",\"style-condition\":\"not <style-in-parens>|<style-in-parens> [[and <style-in-parens>]*|[or <style-in-parens>]*]\",\"style-in-parens\":\"( <style-condition> )|( <style-feature> )|<general-enclosed>\",\"-non-standard-display\":\"-ms-inline-flexbox|-ms-grid|-ms-inline-grid|-webkit-flex|-webkit-inline-flex|-webkit-box|-webkit-inline-box|-moz-inline-stack|-moz-box|-moz-inline-box\",\"inset-area\":\"[[left|center|right|span-left|span-right|x-start|x-end|span-x-start|span-x-end|x-self-start|x-self-end|span-x-self-start|span-x-self-end|span-all]||[top|center|bottom|span-top|span-bottom|y-start|y-end|span-y-start|span-y-end|y-self-start|y-self-end|span-y-self-start|span-y-self-end|span-all]|[block-start|center|block-end|span-block-start|span-block-end|span-all]||[inline-start|center|inline-end|span-inline-start|span-inline-end|span-all]|[self-block-start|self-block-end|span-self-block-start|span-self-block-end|span-all]||[self-inline-start|self-inline-end|span-self-inline-start|span-self-inline-end|span-all]|[start|center|end|span-start|span-end|span-all]{1,2}|[self-start|center|self-end|span-self-start|span-self-end|span-all]{1,2}]\",\"position-area\":\"[[left|center|right|span-left|span-right|x-start|x-end|span-x-start|span-x-end|x-self-start|x-self-end|span-x-self-start|span-x-self-end|span-all]||[top|center|bottom|span-top|span-bottom|y-start|y-end|span-y-start|span-y-end|y-self-start|y-self-end|span-y-self-start|span-y-self-end|span-all]|[block-start|center|block-end|span-block-start|span-block-end|span-all]||[inline-start|center|inline-end|span-inline-start|span-inline-end|span-all]|[self-block-start|center|self-block-end|span-self-block-start|span-self-block-end|span-all]||[self-inline-start|center|self-inline-end|span-self-inline-start|span-self-inline-end|span-all]|[start|center|end|span-start|span-end|span-all]{1,2}|[self-start|center|self-end|span-self-start|span-self-end|span-all]{1,2}]\",\"anchor()\":\"anchor( <anchor-element>?&&<anchor-side> , <length-percentage>? )\",\"anchor-side\":\"inside|outside|top|left|right|bottom|start|end|self-start|self-end|<percentage>|center\",\"anchor-size()\":\"anchor-size( [<anchor-element>||<anchor-size>]? , <length-percentage>? )\",\"anchor-size\":\"width|height|block|inline|self-block|self-inline\",\"anchor-element\":\"<dashed-ident>\",\"try-size\":\"most-width|most-height|most-block-size|most-inline-size\",\"try-tactic\":\"flip-block||flip-inline||flip-start\",\"font-variant-css2\":\"normal|small-caps\",\"font-width-css3\":\"normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded\",\"system-family-name\":\"caption|icon|menu|message-box|small-caption|status-bar\"},properties:{\"--*\":\"<declaration-value>\",\"-ms-accelerator\":\"false|true\",\"-ms-block-progression\":\"tb|rl|bt|lr\",\"-ms-content-zoom-chaining\":\"none|chained\",\"-ms-content-zooming\":\"none|zoom\",\"-ms-content-zoom-limit\":\"<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>\",\"-ms-content-zoom-limit-max\":\"<percentage>\",\"-ms-content-zoom-limit-min\":\"<percentage>\",\"-ms-content-zoom-snap\":\"<'-ms-content-zoom-snap-type'>||<'-ms-content-zoom-snap-points'>\",\"-ms-content-zoom-snap-points\":\"snapInterval( <percentage> , <percentage> )|snapList( <percentage># )\",\"-ms-content-zoom-snap-type\":\"none|proximity|mandatory\",\"-ms-filter\":\"<string>\",\"-ms-flow-from\":\"[none|<custom-ident>]#\",\"-ms-flow-into\":\"[none|<custom-ident>]#\",\"-ms-grid-columns\":\"none|<track-list>|<auto-track-list>\",\"-ms-grid-rows\":\"none|<track-list>|<auto-track-list>\",\"-ms-high-contrast-adjust\":\"auto|none\",\"-ms-hyphenate-limit-chars\":\"auto|<integer>{1,3}\",\"-ms-hyphenate-limit-lines\":\"no-limit|<integer>\",\"-ms-hyphenate-limit-zone\":\"<percentage>|<length>\",\"-ms-ime-align\":\"auto|after\",\"-ms-overflow-style\":\"auto|none|scrollbar|-ms-autohiding-scrollbar\",\"-ms-scrollbar-3dlight-color\":\"<color>\",\"-ms-scrollbar-arrow-color\":\"<color>\",\"-ms-scrollbar-base-color\":\"<color>\",\"-ms-scrollbar-darkshadow-color\":\"<color>\",\"-ms-scrollbar-face-color\":\"<color>\",\"-ms-scrollbar-highlight-color\":\"<color>\",\"-ms-scrollbar-shadow-color\":\"<color>\",\"-ms-scrollbar-track-color\":\"<color>\",\"-ms-scroll-chaining\":\"chained|none\",\"-ms-scroll-limit\":\"<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>\",\"-ms-scroll-limit-x-max\":\"auto|<length>\",\"-ms-scroll-limit-x-min\":\"<length>\",\"-ms-scroll-limit-y-max\":\"auto|<length>\",\"-ms-scroll-limit-y-min\":\"<length>\",\"-ms-scroll-rails\":\"none|railed\",\"-ms-scroll-snap-points-x\":\"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )\",\"-ms-scroll-snap-points-y\":\"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )\",\"-ms-scroll-snap-type\":\"none|proximity|mandatory\",\"-ms-scroll-snap-x\":\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>\",\"-ms-scroll-snap-y\":\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>\",\"-ms-scroll-translation\":\"none|vertical-to-horizontal\",\"-ms-text-autospace\":\"none|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space\",\"-ms-touch-select\":\"grippers|none\",\"-ms-user-select\":\"none|element|text\",\"-ms-wrap-flow\":\"auto|both|start|end|maximum|clear\",\"-ms-wrap-margin\":\"<length>\",\"-ms-wrap-through\":\"wrap|none\",\"-moz-appearance\":\"none|button|button-arrow-down|button-arrow-next|button-arrow-previous|button-arrow-up|button-bevel|button-focus|caret|checkbox|checkbox-container|checkbox-label|checkmenuitem|dualbutton|groupbox|listbox|listitem|menuarrow|menubar|menucheckbox|menuimage|menuitem|menuitemtext|menulist|menulist-button|menulist-text|menulist-textfield|menupopup|menuradio|menuseparator|meterbar|meterchunk|progressbar|progressbar-vertical|progresschunk|progresschunk-vertical|radio|radio-container|radio-label|radiomenuitem|range|range-thumb|resizer|resizerpanel|scale-horizontal|scalethumbend|scalethumb-horizontal|scalethumbstart|scalethumbtick|scalethumb-vertical|scale-vertical|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|separator|sheet|spinner|spinner-downbutton|spinner-textfield|spinner-upbutton|splitter|statusbar|statusbarpanel|tab|tabpanel|tabpanels|tab-scroll-arrow-back|tab-scroll-arrow-forward|textfield|textfield-multiline|toolbar|toolbarbutton|toolbarbutton-dropdown|toolbargripper|toolbox|tooltip|treeheader|treeheadercell|treeheadersortarrow|treeitem|treeline|treetwisty|treetwistyopen|treeview|-moz-mac-unified-toolbar|-moz-win-borderless-glass|-moz-win-browsertabbar-toolbox|-moz-win-communicationstext|-moz-win-communications-toolbox|-moz-win-exclude-glass|-moz-win-glass|-moz-win-mediatext|-moz-win-media-toolbox|-moz-window-button-box|-moz-window-button-box-maximized|-moz-window-button-close|-moz-window-button-maximize|-moz-window-button-minimize|-moz-window-button-restore|-moz-window-frame-bottom|-moz-window-frame-left|-moz-window-frame-right|-moz-window-titlebar|-moz-window-titlebar-maximized\",\"-moz-binding\":\"<url>|none\",\"-moz-border-bottom-colors\":\"<color>+|none\",\"-moz-border-left-colors\":\"<color>+|none\",\"-moz-border-right-colors\":\"<color>+|none\",\"-moz-border-top-colors\":\"<color>+|none\",\"-moz-context-properties\":\"none|[fill|fill-opacity|stroke|stroke-opacity]#\",\"-moz-float-edge\":\"border-box|content-box|margin-box|padding-box\",\"-moz-force-broken-image-icon\":\"0|1\",\"-moz-image-region\":\"<shape>|auto\",\"-moz-orient\":\"inline|block|horizontal|vertical\",\"-moz-outline-radius\":\"<outline-radius>{1,4} [/ <outline-radius>{1,4}]?\",\"-moz-outline-radius-bottomleft\":\"<outline-radius>\",\"-moz-outline-radius-bottomright\":\"<outline-radius>\",\"-moz-outline-radius-topleft\":\"<outline-radius>\",\"-moz-outline-radius-topright\":\"<outline-radius>\",\"-moz-stack-sizing\":\"ignore|stretch-to-fit\",\"-moz-text-blink\":\"none|blink\",\"-moz-user-focus\":\"ignore|normal|select-after|select-before|select-menu|select-same|select-all|none\",\"-moz-user-input\":\"auto|none|enabled|disabled\",\"-moz-user-modify\":\"read-only|read-write|write-only\",\"-moz-window-dragging\":\"drag|no-drag\",\"-moz-window-shadow\":\"default|menu|tooltip|sheet|none\",\"-webkit-appearance\":\"none|button|button-bevel|caps-lock-indicator|caret|checkbox|default-button|inner-spin-button|listbox|listitem|media-controls-background|media-controls-fullscreen-background|media-current-time-display|media-enter-fullscreen-button|media-exit-fullscreen-button|media-fullscreen-button|media-mute-button|media-overlay-play-button|media-play-button|media-seek-back-button|media-seek-forward-button|media-slider|media-sliderthumb|media-time-remaining-display|media-toggle-closed-captions-button|media-volume-slider|media-volume-slider-container|media-volume-sliderthumb|menulist|menulist-button|menulist-text|menulist-textfield|meter|progress-bar|progress-bar-value|push-button|radio|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbargripper-horizontal|scrollbargripper-vertical|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|searchfield-cancel-button|searchfield-decoration|searchfield-results-button|searchfield-results-decoration|slider-horizontal|slider-vertical|sliderthumb-horizontal|sliderthumb-vertical|square-button|textarea|textfield|-apple-pay-button\",\"-webkit-border-before\":\"<'border-width'>||<'border-style'>||<color>\",\"-webkit-border-before-color\":\"<color>\",\"-webkit-border-before-style\":\"<'border-style'>\",\"-webkit-border-before-width\":\"<'border-width'>\",\"-webkit-box-reflect\":\"[above|below|right|left]? <length>? <image>?\",\"-webkit-line-clamp\":\"none|<integer>\",\"-webkit-mask\":\"[<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||[<box>|border|padding|content|text]||[<box>|border|padding|content]]#\",\"-webkit-mask-attachment\":\"<attachment>#\",\"-webkit-mask-clip\":\"[<box>|border|padding|content|text]#\",\"-webkit-mask-composite\":\"<composite-style>#\",\"-webkit-mask-image\":\"<mask-reference>#\",\"-webkit-mask-origin\":\"[<box>|border|padding|content]#\",\"-webkit-mask-position\":\"<position>#\",\"-webkit-mask-position-x\":\"[<length-percentage>|left|center|right]#\",\"-webkit-mask-position-y\":\"[<length-percentage>|top|center|bottom]#\",\"-webkit-mask-repeat\":\"<repeat-style>#\",\"-webkit-mask-repeat-x\":\"repeat|no-repeat|space|round\",\"-webkit-mask-repeat-y\":\"repeat|no-repeat|space|round\",\"-webkit-mask-size\":\"<bg-size>#\",\"-webkit-overflow-scrolling\":\"auto|touch\",\"-webkit-tap-highlight-color\":\"<color>\",\"-webkit-text-fill-color\":\"<color>\",\"-webkit-text-stroke\":\"<length>||<color>\",\"-webkit-text-stroke-color\":\"<color>\",\"-webkit-text-stroke-width\":\"<length>\",\"-webkit-touch-callout\":\"default|none\",\"-webkit-user-modify\":\"read-only|read-write|read-write-plaintext-only\",\"accent-color\":\"auto|<color>\",\"align-content\":\"normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>\",\"align-items\":\"normal|stretch|<baseline-position>|[<overflow-position>? <self-position>]\",\"align-self\":\"auto|normal|stretch|<baseline-position>|<overflow-position>? <self-position>\",\"align-tracks\":\"[normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>]#\",all:\"initial|inherit|unset|revert|revert-layer\",\"anchor-name\":\"none|<dashed-ident>#\",\"anchor-scope\":\"none|all|<dashed-ident>#\",animation:\"<single-animation>#\",\"animation-composition\":\"<single-animation-composition>#\",\"animation-delay\":\"<time>#\",\"animation-direction\":\"<single-animation-direction>#\",\"animation-duration\":\"<time>#\",\"animation-fill-mode\":\"<single-animation-fill-mode>#\",\"animation-iteration-count\":\"<single-animation-iteration-count>#\",\"animation-name\":\"[none|<keyframes-name>]#\",\"animation-play-state\":\"<single-animation-play-state>#\",\"animation-range\":\"[<'animation-range-start'> <'animation-range-end'>?]#\",\"animation-range-end\":\"[normal|<length-percentage>|<timeline-range-name> <length-percentage>?]#\",\"animation-range-start\":\"[normal|<length-percentage>|<timeline-range-name> <length-percentage>?]#\",\"animation-timing-function\":\"<easing-function>#\",\"animation-timeline\":\"<single-animation-timeline>#\",appearance:\"none|auto|textfield|menulist-button|<compat-auto>\",\"aspect-ratio\":\"auto||<ratio>\",azimuth:\"<angle>|[[left-side|far-left|left|center-left|center|center-right|right|far-right|right-side]||behind]|leftwards|rightwards\",\"backdrop-filter\":\"none|<filter-function-list>\",\"backface-visibility\":\"visible|hidden\",background:\"[<bg-layer> ,]* <final-bg-layer>\",\"background-attachment\":\"<attachment>#\",\"background-blend-mode\":\"<blend-mode>#\",\"background-clip\":\"<bg-clip>#\",\"background-color\":\"<color>\",\"background-image\":\"<bg-image>#\",\"background-origin\":\"<box>#\",\"background-position\":\"<bg-position>#\",\"background-position-x\":\"[center|[[left|right|x-start|x-end]? <length-percentage>?]!]#\",\"background-position-y\":\"[center|[[top|bottom|y-start|y-end]? <length-percentage>?]!]#\",\"background-repeat\":\"<repeat-style>#\",\"background-size\":\"<bg-size>#\",\"block-size\":\"<'width'>\",border:\"<line-width>||<line-style>||<color>\",\"border-block\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-block-color\":\"<'border-top-color'>{1,2}\",\"border-block-style\":\"<'border-top-style'>\",\"border-block-width\":\"<'border-top-width'>\",\"border-block-end\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-block-end-color\":\"<'border-top-color'>\",\"border-block-end-style\":\"<'border-top-style'>\",\"border-block-end-width\":\"<'border-top-width'>\",\"border-block-start\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-block-start-color\":\"<'border-top-color'>\",\"border-block-start-style\":\"<'border-top-style'>\",\"border-block-start-width\":\"<'border-top-width'>\",\"border-bottom\":\"<line-width>||<line-style>||<color>\",\"border-bottom-color\":\"<'border-top-color'>\",\"border-bottom-left-radius\":\"<length-percentage>{1,2}\",\"border-bottom-right-radius\":\"<length-percentage>{1,2}\",\"border-bottom-style\":\"<line-style>\",\"border-bottom-width\":\"<line-width>\",\"border-collapse\":\"collapse|separate\",\"border-color\":\"<color>{1,4}\",\"border-end-end-radius\":\"<length-percentage>{1,2}\",\"border-end-start-radius\":\"<length-percentage>{1,2}\",\"border-image\":\"<'border-image-source'>||<'border-image-slice'> [/ <'border-image-width'>|/ <'border-image-width'>? / <'border-image-outset'>]?||<'border-image-repeat'>\",\"border-image-outset\":\"[<length>|<number>]{1,4}\",\"border-image-repeat\":\"[stretch|repeat|round|space]{1,2}\",\"border-image-slice\":\"<number-percentage>{1,4}&&fill?\",\"border-image-source\":\"none|<image>\",\"border-image-width\":\"[<length-percentage>|<number>|auto]{1,4}\",\"border-inline\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-inline-end\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-inline-color\":\"<'border-top-color'>{1,2}\",\"border-inline-style\":\"<'border-top-style'>\",\"border-inline-width\":\"<'border-top-width'>\",\"border-inline-end-color\":\"<'border-top-color'>\",\"border-inline-end-style\":\"<'border-top-style'>\",\"border-inline-end-width\":\"<'border-top-width'>\",\"border-inline-start\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-inline-start-color\":\"<'border-top-color'>\",\"border-inline-start-style\":\"<'border-top-style'>\",\"border-inline-start-width\":\"<'border-top-width'>\",\"border-left\":\"<line-width>||<line-style>||<color>\",\"border-left-color\":\"<color>\",\"border-left-style\":\"<line-style>\",\"border-left-width\":\"<line-width>\",\"border-radius\":\"<length-percentage>{1,4} [/ <length-percentage>{1,4}]?\",\"border-right\":\"<line-width>||<line-style>||<color>\",\"border-right-color\":\"<color>\",\"border-right-style\":\"<line-style>\",\"border-right-width\":\"<line-width>\",\"border-spacing\":\"<length> <length>?\",\"border-start-end-radius\":\"<length-percentage>{1,2}\",\"border-start-start-radius\":\"<length-percentage>{1,2}\",\"border-style\":\"<line-style>{1,4}\",\"border-top\":\"<line-width>||<line-style>||<color>\",\"border-top-color\":\"<color>\",\"border-top-left-radius\":\"<length-percentage>{1,2}\",\"border-top-right-radius\":\"<length-percentage>{1,2}\",\"border-top-style\":\"<line-style>\",\"border-top-width\":\"<line-width>\",\"border-width\":\"<line-width>{1,4}\",bottom:\"<length>|<percentage>|auto\",\"box-align\":\"start|center|end|baseline|stretch\",\"box-decoration-break\":\"slice|clone\",\"box-direction\":\"normal|reverse|inherit\",\"box-flex\":\"<number>\",\"box-flex-group\":\"<integer>\",\"box-lines\":\"single|multiple\",\"box-ordinal-group\":\"<integer>\",\"box-orient\":\"horizontal|vertical|inline-axis|block-axis|inherit\",\"box-pack\":\"start|center|end|justify\",\"box-shadow\":\"none|<shadow>#\",\"box-sizing\":\"content-box|border-box\",\"break-after\":\"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region\",\"break-before\":\"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region\",\"break-inside\":\"auto|avoid|avoid-page|avoid-column|avoid-region\",\"caption-side\":\"top|bottom|block-start|block-end|inline-start|inline-end\",caret:\"<'caret-color'>||<'caret-shape'>\",\"caret-color\":\"auto|<color>\",\"caret-shape\":\"auto|bar|block|underscore\",clear:\"none|left|right|both|inline-start|inline-end\",clip:\"<shape>|auto\",\"clip-path\":\"<clip-source>|[<basic-shape>||<geometry-box>]|none\",\"clip-rule\":\"nonzero|evenodd\",color:\"<color>\",\"color-interpolation-filters\":\"auto|sRGB|linearRGB\",\"color-scheme\":\"normal|[light|dark|<custom-ident>]+&&only?\",\"column-count\":\"<integer>|auto\",\"column-fill\":\"auto|balance\",\"column-gap\":\"normal|<length-percentage>\",\"column-rule\":\"<'column-rule-width'>||<'column-rule-style'>||<'column-rule-color'>\",\"column-rule-color\":\"<color>\",\"column-rule-style\":\"<'border-style'>\",\"column-rule-width\":\"<'border-width'>\",\"column-span\":\"none|all\",\"column-width\":\"<length>|auto\",columns:\"<'column-width'>||<'column-count'>\",contain:\"none|strict|content|[[size||inline-size]||layout||style||paint]\",\"contain-intrinsic-size\":\"[auto? [none|<length>]]{1,2}\",\"contain-intrinsic-block-size\":\"auto? [none|<length>]\",\"contain-intrinsic-height\":\"auto? [none|<length>]\",\"contain-intrinsic-inline-size\":\"auto? [none|<length>]\",\"contain-intrinsic-width\":\"auto? [none|<length>]\",container:\"<'container-name'> [/ <'container-type'>]?\",\"container-name\":\"none|<custom-ident>+\",\"container-type\":\"normal||[size|inline-size]\",content:\"normal|none|[<content-replacement>|<content-list>] [/ [<string>|<counter>]+]?\",\"content-visibility\":\"visible|auto|hidden\",\"counter-increment\":\"[<counter-name> <integer>?]+|none\",\"counter-reset\":\"[<counter-name> <integer>?|<reversed-counter-name> <integer>?]+|none\",\"counter-set\":\"[<counter-name> <integer>?]+|none\",cursor:\"[[<url> [<x> <y>]? ,]* [auto|default|none|context-menu|help|pointer|progress|wait|cell|crosshair|text|vertical-text|alias|copy|move|no-drop|not-allowed|e-resize|n-resize|ne-resize|nw-resize|s-resize|se-resize|sw-resize|w-resize|ew-resize|ns-resize|nesw-resize|nwse-resize|col-resize|row-resize|all-scroll|zoom-in|zoom-out|grab|grabbing|hand|-webkit-grab|-webkit-grabbing|-webkit-zoom-in|-webkit-zoom-out|-moz-grab|-moz-grabbing|-moz-zoom-in|-moz-zoom-out]]\",d:\"none|path( <string> )\",cx:\"<length>|<percentage>\",cy:\"<length>|<percentage>\",direction:\"ltr|rtl\",display:\"[<display-outside>||<display-inside>]|<display-listitem>|<display-internal>|<display-box>|<display-legacy>|<-non-standard-display>\",\"dominant-baseline\":\"auto|use-script|no-change|reset-size|ideographic|alphabetic|hanging|mathematical|central|middle|text-after-edge|text-before-edge\",\"empty-cells\":\"show|hide\",\"field-sizing\":\"content|fixed\",fill:\"<paint>\",\"fill-opacity\":\"<number-zero-one>\",\"fill-rule\":\"nonzero|evenodd\",filter:\"none|<filter-function-list>|<-ms-filter-function-list>\",flex:\"none|[<'flex-grow'> <'flex-shrink'>?||<'flex-basis'>]\",\"flex-basis\":\"content|<'width'>\",\"flex-direction\":\"row|row-reverse|column|column-reverse\",\"flex-flow\":\"<'flex-direction'>||<'flex-wrap'>\",\"flex-grow\":\"<number>\",\"flex-shrink\":\"<number>\",\"flex-wrap\":\"nowrap|wrap|wrap-reverse\",float:\"left|right|none|inline-start|inline-end\",font:\"[[<'font-style'>||<font-variant-css2>||<'font-weight'>||<font-width-css3>]? <'font-size'> [/ <'line-height'>]? <'font-family'>#]|<system-family-name>|<-non-standard-font>\",\"font-family\":\"[<family-name>|<generic-family>]#\",\"font-feature-settings\":\"normal|<feature-tag-value>#\",\"font-kerning\":\"auto|normal|none\",\"font-language-override\":\"normal|<string>\",\"font-optical-sizing\":\"auto|none\",\"font-palette\":\"normal|light|dark|<palette-identifier>\",\"font-variation-settings\":\"normal|[<string> <number>]#\",\"font-size\":\"<absolute-size>|<relative-size>|<length-percentage>\",\"font-size-adjust\":\"none|[ex-height|cap-height|ch-width|ic-width|ic-height]? [from-font|<number>]\",\"font-smooth\":\"auto|never|always|<absolute-size>|<length>\",\"font-stretch\":\"<font-stretch-absolute>\",\"font-style\":\"normal|italic|oblique <angle>?\",\"font-synthesis\":\"none|[weight||style||small-caps||position]\",\"font-synthesis-position\":\"auto|none\",\"font-synthesis-small-caps\":\"auto|none\",\"font-synthesis-style\":\"auto|none\",\"font-synthesis-weight\":\"auto|none\",\"font-variant\":\"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]\",\"font-variant-alternates\":\"normal|[stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )]\",\"font-variant-caps\":\"normal|small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps\",\"font-variant-east-asian\":\"normal|[<east-asian-variant-values>||<east-asian-width-values>||ruby]\",\"font-variant-emoji\":\"normal|text|emoji|unicode\",\"font-variant-ligatures\":\"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>]\",\"font-variant-numeric\":\"normal|[<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero]\",\"font-variant-position\":\"normal|sub|super\",\"font-weight\":\"<font-weight-absolute>|bolder|lighter\",\"forced-color-adjust\":\"auto|none\",gap:\"<'row-gap'> <'column-gap'>?\",grid:\"<'grid-template'>|<'grid-template-rows'> / [auto-flow&&dense?] <'grid-auto-columns'>?|[auto-flow&&dense?] <'grid-auto-rows'>? / <'grid-template-columns'>\",\"grid-area\":\"<grid-line> [/ <grid-line>]{0,3}\",\"grid-auto-columns\":\"<track-size>+\",\"grid-auto-flow\":\"[row|column]||dense\",\"grid-auto-rows\":\"<track-size>+\",\"grid-column\":\"<grid-line> [/ <grid-line>]?\",\"grid-column-end\":\"<grid-line>\",\"grid-column-gap\":\"<length-percentage>\",\"grid-column-start\":\"<grid-line>\",\"grid-gap\":\"<'grid-row-gap'> <'grid-column-gap'>?\",\"grid-row\":\"<grid-line> [/ <grid-line>]?\",\"grid-row-end\":\"<grid-line>\",\"grid-row-gap\":\"<length-percentage>\",\"grid-row-start\":\"<grid-line>\",\"grid-template\":\"none|[<'grid-template-rows'> / <'grid-template-columns'>]|[<line-names>? <string> <track-size>? <line-names>?]+ [/ <explicit-track-list>]?\",\"grid-template-areas\":\"none|<string>+\",\"grid-template-columns\":\"none|<track-list>|<auto-track-list>|subgrid <line-name-list>?\",\"grid-template-rows\":\"none|<track-list>|<auto-track-list>|subgrid <line-name-list>?\",\"hanging-punctuation\":\"none|[first||[force-end|allow-end]||last]\",height:\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>\",\"hyphenate-character\":\"auto|<string>\",\"hyphenate-limit-chars\":\"[auto|<integer>]{1,3}\",hyphens:\"none|manual|auto\",\"image-orientation\":\"from-image|<angle>|[<angle>? flip]\",\"image-rendering\":\"auto|crisp-edges|pixelated|optimizeSpeed|optimizeQuality|<-non-standard-image-rendering>\",\"image-resolution\":\"[from-image||<resolution>]&&snap?\",\"ime-mode\":\"auto|normal|active|inactive|disabled\",\"initial-letter\":\"normal|[<number> <integer>?]\",\"initial-letter-align\":\"[auto|alphabetic|hanging|ideographic]\",\"inline-size\":\"<'width'>\",\"input-security\":\"auto|none\",inset:\"<'top'>{1,4}\",\"inset-block\":\"<'top'>{1,2}\",\"inset-block-end\":\"<'top'>\",\"inset-block-start\":\"<'top'>\",\"inset-inline\":\"<'top'>{1,2}\",\"inset-inline-end\":\"<'top'>\",\"inset-inline-start\":\"<'top'>\",\"interpolate-size\":\"numeric-only|allow-keywords\",isolation:\"auto|isolate\",\"justify-content\":\"normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]\",\"justify-items\":\"normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]|legacy|legacy&&[left|right|center]\",\"justify-self\":\"auto|normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]\",\"justify-tracks\":\"[normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]]#\",left:\"<length>|<percentage>|auto\",\"letter-spacing\":\"normal|<length-percentage>\",\"line-break\":\"auto|loose|normal|strict|anywhere\",\"line-clamp\":\"none|<integer>\",\"line-height\":\"normal|<number>|<length>|<percentage>\",\"line-height-step\":\"<length>\",\"list-style\":\"<'list-style-type'>||<'list-style-position'>||<'list-style-image'>\",\"list-style-image\":\"<image>|none\",\"list-style-position\":\"inside|outside\",\"list-style-type\":\"<counter-style>|<string>|none\",margin:\"[<length>|<percentage>|auto]{1,4}\",\"margin-block\":\"<'margin-left'>{1,2}\",\"margin-block-end\":\"<'margin-left'>\",\"margin-block-start\":\"<'margin-left'>\",\"margin-bottom\":\"<length>|<percentage>|auto\",\"margin-inline\":\"<'margin-left'>{1,2}\",\"margin-inline-end\":\"<'margin-left'>\",\"margin-inline-start\":\"<'margin-left'>\",\"margin-left\":\"<length>|<percentage>|auto\",\"margin-right\":\"<length>|<percentage>|auto\",\"margin-top\":\"<length>|<percentage>|auto\",\"margin-trim\":\"none|in-flow|all\",marker:\"none|<url>\",\"marker-end\":\"none|<url>\",\"marker-mid\":\"none|<url>\",\"marker-start\":\"none|<url>\",mask:\"<mask-layer>#\",\"mask-border\":\"<'mask-border-source'>||<'mask-border-slice'> [/ <'mask-border-width'>? [/ <'mask-border-outset'>]?]?||<'mask-border-repeat'>||<'mask-border-mode'>\",\"mask-border-mode\":\"luminance|alpha\",\"mask-border-outset\":\"[<length>|<number>]{1,4}\",\"mask-border-repeat\":\"[stretch|repeat|round|space]{1,2}\",\"mask-border-slice\":\"<number-percentage>{1,4} fill?\",\"mask-border-source\":\"none|<image>\",\"mask-border-width\":\"[<length-percentage>|<number>|auto]{1,4}\",\"mask-clip\":\"[<geometry-box>|no-clip]#\",\"mask-composite\":\"<compositing-operator>#\",\"mask-image\":\"<mask-reference>#\",\"mask-mode\":\"<masking-mode>#\",\"mask-origin\":\"<geometry-box>#\",\"mask-position\":\"<position>#\",\"mask-repeat\":\"<repeat-style>#\",\"mask-size\":\"<bg-size>#\",\"mask-type\":\"luminance|alpha\",\"masonry-auto-flow\":\"[pack|next]||[definite-first|ordered]\",\"math-depth\":\"auto-add|add( <integer> )|<integer>\",\"math-shift\":\"normal|compact\",\"math-style\":\"normal|compact\",\"max-block-size\":\"<'max-width'>\",\"max-height\":\"none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>\",\"max-inline-size\":\"<'max-width'>\",\"max-lines\":\"none|<integer>\",\"max-width\":\"none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>\",\"min-block-size\":\"<'min-width'>\",\"min-height\":\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>\",\"min-inline-size\":\"<'min-width'>\",\"min-width\":\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>\",\"mix-blend-mode\":\"<blend-mode>|plus-lighter\",\"object-fit\":\"fill|contain|cover|none|scale-down\",\"object-position\":\"<position>\",offset:\"[<'offset-position'>? [<'offset-path'> [<'offset-distance'>||<'offset-rotate'>]?]?]! [/ <'offset-anchor'>]?\",\"offset-anchor\":\"auto|<position>\",\"offset-distance\":\"<length-percentage>\",\"offset-path\":\"none|<offset-path>||<coord-box>\",\"offset-position\":\"normal|auto|<position>\",\"offset-rotate\":\"[auto|reverse]||<angle>\",opacity:\"<alpha-value>\",order:\"<integer>\",orphans:\"<integer>\",outline:\"[<'outline-width'>||<'outline-style'>||<'outline-color'>]\",\"outline-color\":\"auto|<color>\",\"outline-offset\":\"<length>\",\"outline-style\":\"auto|<'border-style'>\",\"outline-width\":\"<line-width>\",overflow:\"[visible|hidden|clip|scroll|auto]{1,2}|<-non-standard-overflow>\",\"overflow-anchor\":\"auto|none\",\"overflow-block\":\"visible|hidden|clip|scroll|auto\",\"overflow-clip-box\":\"padding-box|content-box\",\"overflow-clip-margin\":\"<visual-box>||<length [0,∞]>\",\"overflow-inline\":\"visible|hidden|clip|scroll|auto\",\"overflow-wrap\":\"normal|break-word|anywhere\",\"overflow-x\":\"visible|hidden|clip|scroll|auto\",\"overflow-y\":\"visible|hidden|clip|scroll|auto\",overlay:\"none|auto\",\"overscroll-behavior\":\"[contain|none|auto]{1,2}\",\"overscroll-behavior-block\":\"contain|none|auto\",\"overscroll-behavior-inline\":\"contain|none|auto\",\"overscroll-behavior-x\":\"contain|none|auto\",\"overscroll-behavior-y\":\"contain|none|auto\",padding:\"[<length>|<percentage>]{1,4}\",\"padding-block\":\"<'padding-left'>{1,2}\",\"padding-block-end\":\"<'padding-left'>\",\"padding-block-start\":\"<'padding-left'>\",\"padding-bottom\":\"<length>|<percentage>\",\"padding-inline\":\"<'padding-left'>{1,2}\",\"padding-inline-end\":\"<'padding-left'>\",\"padding-inline-start\":\"<'padding-left'>\",\"padding-left\":\"<length>|<percentage>\",\"padding-right\":\"<length>|<percentage>\",\"padding-top\":\"<length>|<percentage>\",page:\"auto|<custom-ident>\",\"page-break-after\":\"auto|always|avoid|left|right|recto|verso\",\"page-break-before\":\"auto|always|avoid|left|right|recto|verso\",\"page-break-inside\":\"auto|avoid\",\"paint-order\":\"normal|[fill||stroke||markers]\",perspective:\"none|<length>\",\"perspective-origin\":\"<position>\",\"place-content\":\"<'align-content'> <'justify-content'>?\",\"place-items\":\"<'align-items'> <'justify-items'>?\",\"place-self\":\"<'align-self'> <'justify-self'>?\",\"pointer-events\":\"auto|none|visiblePainted|visibleFill|visibleStroke|visible|painted|fill|stroke|all|inherit\",position:\"static|relative|absolute|sticky|fixed|-webkit-sticky\",\"position-anchor\":\"auto|<anchor-name>\",\"position-area\":\"none|<position-area>\",\"position-try\":\"<'position-try-order'>? <'position-try-fallbacks'>\",\"position-try-fallbacks\":\"none|[[<dashed-ident>||<try-tactic>]|<'position-area'>]#\",\"position-try-order\":\"normal|<try-size>\",\"position-visibility\":\"always|[anchors-valid||anchors-visible||no-overflow]\",\"print-color-adjust\":\"economy|exact\",quotes:\"none|auto|[<string> <string>]+\",r:\"<length>|<percentage>\",resize:\"none|both|horizontal|vertical|block|inline\",right:\"<length>|<percentage>|auto\",rotate:\"none|<angle>|[x|y|z|<number>{3}]&&<angle>\",\"row-gap\":\"normal|<length-percentage>\",\"ruby-align\":\"start|center|space-between|space-around\",\"ruby-merge\":\"separate|collapse|auto\",\"ruby-position\":\"[alternate||[over|under]]|inter-character\",rx:\"<length>|<percentage>\",ry:\"<length>|<percentage>\",scale:\"none|<number>{1,3}\",\"scrollbar-color\":\"auto|<color>{2}\",\"scrollbar-gutter\":\"auto|stable&&both-edges?\",\"scrollbar-width\":\"auto|thin|none\",\"scroll-behavior\":\"auto|smooth\",\"scroll-margin\":\"<length>{1,4}\",\"scroll-margin-block\":\"<length>{1,2}\",\"scroll-margin-block-start\":\"<length>\",\"scroll-margin-block-end\":\"<length>\",\"scroll-margin-bottom\":\"<length>\",\"scroll-margin-inline\":\"<length>{1,2}\",\"scroll-margin-inline-start\":\"<length>\",\"scroll-margin-inline-end\":\"<length>\",\"scroll-margin-left\":\"<length>\",\"scroll-margin-right\":\"<length>\",\"scroll-margin-top\":\"<length>\",\"scroll-padding\":\"[auto|<length-percentage>]{1,4}\",\"scroll-padding-block\":\"[auto|<length-percentage>]{1,2}\",\"scroll-padding-block-start\":\"auto|<length-percentage>\",\"scroll-padding-block-end\":\"auto|<length-percentage>\",\"scroll-padding-bottom\":\"auto|<length-percentage>\",\"scroll-padding-inline\":\"[auto|<length-percentage>]{1,2}\",\"scroll-padding-inline-start\":\"auto|<length-percentage>\",\"scroll-padding-inline-end\":\"auto|<length-percentage>\",\"scroll-padding-left\":\"auto|<length-percentage>\",\"scroll-padding-right\":\"auto|<length-percentage>\",\"scroll-padding-top\":\"auto|<length-percentage>\",\"scroll-snap-align\":\"[none|start|end|center]{1,2}\",\"scroll-snap-coordinate\":\"none|<position>#\",\"scroll-snap-destination\":\"<position>\",\"scroll-snap-points-x\":\"none|repeat( <length-percentage> )\",\"scroll-snap-points-y\":\"none|repeat( <length-percentage> )\",\"scroll-snap-stop\":\"normal|always\",\"scroll-snap-type\":\"none|[x|y|block|inline|both] [mandatory|proximity]?\",\"scroll-snap-type-x\":\"none|mandatory|proximity\",\"scroll-snap-type-y\":\"none|mandatory|proximity\",\"scroll-timeline\":\"[<'scroll-timeline-name'>||<'scroll-timeline-axis'>]#\",\"scroll-timeline-axis\":\"[block|inline|x|y]#\",\"scroll-timeline-name\":\"[none|<dashed-ident>]#\",\"shape-image-threshold\":\"<alpha-value>\",\"shape-margin\":\"<length-percentage>\",\"shape-outside\":\"none|[<shape-box>||<basic-shape>]|<image>\",\"shape-rendering\":\"auto|optimizeSpeed|crispEdges|geometricPrecision\",stroke:\"<paint>\",\"stroke-dasharray\":\"none|[<svg-length>+]#\",\"stroke-dashoffset\":\"<svg-length>\",\"stroke-linecap\":\"butt|round|square\",\"stroke-linejoin\":\"miter|round|bevel\",\"stroke-miterlimit\":\"<number-one-or-greater>\",\"stroke-opacity\":\"<'opacity'>\",\"stroke-width\":\"<svg-length>\",\"tab-size\":\"<integer>|<length>\",\"table-layout\":\"auto|fixed\",\"text-align\":\"start|end|left|right|center|justify|match-parent\",\"text-align-last\":\"auto|start|end|left|right|center|justify\",\"text-anchor\":\"start|middle|end\",\"text-combine-upright\":\"none|all|[digits <integer>?]\",\"text-decoration\":\"<'text-decoration-line'>||<'text-decoration-style'>||<'text-decoration-color'>||<'text-decoration-thickness'>\",\"text-decoration-color\":\"<color>\",\"text-decoration-line\":\"none|[underline||overline||line-through||blink]|spelling-error|grammar-error\",\"text-decoration-skip\":\"none|[objects||[spaces|[leading-spaces||trailing-spaces]]||edges||box-decoration]\",\"text-decoration-skip-ink\":\"auto|all|none\",\"text-decoration-style\":\"solid|double|dotted|dashed|wavy\",\"text-decoration-thickness\":\"auto|from-font|<length>|<percentage>\",\"text-emphasis\":\"<'text-emphasis-style'>||<'text-emphasis-color'>\",\"text-emphasis-color\":\"<color>\",\"text-emphasis-position\":\"auto|[over|under]&&[right|left]?\",\"text-emphasis-style\":\"none|[[filled|open]||[dot|circle|double-circle|triangle|sesame]]|<string>\",\"text-indent\":\"<length-percentage>&&hanging?&&each-line?\",\"text-justify\":\"auto|inter-character|inter-word|none\",\"text-orientation\":\"mixed|upright|sideways\",\"text-overflow\":\"[clip|ellipsis|<string>]{1,2}\",\"text-rendering\":\"auto|optimizeSpeed|optimizeLegibility|geometricPrecision\",\"text-shadow\":\"none|<shadow-t>#\",\"text-size-adjust\":\"none|auto|<percentage>\",\"text-spacing-trim\":\"space-all|normal|space-first|trim-start|trim-both|trim-all|auto\",\"text-transform\":\"none|capitalize|uppercase|lowercase|full-width|full-size-kana\",\"text-underline-offset\":\"auto|<length>|<percentage>\",\"text-underline-position\":\"auto|from-font|[under||[left|right]]\",\"text-wrap\":\"<'text-wrap-mode'>||<'text-wrap-style'>\",\"text-wrap-mode\":\"auto|wrap|nowrap\",\"text-wrap-style\":\"auto|balance|stable|pretty\",\"timeline-scope\":\"none|<dashed-ident>#\",top:\"<length>|<percentage>|auto\",\"touch-action\":\"auto|none|[[pan-x|pan-left|pan-right]||[pan-y|pan-up|pan-down]||pinch-zoom]|manipulation\",transform:\"none|<transform-list>\",\"transform-box\":\"content-box|border-box|fill-box|stroke-box|view-box\",\"transform-origin\":\"[<length-percentage>|left|center|right|top|bottom]|[[<length-percentage>|left|center|right]&&[<length-percentage>|top|center|bottom]] <length>?\",\"transform-style\":\"flat|preserve-3d\",transition:\"<single-transition>#\",\"transition-behavior\":\"<transition-behavior-value>#\",\"transition-delay\":\"<time>#\",\"transition-duration\":\"<time>#\",\"transition-property\":\"none|<single-transition-property>#\",\"transition-timing-function\":\"<easing-function>#\",translate:\"none|<length-percentage> [<length-percentage> <length>?]?\",\"unicode-bidi\":\"normal|embed|isolate|bidi-override|isolate-override|plaintext|-moz-isolate|-moz-isolate-override|-moz-plaintext|-webkit-isolate|-webkit-isolate-override|-webkit-plaintext\",\"user-select\":\"auto|text|none|contain|all\",\"vector-effect\":\"none|non-scaling-stroke|non-scaling-size|non-rotation|fixed-position\",\"vertical-align\":\"baseline|sub|super|text-top|text-bottom|middle|top|bottom|<percentage>|<length>\",\"view-timeline\":\"[<'view-timeline-name'> <'view-timeline-axis'>?]#\",\"view-timeline-axis\":\"[block|inline|x|y]#\",\"view-timeline-inset\":\"[[auto|<length-percentage>]{1,2}]#\",\"view-timeline-name\":\"none|<dashed-ident>#\",\"view-transition-name\":\"none|<custom-ident>\",visibility:\"visible|hidden|collapse\",\"white-space\":\"normal|pre|nowrap|pre-wrap|pre-line|break-spaces|[<'white-space-collapse'>||<'text-wrap'>||<'white-space-trim'>]\",\"white-space-collapse\":\"collapse|discard|preserve|preserve-breaks|preserve-spaces|break-spaces\",widows:\"<integer>\",width:\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|stretch|<-non-standard-size>\",\"will-change\":\"auto|<animateable-feature>#\",\"word-break\":\"normal|break-all|keep-all|break-word|auto-phrase\",\"word-spacing\":\"normal|<length>\",\"word-wrap\":\"normal|break-word\",\"writing-mode\":\"horizontal-tb|vertical-rl|vertical-lr|sideways-rl|sideways-lr|<svg-writing-mode>\",x:\"<length>|<percentage>\",y:\"<length>|<percentage>\",\"z-index\":\"auto|<integer>\",zoom:\"normal|reset|<number>|<percentage>\",\"-moz-background-clip\":\"padding|border\",\"-moz-border-radius-bottomleft\":\"<'border-bottom-left-radius'>\",\"-moz-border-radius-bottomright\":\"<'border-bottom-right-radius'>\",\"-moz-border-radius-topleft\":\"<'border-top-left-radius'>\",\"-moz-border-radius-topright\":\"<'border-bottom-right-radius'>\",\"-moz-control-character-visibility\":\"visible|hidden\",\"-moz-osx-font-smoothing\":\"auto|grayscale\",\"-moz-user-select\":\"none|text|all|-moz-none\",\"-ms-flex-align\":\"start|end|center|baseline|stretch\",\"-ms-flex-item-align\":\"auto|start|end|center|baseline|stretch\",\"-ms-flex-line-pack\":\"start|end|center|justify|distribute|stretch\",\"-ms-flex-negative\":\"<'flex-shrink'>\",\"-ms-flex-pack\":\"start|end|center|justify|distribute\",\"-ms-flex-order\":\"<integer>\",\"-ms-flex-positive\":\"<'flex-grow'>\",\"-ms-flex-preferred-size\":\"<'flex-basis'>\",\"-ms-interpolation-mode\":\"nearest-neighbor|bicubic\",\"-ms-grid-column-align\":\"start|end|center|stretch\",\"-ms-grid-row-align\":\"start|end|center|stretch\",\"-ms-hyphenate-limit-last\":\"none|always|column|page|spread\",\"-webkit-background-clip\":\"[<box>|border|padding|content|text]#\",\"-webkit-column-break-after\":\"always|auto|avoid\",\"-webkit-column-break-before\":\"always|auto|avoid\",\"-webkit-column-break-inside\":\"always|auto|avoid\",\"-webkit-font-smoothing\":\"auto|none|antialiased|subpixel-antialiased\",\"-webkit-mask-box-image\":\"[<url>|<gradient>|none] [<length-percentage>{4} <-webkit-mask-box-repeat>{2}]?\",\"-webkit-print-color-adjust\":\"economy|exact\",\"-webkit-text-security\":\"none|circle|disc|square\",\"-webkit-user-drag\":\"none|element|auto\",\"-webkit-user-select\":\"auto|none|text|all\",\"alignment-baseline\":\"auto|baseline|before-edge|text-before-edge|middle|central|after-edge|text-after-edge|ideographic|alphabetic|hanging|mathematical\",\"baseline-shift\":\"baseline|sub|super|<svg-length>\",behavior:\"<url>+\",cue:\"<'cue-before'> <'cue-after'>?\",\"cue-after\":\"<url> <decibel>?|none\",\"cue-before\":\"<url> <decibel>?|none\",\"glyph-orientation-horizontal\":\"<angle>\",\"glyph-orientation-vertical\":\"<angle>\",kerning:\"auto|<svg-length>\",pause:\"<'pause-before'> <'pause-after'>?\",\"pause-after\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",\"pause-before\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",rest:\"<'rest-before'> <'rest-after'>?\",\"rest-after\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",\"rest-before\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",src:\"[<url> [format( <string># )]?|local( <family-name> )]#\",speak:\"auto|never|always\",\"speak-as\":\"normal|spell-out||digits||[literal-punctuation|no-punctuation]\",\"unicode-range\":\"<urange>#\",\"voice-balance\":\"<number>|left|center|right|leftwards|rightwards\",\"voice-duration\":\"auto|<time>\",\"voice-family\":\"[[<family-name>|<generic-voice>] ,]* [<family-name>|<generic-voice>]|preserve\",\"voice-pitch\":\"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]\",\"voice-range\":\"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]\",\"voice-rate\":\"[normal|x-slow|slow|medium|fast|x-fast]||<percentage>\",\"voice-stress\":\"normal|strong|moderate|none|reduced\",\"voice-volume\":\"silent|[[x-soft|soft|medium|loud|x-loud]||<decibel>]\",\"white-space-trim\":\"none|discard-before||discard-after||discard-inner\"},atrules:{charset:{prelude:\"<string>\",descriptors:null},\"counter-style\":{prelude:\"<counter-style-name>\",descriptors:{\"additive-symbols\":\"[<integer>&&<symbol>]#\",fallback:\"<counter-style-name>\",negative:\"<symbol> <symbol>?\",pad:\"<integer>&&<symbol>\",prefix:\"<symbol>\",range:\"[[<integer>|infinite]{2}]#|auto\",\"speak-as\":\"auto|bullets|numbers|words|spell-out|<counter-style-name>\",suffix:\"<symbol>\",symbols:\"<symbol>+\",system:\"cyclic|numeric|alphabetic|symbolic|additive|[fixed <integer>?]|[extends <counter-style-name>]\"}},document:{prelude:\"[<url>|url-prefix( <string> )|domain( <string> )|media-document( <string> )|regexp( <string> )]#\",descriptors:null},\"font-palette-values\":{prelude:\"<dashed-ident>\",descriptors:{\"base-palette\":\"light|dark|<integer [0,∞]>\",\"font-family\":\"<family-name>#\",\"override-colors\":\"[<integer [0,∞]> <absolute-color-base>]#\"}},\"font-face\":{prelude:null,descriptors:{\"ascent-override\":\"normal|<percentage>\",\"descent-override\":\"normal|<percentage>\",\"font-display\":\"[auto|block|swap|fallback|optional]\",\"font-family\":\"<family-name>\",\"font-feature-settings\":\"normal|<feature-tag-value>#\",\"font-variation-settings\":\"normal|[<string> <number>]#\",\"font-stretch\":\"<font-stretch-absolute>{1,2}\",\"font-style\":\"normal|italic|oblique <angle>{0,2}\",\"font-weight\":\"<font-weight-absolute>{1,2}\",\"line-gap-override\":\"normal|<percentage>\",\"size-adjust\":\"<percentage>\",src:\"[<url> [format( <string># )]?|local( <family-name> )]#\",\"unicode-range\":\"<urange>#\"}},\"font-feature-values\":{prelude:\"<family-name>#\",descriptors:null},import:{prelude:\"[<string>|<url>] [layer|layer( <layer-name> )]? [supports( [<supports-condition>|<declaration>] )]? <media-query-list>?\",descriptors:null},keyframes:{prelude:\"<keyframes-name>\",descriptors:null},layer:{prelude:\"[<layer-name>#|<layer-name>?]\",descriptors:null},media:{prelude:\"<media-query-list>\",descriptors:null},namespace:{prelude:\"<namespace-prefix>? [<string>|<url>]\",descriptors:null},page:{prelude:\"<page-selector-list>\",descriptors:{bleed:\"auto|<length>\",marks:\"none|[crop||cross]\",\"page-orientation\":\"upright|rotate-left|rotate-right\",size:\"<length>{1,2}|auto|[<page-size>||[portrait|landscape]]\"}},\"position-try\":{prelude:\"<dashed-ident>\",descriptors:{top:\"<'top'>\",left:\"<'left'>\",bottom:\"<'bottom'>\",right:\"<'right'>\",\"inset-block-start\":\"<'inset-block-start'>\",\"inset-block-end\":\"<'inset-block-end'>\",\"inset-inline-start\":\"<'inset-inline-start'>\",\"inset-inline-end\":\"<'inset-inline-end'>\",\"inset-block\":\"<'inset-block'>\",\"inset-inline\":\"<'inset-inline'>\",inset:\"<'inset'>\",\"margin-top\":\"<'margin-top'>\",\"margin-left\":\"<'margin-left'>\",\"margin-bottom\":\"<'margin-bottom'>\",\"margin-right\":\"<'margin-right'>\",\"margin-block-start\":\"<'margin-block-start'>\",\"margin-block-end\":\"<'margin-block-end'>\",\"margin-inline-start\":\"<'margin-inline-start'>\",\"margin-inline-end\":\"<'margin-inline-end'>\",margin:\"<'margin'>\",\"margin-block\":\"<'margin-block'>\",\"margin-inline\":\"<'margin-inline'>\",width:\"<'width'>\",height:\"<'height'>\",\"min-width\":\"<'min-width'>\",\"min-height\":\"<'min-height'>\",\"max-width\":\"<'max-width'>\",\"max-height\":\"<'max-height'>\",\"block-size\":\"<'block-size'>\",\"inline-size\":\"<'inline-size'>\",\"min-block-size\":\"<'min-block-size'>\",\"min-inline-size\":\"<'min-inline-size'>\",\"max-block-size\":\"<'max-block-size'>\",\"max-inline-size\":\"<'max-inline-size'>\",\"align-self\":\"<'align-self'>|anchor-center\",\"justify-self\":\"<'justify-self'>|anchor-center\"}},property:{prelude:\"<custom-property-name>\",descriptors:{syntax:\"<string>\",inherits:\"true|false\",\"initial-value\":\"<declaration-value>?\"}},scope:{prelude:\"[( <scope-start> )]? [to ( <scope-end> )]?\",descriptors:null},\"starting-style\":{prelude:null,descriptors:null},supports:{prelude:\"<supports-condition>\",descriptors:null},container:{prelude:\"[<container-name>]? <container-condition>\",descriptors:null},nest:{prelude:\"<complex-selector-list>\",descriptors:null}}}\nconst PLUSSIGN$f=0x002B\nconst HYPHENMINUS$9=0x002D\nconst N$5=0x006E\nconst DISALLOW_SIGN$2=true\nconst ALLOW_SIGN$2=false\nfunction checkInteger$2(offset,disallowSign){let pos=this.tokenStart+offset\nconst code=this.charCodeAt(pos)\nif(code===PLUSSIGN$f||code===HYPHENMINUS$9){disallowSign&&this.error(\"Number sign is not allowed\")\npos++}for(;pos<this.tokenEnd;pos++)isDigit$2(this.charCodeAt(pos))||this.error(\"Integer is expected\",pos)}function checkTokenIsInteger$1(disallowSign){return checkInteger$2.call(this,0,disallowSign)}function expectCharCode$1(offset,code){if(!this.cmpChar(this.tokenStart+offset,code)){let msg=\"\"\nswitch(code){case N$5:msg=\"N is expected\"\nbreak\ncase HYPHENMINUS$9:msg=\"HyphenMinus is expected\"\nbreak}this.error(msg,this.tokenStart+offset)}}function consumeB$2(){let offset=0\nlet sign=0\nlet type=this.tokenType\nwhile(type===WhiteSpace$3||type===Comment$3)type=this.lookupType(++offset)\nif(type!==Number$5){if(!this.isDelim(PLUSSIGN$f,offset)&&!this.isDelim(HYPHENMINUS$9,offset))return null\nsign=this.isDelim(PLUSSIGN$f,offset)?PLUSSIGN$f:HYPHENMINUS$9\ndo{type=this.lookupType(++offset)}while(type===WhiteSpace$3||type===Comment$3)\nif(type!==Number$5){this.skip(offset)\ncheckTokenIsInteger$1.call(this,DISALLOW_SIGN$2)}}offset>0&&this.skip(offset)\nif(sign===0){type=this.charCodeAt(this.tokenStart)\ntype!==PLUSSIGN$f&&type!==HYPHENMINUS$9&&this.error(\"Number sign is expected\")}checkTokenIsInteger$1.call(this,sign!==0)\nreturn sign===HYPHENMINUS$9?\"-\"+this.consume(Number$5):this.consume(Number$5)}const name$2a=\"AnPlusB\"\nconst structure$1o={a:[String,null],b:[String,null]}\nfunction parse$1t(){const start=this.tokenStart\nlet a=null\nlet b=null\nif(this.tokenType===Number$5){checkTokenIsInteger$1.call(this,ALLOW_SIGN$2)\nb=this.consume(Number$5)}else if(this.tokenType===Ident$1&&this.cmpChar(this.tokenStart,HYPHENMINUS$9)){a=\"-1\"\nexpectCharCode$1.call(this,1,N$5)\nswitch(this.tokenEnd-this.tokenStart){case 2:this.next()\nb=consumeB$2.call(this)\nbreak\ncase 3:expectCharCode$1.call(this,2,HYPHENMINUS$9)\nthis.next()\nthis.skipSC()\ncheckTokenIsInteger$1.call(this,DISALLOW_SIGN$2)\nb=\"-\"+this.consume(Number$5)\nbreak\ndefault:expectCharCode$1.call(this,2,HYPHENMINUS$9)\ncheckInteger$2.call(this,3,DISALLOW_SIGN$2)\nthis.next()\nb=this.substrToCursor(start+2)}}else if(this.tokenType===Ident$1||this.isDelim(PLUSSIGN$f)&&this.lookupType(1)===Ident$1){let sign=0\na=\"1\"\nif(this.isDelim(PLUSSIGN$f)){sign=1\nthis.next()}expectCharCode$1.call(this,0,N$5)\nswitch(this.tokenEnd-this.tokenStart){case 1:this.next()\nb=consumeB$2.call(this)\nbreak\ncase 2:expectCharCode$1.call(this,1,HYPHENMINUS$9)\nthis.next()\nthis.skipSC()\ncheckTokenIsInteger$1.call(this,DISALLOW_SIGN$2)\nb=\"-\"+this.consume(Number$5)\nbreak\ndefault:expectCharCode$1.call(this,1,HYPHENMINUS$9)\ncheckInteger$2.call(this,2,DISALLOW_SIGN$2)\nthis.next()\nb=this.substrToCursor(start+sign+1)}}else if(this.tokenType===Dimension$3){const code=this.charCodeAt(this.tokenStart)\nconst sign=code===PLUSSIGN$f||code===HYPHENMINUS$9\nlet i=this.tokenStart+sign\nfor(;i<this.tokenEnd;i++)if(!isDigit$2(this.charCodeAt(i)))break\ni===this.tokenStart+sign&&this.error(\"Integer is expected\",this.tokenStart+sign)\nexpectCharCode$1.call(this,i-this.tokenStart,N$5)\na=this.substring(start,i)\nif(i+1===this.tokenEnd){this.next()\nb=consumeB$2.call(this)}else{expectCharCode$1.call(this,i-this.tokenStart+1,HYPHENMINUS$9)\nif(i+2===this.tokenEnd){this.next()\nthis.skipSC()\ncheckTokenIsInteger$1.call(this,DISALLOW_SIGN$2)\nb=\"-\"+this.consume(Number$5)}else{checkInteger$2.call(this,i-this.tokenStart+2,DISALLOW_SIGN$2)\nthis.next()\nb=this.substrToCursor(i+1)}}}else this.error()\na!==null&&a.charCodeAt(0)===PLUSSIGN$f&&(a=a.substr(1))\nb!==null&&b.charCodeAt(0)===PLUSSIGN$f&&(b=b.substr(1))\nreturn{type:\"AnPlusB\",loc:this.getLocation(start,this.tokenStart),a:a,b:b}}function generate$1t(node){if(node.a){const a=(node.a===\"+1\"||node.a===\"1\"?\"n\":node.a===\"-1\"&&\"-n\")||node.a+\"n\"\nif(node.b){const b=node.b[0]===\"-\"||node.b[0]===\"+\"?node.b:\"+\"+node.b\nthis.tokenize(a+b)}else this.tokenize(a)}else this.tokenize(node.b)}var AnPlusB$1=Object.freeze({__proto__:null,generate:generate$1t,name:name$2a,parse:parse$1t,structure:structure$1o})\nfunction consumeRaw$a(){return this.Raw(this.consumeUntilLeftCurlyBracketOrSemicolon,true)}function isDeclarationBlockAtrule$1(){for(let offset=1,type;type=this.lookupType(offset);offset++){if(type===RightCurlyBracket$1)return true\nif(type===LeftCurlyBracket$1||type===AtKeyword$1)return false}return false}const name$29=\"Atrule\"\nconst walkContext$j=\"atrule\"\nconst structure$1n={name:String,prelude:[\"AtrulePrelude\",\"Raw\",null],block:[\"Block\",null]}\nfunction parse$1s(isDeclaration=false){const start=this.tokenStart\nlet name\nlet nameLowerCase\nlet prelude=null\nlet block=null\nthis.eat(AtKeyword$1)\nname=this.substrToCursor(start+1)\nnameLowerCase=name.toLowerCase()\nthis.skipSC()\nif(this.eof===false&&this.tokenType!==LeftCurlyBracket$1&&this.tokenType!==Semicolon$1){prelude=this.parseAtrulePrelude?this.parseWithFallback(this.AtrulePrelude.bind(this,name,isDeclaration),consumeRaw$a):consumeRaw$a.call(this,this.tokenIndex)\nthis.skipSC()}switch(this.tokenType){case Semicolon$1:this.next()\nbreak\ncase LeftCurlyBracket$1:block=hasOwnProperty.call(this.atrule,nameLowerCase)&&typeof this.atrule[nameLowerCase].block===\"function\"?this.atrule[nameLowerCase].block.call(this,isDeclaration):this.Block(isDeclarationBlockAtrule$1.call(this))\nbreak}return{type:\"Atrule\",loc:this.getLocation(start,this.tokenStart),name:name,prelude:prelude,block:block}}function generate$1s(node){this.token(AtKeyword$1,\"@\"+node.name)\nnode.prelude!==null&&this.node(node.prelude)\nnode.block?this.node(node.block):this.token(Semicolon$1,\";\")}var Atrule$2=Object.freeze({__proto__:null,generate:generate$1s,name:name$29,parse:parse$1s,structure:structure$1n,walkContext:walkContext$j})\nconst name$28=\"AtrulePrelude\"\nconst walkContext$i=\"atrulePrelude\"\nconst structure$1m={children:[[]]}\nfunction parse$1r(name){let children=null\nname!==null&&(name=name.toLowerCase())\nthis.skipSC()\nchildren=hasOwnProperty.call(this.atrule,name)&&typeof this.atrule[name].prelude===\"function\"?this.atrule[name].prelude.call(this):this.readSequence(this.scope.AtrulePrelude)\nthis.skipSC()\nthis.eof!==true&&this.tokenType!==LeftCurlyBracket$1&&this.tokenType!==Semicolon$1&&this.error(\"Semicolon or block is expected\")\nreturn{type:\"AtrulePrelude\",loc:this.getLocationFromList(children),children:children}}function generate$1r(node){this.children(node)}var AtrulePrelude$1=Object.freeze({__proto__:null,generate:generate$1r,name:name$28,parse:parse$1r,structure:structure$1m,walkContext:walkContext$i})\nconst DOLLARSIGN$3=0x0024\nconst ASTERISK$c=0x002A\nconst EQUALSSIGN$2=0x003D\nconst CIRCUMFLEXACCENT$1=0x005E\nconst VERTICALLINE$6=0x007C\nconst TILDE$5=0x007E\nfunction getAttributeName$1(){this.eof&&this.error(\"Unexpected end of input\")\nconst start=this.tokenStart\nlet expectIdent=false\nif(this.isDelim(ASTERISK$c)){expectIdent=true\nthis.next()}else this.isDelim(VERTICALLINE$6)||this.eat(Ident$1)\nif(this.isDelim(VERTICALLINE$6))if(this.charCodeAt(this.tokenStart+1)!==EQUALSSIGN$2){this.next()\nthis.eat(Ident$1)}else expectIdent&&this.error(\"Identifier is expected\",this.tokenEnd)\nelse expectIdent&&this.error(\"Vertical line is expected\")\nreturn{type:\"Identifier\",loc:this.getLocation(start,this.tokenStart),name:this.substrToCursor(start)}}function getOperator$1(){const start=this.tokenStart\nconst code=this.charCodeAt(start)\ncode!==EQUALSSIGN$2&&code!==TILDE$5&&code!==CIRCUMFLEXACCENT$1&&code!==DOLLARSIGN$3&&code!==ASTERISK$c&&code!==VERTICALLINE$6&&this.error(\"Attribute selector (=, ~=, ^=, $=, *=, |=) is expected\")\nthis.next()\nif(code!==EQUALSSIGN$2){this.isDelim(EQUALSSIGN$2)||this.error(\"Equal sign is expected\")\nthis.next()}return this.substrToCursor(start)}const name$27=\"AttributeSelector\"\nconst structure$1l={name:\"Identifier\",matcher:[String,null],value:[\"String\",\"Identifier\",null],flags:[String,null]}\nfunction parse$1q(){const start=this.tokenStart\nlet name\nlet matcher=null\nlet value=null\nlet flags=null\nthis.eat(LeftSquareBracket$1)\nthis.skipSC()\nname=getAttributeName$1.call(this)\nthis.skipSC()\nif(this.tokenType!==RightSquareBracket$1){if(this.tokenType!==Ident$1){matcher=getOperator$1.call(this)\nthis.skipSC()\nvalue=this.tokenType===String$4?this.String():this.Identifier()\nthis.skipSC()}if(this.tokenType===Ident$1){flags=this.consume(Ident$1)\nthis.skipSC()}}this.eat(RightSquareBracket$1)\nreturn{type:\"AttributeSelector\",loc:this.getLocation(start,this.tokenStart),name:name,matcher:matcher,value:value,flags:flags}}function generate$1q(node){this.token(Delim$1,\"[\")\nthis.node(node.name)\nif(node.matcher!==null){this.tokenize(node.matcher)\nthis.node(node.value)}node.flags!==null&&this.token(Ident$1,node.flags)\nthis.token(Delim$1,\"]\")}var AttributeSelector$2=Object.freeze({__proto__:null,generate:generate$1q,name:name$27,parse:parse$1q,structure:structure$1l})\nconst AMPERSAND$6=0x0026\nfunction consumeRaw$9(){return this.Raw(null,true)}function consumeRule$1(){return this.parseWithFallback(this.Rule,consumeRaw$9)}function consumeRawDeclaration$1(){return this.Raw(this.consumeUntilSemicolonIncluded,true)}function consumeDeclaration$1(){if(this.tokenType===Semicolon$1)return consumeRawDeclaration$1.call(this,this.tokenIndex)\nconst node=this.parseWithFallback(this.Declaration,consumeRawDeclaration$1)\nthis.tokenType===Semicolon$1&&this.next()\nreturn node}const name$26=\"Block\"\nconst walkContext$h=\"block\"\nconst structure$1k={children:[[\"Atrule\",\"Rule\",\"Declaration\"]]}\nfunction parse$1p(isStyleBlock){const consumer=isStyleBlock?consumeDeclaration$1:consumeRule$1\nconst start=this.tokenStart\nlet children=this.createList()\nthis.eat(LeftCurlyBracket$1)\nscan:while(!this.eof)switch(this.tokenType){case RightCurlyBracket$1:break scan\ncase WhiteSpace$3:case Comment$3:this.next()\nbreak\ncase AtKeyword$1:children.push(this.parseWithFallback(this.Atrule.bind(this,isStyleBlock),consumeRaw$9))\nbreak\ndefault:isStyleBlock&&this.isDelim(AMPERSAND$6)?children.push(consumeRule$1.call(this)):children.push(consumer.call(this))}this.eof||this.eat(RightCurlyBracket$1)\nreturn{type:\"Block\",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$1p(node){this.token(LeftCurlyBracket$1,\"{\")\nthis.children(node,(prev=>{prev.type===\"Declaration\"&&this.token(Semicolon$1,\";\")}))\nthis.token(RightCurlyBracket$1,\"}\")}var Block$1=Object.freeze({__proto__:null,generate:generate$1p,name:name$26,parse:parse$1p,structure:structure$1k,walkContext:walkContext$h})\nconst name$25=\"Brackets\"\nconst structure$1j={children:[[]]}\nfunction parse$1o(readSequence,recognizer){const start=this.tokenStart\nlet children=null\nthis.eat(LeftSquareBracket$1)\nchildren=readSequence.call(this,recognizer)\nthis.eof||this.eat(RightSquareBracket$1)\nreturn{type:\"Brackets\",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$1o(node){this.token(Delim$1,\"[\")\nthis.children(node)\nthis.token(Delim$1,\"]\")}var Brackets$1=Object.freeze({__proto__:null,generate:generate$1o,name:name$25,parse:parse$1o,structure:structure$1j})\nconst name$24=\"CDC\"\nconst structure$1i=[]\nfunction parse$1n(){const start=this.tokenStart\nthis.eat(CDC$3)\nreturn{type:\"CDC\",loc:this.getLocation(start,this.tokenStart)}}function generate$1n(){this.token(CDC$3,\"--\\x3e\")}var CDC$2=Object.freeze({__proto__:null,generate:generate$1n,name:name$24,parse:parse$1n,structure:structure$1i})\nconst name$23=\"CDO\"\nconst structure$1h=[]\nfunction parse$1m(){const start=this.tokenStart\nthis.eat(CDO$3)\nreturn{type:\"CDO\",loc:this.getLocation(start,this.tokenStart)}}function generate$1m(){this.token(CDO$3,\"\\x3c!--\")}var CDO$2=Object.freeze({__proto__:null,generate:generate$1m,name:name$23,parse:parse$1m,structure:structure$1h})\nconst FULLSTOP$5=0x002E\nconst name$22=\"ClassSelector\"\nconst structure$1g={name:String}\nfunction parse$1l(){this.eatDelim(FULLSTOP$5)\nreturn{type:\"ClassSelector\",loc:this.getLocation(this.tokenStart-1,this.tokenEnd),name:this.consume(Ident$1)}}function generate$1l(node){this.token(Delim$1,\".\")\nthis.token(Ident$1,node.name)}var ClassSelector$1=Object.freeze({__proto__:null,generate:generate$1l,name:name$22,parse:parse$1l,structure:structure$1g})\nconst PLUSSIGN$e=0x002B\nconst SOLIDUS$d=0x002F\nconst GREATERTHANSIGN$5=0x003E\nconst TILDE$4=0x007E\nconst name$21=\"Combinator\"\nconst structure$1f={name:String}\nfunction parse$1k(){const start=this.tokenStart\nlet name\nswitch(this.tokenType){case WhiteSpace$3:name=\" \"\nbreak\ncase Delim$1:switch(this.charCodeAt(this.tokenStart)){case GREATERTHANSIGN$5:case PLUSSIGN$e:case TILDE$4:this.next()\nbreak\ncase SOLIDUS$d:this.next()\nthis.eatIdent(\"deep\")\nthis.eatDelim(SOLIDUS$d)\nbreak\ndefault:this.error(\"Combinator is expected\")}name=this.substrToCursor(start)\nbreak}return{type:\"Combinator\",loc:this.getLocation(start,this.tokenStart),name:name}}function generate$1k(node){this.tokenize(node.name)}var Combinator$1=Object.freeze({__proto__:null,generate:generate$1k,name:name$21,parse:parse$1k,structure:structure$1f})\nconst ASTERISK$b=0x002A\nconst SOLIDUS$c=0x002F\nconst name$20=\"Comment\"\nconst structure$1e={value:String}\nfunction parse$1j(){const start=this.tokenStart\nlet end=this.tokenEnd\nthis.eat(Comment$3)\nend-start+2>=2&&this.charCodeAt(end-2)===ASTERISK$b&&this.charCodeAt(end-1)===SOLIDUS$c&&(end-=2)\nreturn{type:\"Comment\",loc:this.getLocation(start,this.tokenStart),value:this.substring(start+2,end)}}function generate$1j(node){this.token(Comment$3,\"/*\"+node.value+\"*/\")}var Comment$2=Object.freeze({__proto__:null,generate:generate$1j,name:name$20,parse:parse$1j,structure:structure$1e})\nconst likelyFeatureToken=new Set([Colon$1,RightParenthesis$1,EOF$3])\nconst name$1$=\"Condition\"\nconst structure$1d={kind:String,children:[[\"Identifier\",\"Feature\",\"FeatureFunction\",\"FeatureRange\",\"SupportsDeclaration\"]]}\nfunction featureOrRange(kind){if(this.lookupTypeNonSC(1)===Ident$1&&likelyFeatureToken.has(this.lookupTypeNonSC(2)))return this.Feature(kind)\nreturn this.FeatureRange(kind)}const parentheses$1={media:featureOrRange,container:featureOrRange,supports(){return this.SupportsDeclaration()}}\nfunction parse$1i(kind=\"media\"){const children=this.createList()\nscan:while(!this.eof)switch(this.tokenType){case Comment$3:case WhiteSpace$3:this.next()\ncontinue\ncase Ident$1:children.push(this.Identifier())\nbreak\ncase LeftParenthesis$1:{let term=this.parseWithFallback((()=>parentheses$1[kind].call(this,kind)),(()=>null))\nterm||(term=this.parseWithFallback((()=>{this.eat(LeftParenthesis$1)\nconst res=this.Condition(kind)\nthis.eat(RightParenthesis$1)\nreturn res}),(()=>this.GeneralEnclosed(kind))))\nchildren.push(term)\nbreak}case Function$3:{let term=this.parseWithFallback((()=>this.FeatureFunction(kind)),(()=>null))\nterm||(term=this.GeneralEnclosed(kind))\nchildren.push(term)\nbreak}default:break scan}children.isEmpty&&this.error(\"Condition is expected\")\nreturn{type:\"Condition\",loc:this.getLocationFromList(children),kind:kind,children:children}}function generate$1i(node){node.children.forEach((child=>{if(child.type===\"Condition\"){this.token(LeftParenthesis$1,\"(\")\nthis.node(child)\nthis.token(RightParenthesis$1,\")\")}else this.node(child)}))}var Condition=Object.freeze({__proto__:null,generate:generate$1i,name:name$1$,parse:parse$1i,structure:structure$1d})\nconst EXCLAMATIONMARK$5=0x0021\nconst NUMBERSIGN$7=0x0023\nconst DOLLARSIGN$2=0x0024\nconst AMPERSAND$5=0x0026\nconst ASTERISK$a=0x002A\nconst PLUSSIGN$d=0x002B\nconst SOLIDUS$b=0x002F\nfunction consumeValueRaw$1(){return this.Raw(this.consumeUntilExclamationMarkOrSemicolon,true)}function consumeCustomPropertyRaw$1(){return this.Raw(this.consumeUntilExclamationMarkOrSemicolon,false)}function consumeValue$1(){const startValueToken=this.tokenIndex\nconst value=this.Value()\nvalue.type!==\"Raw\"&&this.eof===false&&this.tokenType!==Semicolon$1&&this.isDelim(EXCLAMATIONMARK$5)===false&&this.isBalanceEdge(startValueToken)===false&&this.error()\nreturn value}const name$1_=\"Declaration\"\nconst walkContext$g=\"declaration\"\nconst structure$1c={important:[Boolean,String],property:String,value:[\"Value\",\"Raw\"]}\nfunction parse$1h(){const start=this.tokenStart\nconst startToken=this.tokenIndex\nconst property=readProperty$2.call(this)\nconst customProperty=isCustomProperty$1(property)\nconst parseValue=customProperty?this.parseCustomProperty:this.parseValue\nconst consumeRaw=customProperty?consumeCustomPropertyRaw$1:consumeValueRaw$1\nlet important=false\nlet value\nthis.skipSC()\nthis.eat(Colon$1)\nconst valueStart=this.tokenIndex\ncustomProperty||this.skipSC()\nvalue=parseValue?this.parseWithFallback(consumeValue$1,consumeRaw):consumeRaw.call(this,this.tokenIndex)\nif(customProperty&&value.type===\"Value\"&&value.children.isEmpty)for(let offset=valueStart-this.tokenIndex;offset<=0;offset++)if(this.lookupType(offset)===WhiteSpace$3){value.children.appendData({type:\"WhiteSpace\",loc:null,value:\" \"})\nbreak}if(this.isDelim(EXCLAMATIONMARK$5)){important=getImportant$1.call(this)\nthis.skipSC()}this.eof===false&&this.tokenType!==Semicolon$1&&this.isBalanceEdge(startToken)===false&&this.error()\nreturn{type:\"Declaration\",loc:this.getLocation(start,this.tokenStart),important:important,property:property,value:value}}function generate$1h(node){this.token(Ident$1,node.property)\nthis.token(Colon$1,\":\")\nthis.node(node.value)\nif(node.important){this.token(Delim$1,\"!\")\nthis.token(Ident$1,node.important===true?\"important\":node.important)}}function readProperty$2(){const start=this.tokenStart\nif(this.tokenType===Delim$1)switch(this.charCodeAt(this.tokenStart)){case ASTERISK$a:case DOLLARSIGN$2:case PLUSSIGN$d:case NUMBERSIGN$7:case AMPERSAND$5:this.next()\nbreak\ncase SOLIDUS$b:this.next()\nthis.isDelim(SOLIDUS$b)&&this.next()\nbreak}this.tokenType===Hash$3?this.eat(Hash$3):this.eat(Ident$1)\nreturn this.substrToCursor(start)}function getImportant$1(){this.eat(Delim$1)\nthis.skipSC()\nconst important=this.consume(Ident$1)\nreturn important===\"important\"||important}var Declaration$1=Object.freeze({__proto__:null,generate:generate$1h,name:name$1_,parse:parse$1h,structure:structure$1c,walkContext:walkContext$g})\nconst AMPERSAND$4=0x0026\nfunction consumeRaw$8(){return this.Raw(this.consumeUntilSemicolonIncluded,true)}const name$1Z=\"DeclarationList\"\nconst structure$1b={children:[[\"Declaration\",\"Atrule\",\"Rule\"]]}\nfunction parse$1g(){const children=this.createList()\nwhile(!this.eof)switch(this.tokenType){case WhiteSpace$3:case Comment$3:case Semicolon$1:this.next()\nbreak\ncase AtKeyword$1:children.push(this.parseWithFallback(this.Atrule.bind(this,true),consumeRaw$8))\nbreak\ndefault:this.isDelim(AMPERSAND$4)?children.push(this.parseWithFallback(this.Rule,consumeRaw$8)):children.push(this.parseWithFallback(this.Declaration,consumeRaw$8))}return{type:\"DeclarationList\",loc:this.getLocationFromList(children),children:children}}function generate$1g(node){this.children(node,(prev=>{prev.type===\"Declaration\"&&this.token(Semicolon$1,\";\")}))}var DeclarationList$1=Object.freeze({__proto__:null,generate:generate$1g,name:name$1Z,parse:parse$1g,structure:structure$1b})\nconst name$1Y=\"Dimension\"\nconst structure$1a={value:String,unit:String}\nfunction parse$1f(){const start=this.tokenStart\nconst value=this.consumeNumber(Dimension$3)\nreturn{type:\"Dimension\",loc:this.getLocation(start,this.tokenStart),value:value,unit:this.substring(start+value.length,this.tokenStart)}}function generate$1f(node){this.token(Dimension$3,node.value+node.unit)}var Dimension$2=Object.freeze({__proto__:null,generate:generate$1f,name:name$1Y,parse:parse$1f,structure:structure$1a})\nconst SOLIDUS$a=0x002F\nconst name$1X=\"Feature\"\nconst structure$19={kind:String,name:String,value:[\"Identifier\",\"Number\",\"Dimension\",\"Ratio\",\"Function\",null]}\nfunction parse$1e(kind){const start=this.tokenStart\nlet name\nlet value=null\nthis.eat(LeftParenthesis$1)\nthis.skipSC()\nname=this.consume(Ident$1)\nthis.skipSC()\nif(this.tokenType!==RightParenthesis$1){this.eat(Colon$1)\nthis.skipSC()\nswitch(this.tokenType){case Number$5:value=this.lookupNonWSType(1)===Delim$1?this.Ratio():this.Number()\nbreak\ncase Dimension$3:value=this.Dimension()\nbreak\ncase Ident$1:value=this.Identifier()\nbreak\ncase Function$3:value=this.parseWithFallback((()=>{const res=this.Function(this.readSequence,this.scope.Value)\nthis.skipSC()\nthis.isDelim(SOLIDUS$a)&&this.error()\nreturn res}),(()=>this.Ratio()))\nbreak\ndefault:this.error(\"Number, dimension, ratio or identifier is expected\")}this.skipSC()}this.eof||this.eat(RightParenthesis$1)\nreturn{type:\"Feature\",loc:this.getLocation(start,this.tokenStart),kind:kind,name:name,value:value}}function generate$1e(node){this.token(LeftParenthesis$1,\"(\")\nthis.token(Ident$1,node.name)\nif(node.value!==null){this.token(Colon$1,\":\")\nthis.node(node.value)}this.token(RightParenthesis$1,\")\")}var Feature=Object.freeze({__proto__:null,generate:generate$1e,name:name$1X,parse:parse$1e,structure:structure$19})\nconst name$1W=\"FeatureFunction\"\nconst structure$18={kind:String,feature:String,value:[\"Declaration\",\"Selector\"]}\nfunction getFeatureParser(kind,name){const featuresOfKind=this.features[kind]||{}\nconst parser=featuresOfKind[name]\ntypeof parser!==\"function\"&&this.error(`Unknown feature ${name}()`)\nreturn parser}function parse$1d(kind=\"unknown\"){const start=this.tokenStart\nconst functionName=this.consumeFunctionName()\nconst valueParser=getFeatureParser.call(this,kind,functionName.toLowerCase())\nthis.skipSC()\nconst value=this.parseWithFallback((()=>{const startValueToken=this.tokenIndex\nconst value=valueParser.call(this)\nthis.eof===false&&this.isBalanceEdge(startValueToken)===false&&this.error()\nreturn value}),(()=>this.Raw(null,false)))\nthis.eof||this.eat(RightParenthesis$1)\nreturn{type:\"FeatureFunction\",loc:this.getLocation(start,this.tokenStart),kind:kind,feature:functionName,value:value}}function generate$1d(node){this.token(Function$3,node.feature+\"(\")\nthis.node(node.value)\nthis.token(RightParenthesis$1,\")\")}var FeatureFunction=Object.freeze({__proto__:null,generate:generate$1d,name:name$1W,parse:parse$1d,structure:structure$18})\nconst SOLIDUS$9=0x002F\nconst LESSTHANSIGN$1=0x003C\nconst EQUALSSIGN$1=0x003D\nconst GREATERTHANSIGN$4=0x003E\nconst name$1V=\"FeatureRange\"\nconst structure$17={kind:String,left:[\"Identifier\",\"Number\",\"Dimension\",\"Ratio\",\"Function\"],leftComparison:String,middle:[\"Identifier\",\"Number\",\"Dimension\",\"Ratio\",\"Function\"],rightComparison:[String,null],right:[\"Identifier\",\"Number\",\"Dimension\",\"Ratio\",\"Function\",null]}\nfunction readTerm(){this.skipSC()\nswitch(this.tokenType){case Number$5:return this.isDelim(SOLIDUS$9,this.lookupOffsetNonSC(1))?this.Ratio():this.Number()\ncase Dimension$3:return this.Dimension()\ncase Ident$1:return this.Identifier()\ncase Function$3:return this.parseWithFallback((()=>{const res=this.Function(this.readSequence,this.scope.Value)\nthis.skipSC()\nthis.isDelim(SOLIDUS$9)&&this.error()\nreturn res}),(()=>this.Ratio()))\ndefault:this.error(\"Number, dimension, ratio or identifier is expected\")}}function readComparison(expectColon){this.skipSC()\nif(this.isDelim(LESSTHANSIGN$1)||this.isDelim(GREATERTHANSIGN$4)){const value=this.source[this.tokenStart]\nthis.next()\nif(this.isDelim(EQUALSSIGN$1)){this.next()\nreturn value+\"=\"}return value}if(this.isDelim(EQUALSSIGN$1))return\"=\"\nthis.error(`Expected ${expectColon?'\":\", ':\"\"}\"<\", \">\", \"=\" or \")\"`)}function parse$1c(kind=\"unknown\"){const start=this.tokenStart\nthis.skipSC()\nthis.eat(LeftParenthesis$1)\nconst left=readTerm.call(this)\nconst leftComparison=readComparison.call(this,left.type===\"Identifier\")\nconst middle=readTerm.call(this)\nlet rightComparison=null\nlet right=null\nif(this.lookupNonWSType(0)!==RightParenthesis$1){rightComparison=readComparison.call(this)\nright=readTerm.call(this)}this.skipSC()\nthis.eat(RightParenthesis$1)\nreturn{type:\"FeatureRange\",loc:this.getLocation(start,this.tokenStart),kind:kind,left:left,leftComparison:leftComparison,middle:middle,rightComparison:rightComparison,right:right}}function generate$1c(node){this.token(LeftParenthesis$1,\"(\")\nthis.node(node.left)\nthis.tokenize(node.leftComparison)\nthis.node(node.middle)\nif(node.right){this.tokenize(node.rightComparison)\nthis.node(node.right)}this.token(RightParenthesis$1,\")\")}var FeatureRange=Object.freeze({__proto__:null,generate:generate$1c,name:name$1V,parse:parse$1c,structure:structure$17})\nconst name$1U=\"Function\"\nconst walkContext$f=\"function\"\nconst structure$16={name:String,children:[[]]}\nfunction parse$1b(readSequence,recognizer){const start=this.tokenStart\nconst name=this.consumeFunctionName()\nconst nameLowerCase=name.toLowerCase()\nlet children\nchildren=recognizer.hasOwnProperty(nameLowerCase)?recognizer[nameLowerCase].call(this,recognizer):readSequence.call(this,recognizer)\nthis.eof||this.eat(RightParenthesis$1)\nreturn{type:\"Function\",loc:this.getLocation(start,this.tokenStart),name:name,children:children}}function generate$1b(node){this.token(Function$3,node.name+\"(\")\nthis.children(node)\nthis.token(RightParenthesis$1,\")\")}var Function$2=Object.freeze({__proto__:null,generate:generate$1b,name:name$1U,parse:parse$1b,structure:structure$16,walkContext:walkContext$f})\nconst name$1T=\"GeneralEnclosed\"\nconst structure$15={kind:String,function:[String,null],children:[[]]}\nfunction parse$1a(kind){const start=this.tokenStart\nlet functionName=null\nthis.tokenType===Function$3?functionName=this.consumeFunctionName():this.eat(LeftParenthesis$1)\nconst children=this.parseWithFallback((()=>{const startValueToken=this.tokenIndex\nconst children=this.readSequence(this.scope.Value)\nthis.eof===false&&this.isBalanceEdge(startValueToken)===false&&this.error()\nreturn children}),(()=>this.createSingleNodeList(this.Raw(null,false))))\nthis.eof||this.eat(RightParenthesis$1)\nreturn{type:\"GeneralEnclosed\",loc:this.getLocation(start,this.tokenStart),kind:kind,function:functionName,children:children}}function generate$1a(node){node.function?this.token(Function$3,node.function+\"(\"):this.token(LeftParenthesis$1,\"(\")\nthis.children(node)\nthis.token(RightParenthesis$1,\")\")}var GeneralEnclosed=Object.freeze({__proto__:null,generate:generate$1a,name:name$1T,parse:parse$1a,structure:structure$15})\nconst xxx$1=\"XXX\"\nconst name$1S=\"Hash\"\nconst structure$14={value:String}\nfunction parse$19(){const start=this.tokenStart\nthis.eat(Hash$3)\nreturn{type:\"Hash\",loc:this.getLocation(start,this.tokenStart),value:this.substrToCursor(start+1)}}function generate$19(node){this.token(Hash$3,\"#\"+node.value)}var Hash$2=Object.freeze({__proto__:null,generate:generate$19,name:name$1S,parse:parse$19,structure:structure$14,xxx:xxx$1})\nconst name$1R=\"Identifier\"\nconst structure$13={name:String}\nfunction parse$18(){return{type:\"Identifier\",loc:this.getLocation(this.tokenStart,this.tokenEnd),name:this.consume(Ident$1)}}function generate$18(node){this.token(Ident$1,node.name)}var Identifier$1=Object.freeze({__proto__:null,generate:generate$18,name:name$1R,parse:parse$18,structure:structure$13})\nconst name$1Q=\"IdSelector\"\nconst structure$12={name:String}\nfunction parse$17(){const start=this.tokenStart\nthis.eat(Hash$3)\nreturn{type:\"IdSelector\",loc:this.getLocation(start,this.tokenStart),name:this.substrToCursor(start+1)}}function generate$17(node){this.token(Delim$1,\"#\"+node.name)}var IdSelector$1=Object.freeze({__proto__:null,generate:generate$17,name:name$1Q,parse:parse$17,structure:structure$12})\nconst FULLSTOP$4=0x002E\nconst name$1P=\"Layer\"\nconst structure$11={name:String}\nfunction parse$16(){let name=this.consume(Ident$1)\nwhile(this.isDelim(FULLSTOP$4)){this.eat(Delim$1)\nname+=\".\"+this.consume(Ident$1)}return{type:\"Layer\",loc:this.getLocation(this.tokenStart,this.tokenEnd),name:name}}function generate$16(node){this.tokenize(node.name)}var Layer=Object.freeze({__proto__:null,generate:generate$16,name:name$1P,parse:parse$16,structure:structure$11})\nconst name$1O=\"LayerList\"\nconst structure$10={children:[[\"Layer\"]]}\nfunction parse$15(){const children=this.createList()\nthis.skipSC()\nwhile(!this.eof){children.push(this.Layer())\nif(this.lookupTypeNonSC(0)!==Comma$1)break\nthis.skipSC()\nthis.next()\nthis.skipSC()}return{type:\"LayerList\",loc:this.getLocationFromList(children),children:children}}function generate$15(node){this.children(node,(()=>this.token(Comma$1,\",\")))}var LayerList=Object.freeze({__proto__:null,generate:generate$15,name:name$1O,parse:parse$15,structure:structure$10})\nconst name$1N=\"MediaQuery\"\nconst structure$$={modifier:[String,null],mediaType:[String,null],condition:[\"Condition\",null]}\nfunction parse$14(){const start=this.tokenStart\nlet modifier=null\nlet mediaType=null\nlet condition=null\nthis.skipSC()\nif(this.tokenType===Ident$1&&this.lookupTypeNonSC(1)!==LeftParenthesis$1){const ident=this.consume(Ident$1)\nconst identLowerCase=ident.toLowerCase()\nif(identLowerCase===\"not\"||identLowerCase===\"only\"){this.skipSC()\nmodifier=identLowerCase\nmediaType=this.consume(Ident$1)}else mediaType=ident\nswitch(this.lookupTypeNonSC(0)){case Ident$1:this.skipSC()\nthis.eatIdent(\"and\")\ncondition=this.Condition(\"media\")\nbreak\ncase LeftCurlyBracket$1:case Semicolon$1:case Comma$1:case EOF$3:break\ndefault:this.error(\"Identifier or parenthesis is expected\")}}else switch(this.tokenType){case Ident$1:case LeftParenthesis$1:case Function$3:condition=this.Condition(\"media\")\nbreak\ncase LeftCurlyBracket$1:case Semicolon$1:case EOF$3:break\ndefault:this.error(\"Identifier or parenthesis is expected\")}return{type:\"MediaQuery\",loc:this.getLocation(start,this.tokenStart),modifier:modifier,mediaType:mediaType,condition:condition}}function generate$14(node){if(node.mediaType){node.modifier&&this.token(Ident$1,node.modifier)\nthis.token(Ident$1,node.mediaType)\nif(node.condition){this.token(Ident$1,\"and\")\nthis.node(node.condition)}}else node.condition&&this.node(node.condition)}var MediaQuery$1=Object.freeze({__proto__:null,generate:generate$14,name:name$1N,parse:parse$14,structure:structure$$})\nconst name$1M=\"MediaQueryList\"\nconst structure$_={children:[[\"MediaQuery\"]]}\nfunction parse$13(){const children=this.createList()\nthis.skipSC()\nwhile(!this.eof){children.push(this.MediaQuery())\nif(this.tokenType!==Comma$1)break\nthis.next()}return{type:\"MediaQueryList\",loc:this.getLocationFromList(children),children:children}}function generate$13(node){this.children(node,(()=>this.token(Comma$1,\",\")))}var MediaQueryList$1=Object.freeze({__proto__:null,generate:generate$13,name:name$1M,parse:parse$13,structure:structure$_})\nconst AMPERSAND$3=0x0026\nconst name$1L=\"NestingSelector\"\nconst structure$Z={}\nfunction parse$12(){const start=this.tokenStart\nthis.eatDelim(AMPERSAND$3)\nreturn{type:\"NestingSelector\",loc:this.getLocation(start,this.tokenStart)}}function generate$12(){this.token(Delim$1,\"&\")}var NestingSelector=Object.freeze({__proto__:null,generate:generate$12,name:name$1L,parse:parse$12,structure:structure$Z})\nconst name$1K=\"Nth\"\nconst structure$Y={nth:[\"AnPlusB\",\"Identifier\"],selector:[\"SelectorList\",null]}\nfunction parse$11(){this.skipSC()\nconst start=this.tokenStart\nlet end=start\nlet selector=null\nlet nth\nnth=this.lookupValue(0,\"odd\")||this.lookupValue(0,\"even\")?this.Identifier():this.AnPlusB()\nend=this.tokenStart\nthis.skipSC()\nif(this.lookupValue(0,\"of\")){this.next()\nselector=this.SelectorList()\nend=this.tokenStart}return{type:\"Nth\",loc:this.getLocation(start,end),nth:nth,selector:selector}}function generate$11(node){this.node(node.nth)\nif(node.selector!==null){this.token(Ident$1,\"of\")\nthis.node(node.selector)}}var Nth$1=Object.freeze({__proto__:null,generate:generate$11,name:name$1K,parse:parse$11,structure:structure$Y})\nconst name$1J=\"Number\"\nconst structure$X={value:String}\nfunction parse$10(){return{type:\"Number\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consume(Number$5)}}function generate$10(node){this.token(Number$5,node.value)}var Number$4=Object.freeze({__proto__:null,generate:generate$10,name:name$1J,parse:parse$10,structure:structure$X})\nconst name$1I=\"Operator\"\nconst structure$W={value:String}\nfunction parse$$(){const start=this.tokenStart\nthis.next()\nreturn{type:\"Operator\",loc:this.getLocation(start,this.tokenStart),value:this.substrToCursor(start)}}function generate$$(node){this.tokenize(node.value)}var Operator$1=Object.freeze({__proto__:null,generate:generate$$,name:name$1I,parse:parse$$,structure:structure$W})\nconst name$1H=\"Parentheses\"\nconst structure$V={children:[[]]}\nfunction parse$_(readSequence,recognizer){const start=this.tokenStart\nlet children=null\nthis.eat(LeftParenthesis$1)\nchildren=readSequence.call(this,recognizer)\nthis.eof||this.eat(RightParenthesis$1)\nreturn{type:\"Parentheses\",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$_(node){this.token(LeftParenthesis$1,\"(\")\nthis.children(node)\nthis.token(RightParenthesis$1,\")\")}var Parentheses$1=Object.freeze({__proto__:null,generate:generate$_,name:name$1H,parse:parse$_,structure:structure$V})\nconst name$1G=\"Percentage\"\nconst structure$U={value:String}\nfunction parse$Z(){return{type:\"Percentage\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consumeNumber(Percentage$3)}}function generate$Z(node){this.token(Percentage$3,node.value+\"%\")}var Percentage$2=Object.freeze({__proto__:null,generate:generate$Z,name:name$1G,parse:parse$Z,structure:structure$U})\nconst name$1F=\"PseudoClassSelector\"\nconst walkContext$e=\"function\"\nconst structure$T={name:String,children:[[\"Raw\"],null]}\nfunction parse$Y(){const start=this.tokenStart\nlet children=null\nlet name\nlet nameLowerCase\nthis.eat(Colon$1)\nif(this.tokenType===Function$3){name=this.consumeFunctionName()\nnameLowerCase=name.toLowerCase()\nif(this.lookupNonWSType(0)==RightParenthesis$1)children=this.createList()\nelse if(hasOwnProperty.call(this.pseudo,nameLowerCase)){this.skipSC()\nchildren=this.pseudo[nameLowerCase].call(this)\nthis.skipSC()}else{children=this.createList()\nchildren.push(this.Raw(null,false))}this.eat(RightParenthesis$1)}else name=this.consume(Ident$1)\nreturn{type:\"PseudoClassSelector\",loc:this.getLocation(start,this.tokenStart),name:name,children:children}}function generate$Y(node){this.token(Colon$1,\":\")\nif(node.children===null)this.token(Ident$1,node.name)\nelse{this.token(Function$3,node.name+\"(\")\nthis.children(node)\nthis.token(RightParenthesis$1,\")\")}}var PseudoClassSelector$1=Object.freeze({__proto__:null,generate:generate$Y,name:name$1F,parse:parse$Y,structure:structure$T,walkContext:walkContext$e})\nconst name$1E=\"PseudoElementSelector\"\nconst walkContext$d=\"function\"\nconst structure$S={name:String,children:[[\"Raw\"],null]}\nfunction parse$X(){const start=this.tokenStart\nlet children=null\nlet name\nlet nameLowerCase\nthis.eat(Colon$1)\nthis.eat(Colon$1)\nif(this.tokenType===Function$3){name=this.consumeFunctionName()\nnameLowerCase=name.toLowerCase()\nif(this.lookupNonWSType(0)==RightParenthesis$1)children=this.createList()\nelse if(hasOwnProperty.call(this.pseudo,nameLowerCase)){this.skipSC()\nchildren=this.pseudo[nameLowerCase].call(this)\nthis.skipSC()}else{children=this.createList()\nchildren.push(this.Raw(null,false))}this.eat(RightParenthesis$1)}else name=this.consume(Ident$1)\nreturn{type:\"PseudoElementSelector\",loc:this.getLocation(start,this.tokenStart),name:name,children:children}}function generate$X(node){this.token(Colon$1,\":\")\nthis.token(Colon$1,\":\")\nif(node.children===null)this.token(Ident$1,node.name)\nelse{this.token(Function$3,node.name+\"(\")\nthis.children(node)\nthis.token(RightParenthesis$1,\")\")}}var PseudoElementSelector$1=Object.freeze({__proto__:null,generate:generate$X,name:name$1E,parse:parse$X,structure:structure$S,walkContext:walkContext$d})\nconst SOLIDUS$8=0x002F\nfunction consumeTerm(){this.skipSC()\nswitch(this.tokenType){case Number$5:return this.Number()\ncase Function$3:return this.Function(this.readSequence,this.scope.Value)\ndefault:this.error(\"Number of function is expected\")}}const name$1D=\"Ratio\"\nconst structure$R={left:[\"Number\",\"Function\"],right:[\"Number\",\"Function\",null]}\nfunction parse$W(){const start=this.tokenStart\nconst left=consumeTerm.call(this)\nlet right=null\nthis.skipSC()\nif(this.isDelim(SOLIDUS$8)){this.eatDelim(SOLIDUS$8)\nright=consumeTerm.call(this)}return{type:\"Ratio\",loc:this.getLocation(start,this.tokenStart),left:left,right:right}}function generate$W(node){this.node(node.left)\nthis.token(Delim$1,\"/\")\nnode.right?this.node(node.right):this.node(Number$5,1)}var Ratio$1=Object.freeze({__proto__:null,generate:generate$W,name:name$1D,parse:parse$W,structure:structure$R})\nfunction getOffsetExcludeWS$1(){if(this.tokenIndex>0&&this.lookupType(-1)===WhiteSpace$3)return this.tokenIndex>1?this.getTokenStart(this.tokenIndex-1):this.firstCharOffset\nreturn this.tokenStart}const name$1C=\"Raw\"\nconst structure$Q={value:String}\nfunction parse$V(consumeUntil,excludeWhiteSpace){const startOffset=this.getTokenStart(this.tokenIndex)\nlet endOffset\nthis.skipUntilBalanced(this.tokenIndex,consumeUntil||this.consumeUntilBalanceEnd)\nendOffset=excludeWhiteSpace&&this.tokenStart>startOffset?getOffsetExcludeWS$1.call(this):this.tokenStart\nreturn{type:\"Raw\",loc:this.getLocation(startOffset,endOffset),value:this.substring(startOffset,endOffset)}}function generate$V(node){this.tokenize(node.value)}var Raw$1=Object.freeze({__proto__:null,generate:generate$V,name:name$1C,parse:parse$V,structure:structure$Q})\nfunction consumeRaw$7(){return this.Raw(this.consumeUntilLeftCurlyBracket,true)}function consumePrelude$1(){const prelude=this.SelectorList()\nprelude.type!==\"Raw\"&&this.eof===false&&this.tokenType!==LeftCurlyBracket$1&&this.error()\nreturn prelude}const name$1B=\"Rule\"\nconst walkContext$c=\"rule\"\nconst structure$P={prelude:[\"SelectorList\",\"Raw\"],block:[\"Block\"]}\nfunction parse$U(){const startToken=this.tokenIndex\nconst startOffset=this.tokenStart\nlet prelude\nlet block\nprelude=this.parseRulePrelude?this.parseWithFallback(consumePrelude$1,consumeRaw$7):consumeRaw$7.call(this,startToken)\nblock=this.Block(true)\nreturn{type:\"Rule\",loc:this.getLocation(startOffset,this.tokenStart),prelude:prelude,block:block}}function generate$U(node){this.node(node.prelude)\nthis.node(node.block)}var Rule$1=Object.freeze({__proto__:null,generate:generate$U,name:name$1B,parse:parse$U,structure:structure$P,walkContext:walkContext$c})\nconst name$1A=\"Scope\"\nconst structure$O={root:[\"SelectorList\",\"Raw\",null],limit:[\"SelectorList\",\"Raw\",null]}\nfunction parse$T(){let root=null\nlet limit=null\nthis.skipSC()\nconst startOffset=this.tokenStart\nif(this.tokenType===LeftParenthesis$1){this.next()\nthis.skipSC()\nroot=this.parseWithFallback(this.SelectorList,(()=>this.Raw(false,true)))\nthis.skipSC()\nthis.eat(RightParenthesis$1)}if(this.lookupNonWSType(0)===Ident$1){this.skipSC()\nthis.eatIdent(\"to\")\nthis.skipSC()\nthis.eat(LeftParenthesis$1)\nthis.skipSC()\nlimit=this.parseWithFallback(this.SelectorList,(()=>this.Raw(false,true)))\nthis.skipSC()\nthis.eat(RightParenthesis$1)}return{type:\"Scope\",loc:this.getLocation(startOffset,this.tokenStart),root:root,limit:limit}}function generate$T(node){if(node.root){this.token(LeftParenthesis$1,\"(\")\nthis.node(node.root)\nthis.token(RightParenthesis$1,\")\")}if(node.limit){this.token(Ident$1,\"to\")\nthis.token(LeftParenthesis$1,\"(\")\nthis.node(node.limit)\nthis.token(RightParenthesis$1,\")\")}}var Scope=Object.freeze({__proto__:null,generate:generate$T,name:name$1A,parse:parse$T,structure:structure$O})\nconst name$1z=\"Selector\"\nconst structure$N={children:[[\"TypeSelector\",\"IdSelector\",\"ClassSelector\",\"AttributeSelector\",\"PseudoClassSelector\",\"PseudoElementSelector\",\"Combinator\"]]}\nfunction parse$S(){const children=this.readSequence(this.scope.Selector)\nthis.getFirstListNode(children)===null&&this.error(\"Selector is expected\")\nreturn{type:\"Selector\",loc:this.getLocationFromList(children),children:children}}function generate$S(node){this.children(node)}var Selector$1=Object.freeze({__proto__:null,generate:generate$S,name:name$1z,parse:parse$S,structure:structure$N})\nconst name$1y=\"SelectorList\"\nconst walkContext$b=\"selector\"\nconst structure$M={children:[[\"Selector\",\"Raw\"]]}\nfunction parse$R(){const children=this.createList()\nwhile(!this.eof){children.push(this.Selector())\nif(this.tokenType===Comma$1){this.next()\ncontinue}break}return{type:\"SelectorList\",loc:this.getLocationFromList(children),children:children}}function generate$R(node){this.children(node,(()=>this.token(Comma$1,\",\")))}var SelectorList$1=Object.freeze({__proto__:null,generate:generate$R,name:name$1y,parse:parse$R,structure:structure$M,walkContext:walkContext$b})\nconst REVERSE_SOLIDUS$3=0x005c\nconst QUOTATION_MARK$3=0x0022\nconst APOSTROPHE$4=0x0027\nfunction decode$3(str){const len=str.length\nconst firstChar=str.charCodeAt(0)\nconst start=firstChar===QUOTATION_MARK$3||firstChar===APOSTROPHE$4?1:0\nconst end=start===1&&len>1&&str.charCodeAt(len-1)===firstChar?len-2:len-1\nlet decoded=\"\"\nfor(let i=start;i<=end;i++){let code=str.charCodeAt(i)\nif(code===REVERSE_SOLIDUS$3){if(i===end){i!==len-1&&(decoded=str.substr(i+1))\nbreak}code=str.charCodeAt(++i)\nif(isValidEscape$1(REVERSE_SOLIDUS$3,code)){const escapeStart=i-1\nconst escapeEnd=consumeEscaped$1(str,escapeStart)\ni=escapeEnd-1\ndecoded+=decodeEscaped$1(str.substring(escapeStart+1,escapeEnd))}else code===0x000d&&str.charCodeAt(i+1)===0x000a&&i++}else decoded+=str[i]}return decoded}function encode$3(str,apostrophe){const quote='\"'\nconst quoteCode=QUOTATION_MARK$3\nlet encoded=\"\"\nlet wsBeforeHexIsNeeded=false\nfor(let i=0;i<str.length;i++){const code=str.charCodeAt(i)\nif(code===0x0000){encoded+=\"�\"\ncontinue}if(code<=0x001f||code===0x007F){encoded+=\"\\\\\"+code.toString(16)\nwsBeforeHexIsNeeded=true\ncontinue}if(code===quoteCode||code===REVERSE_SOLIDUS$3){encoded+=\"\\\\\"+str.charAt(i)\nwsBeforeHexIsNeeded=false}else{wsBeforeHexIsNeeded&&(isHexDigit$1(code)||isWhiteSpace$2(code))&&(encoded+=\" \")\nencoded+=str.charAt(i)\nwsBeforeHexIsNeeded=false}}return quote+encoded+quote}const name$1x=\"String\"\nconst structure$L={value:String}\nfunction parse$Q(){return{type:\"String\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:decode$3(this.consume(String$4))}}function generate$Q(node){this.token(String$4,encode$3(node.value))}var String$3=Object.freeze({__proto__:null,generate:generate$Q,name:name$1x,parse:parse$Q,structure:structure$L})\nconst EXCLAMATIONMARK$4=0x0021\nfunction consumeRaw$6(){return this.Raw(null,false)}const name$1w=\"StyleSheet\"\nconst walkContext$a=\"stylesheet\"\nconst structure$K={children:[[\"Comment\",\"CDO\",\"CDC\",\"Atrule\",\"Rule\",\"Raw\"]]}\nfunction parse$P(){const start=this.tokenStart\nconst children=this.createList()\nlet child\nwhile(!this.eof){switch(this.tokenType){case WhiteSpace$3:this.next()\ncontinue\ncase Comment$3:if(this.charCodeAt(this.tokenStart+2)!==EXCLAMATIONMARK$4){this.next()\ncontinue}child=this.Comment()\nbreak\ncase CDO$3:child=this.CDO()\nbreak\ncase CDC$3:child=this.CDC()\nbreak\ncase AtKeyword$1:child=this.parseWithFallback(this.Atrule,consumeRaw$6)\nbreak\ndefault:child=this.parseWithFallback(this.Rule,consumeRaw$6)}children.push(child)}return{type:\"StyleSheet\",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$P(node){this.children(node)}var StyleSheet$1=Object.freeze({__proto__:null,generate:generate$P,name:name$1w,parse:parse$P,structure:structure$K,walkContext:walkContext$a})\nconst name$1v=\"SupportsDeclaration\"\nconst structure$J={declaration:\"Declaration\"}\nfunction parse$O(){const start=this.tokenStart\nthis.eat(LeftParenthesis$1)\nthis.skipSC()\nconst declaration=this.Declaration()\nthis.eof||this.eat(RightParenthesis$1)\nreturn{type:\"SupportsDeclaration\",loc:this.getLocation(start,this.tokenStart),declaration:declaration}}function generate$O(node){this.token(LeftParenthesis$1,\"(\")\nthis.node(node.declaration)\nthis.token(RightParenthesis$1,\")\")}var SupportsDeclaration=Object.freeze({__proto__:null,generate:generate$O,name:name$1v,parse:parse$O,structure:structure$J})\nconst ASTERISK$9=0x002A\nconst VERTICALLINE$5=0x007C\nfunction eatIdentifierOrAsterisk$1(){this.tokenType!==Ident$1&&this.isDelim(ASTERISK$9)===false&&this.error(\"Identifier or asterisk is expected\")\nthis.next()}const name$1u=\"TypeSelector\"\nconst structure$I={name:String}\nfunction parse$N(){const start=this.tokenStart\nif(this.isDelim(VERTICALLINE$5)){this.next()\neatIdentifierOrAsterisk$1.call(this)}else{eatIdentifierOrAsterisk$1.call(this)\nif(this.isDelim(VERTICALLINE$5)){this.next()\neatIdentifierOrAsterisk$1.call(this)}}return{type:\"TypeSelector\",loc:this.getLocation(start,this.tokenStart),name:this.substrToCursor(start)}}function generate$N(node){this.tokenize(node.name)}var TypeSelector$1=Object.freeze({__proto__:null,generate:generate$N,name:name$1u,parse:parse$N,structure:structure$I})\nconst PLUSSIGN$c=0x002B\nconst HYPHENMINUS$8=0x002D\nconst QUESTIONMARK$3=0x003F\nfunction eatHexSequence$1(offset,allowDash){let len=0\nfor(let pos=this.tokenStart+offset;pos<this.tokenEnd;pos++){const code=this.charCodeAt(pos)\nif(code===HYPHENMINUS$8&&allowDash&&len!==0){eatHexSequence$1.call(this,offset+len+1,false)\nreturn-1}isHexDigit$1(code)||this.error(allowDash&&len!==0?\"Hyphen minus\"+(len<6?\" or hex digit\":\"\")+\" is expected\":len<6?\"Hex digit is expected\":\"Unexpected input\",pos);++len>6&&this.error(\"Too many hex digits\",pos)}this.next()\nreturn len}function eatQuestionMarkSequence$1(max){let count=0\nwhile(this.isDelim(QUESTIONMARK$3)){++count>max&&this.error(\"Too many question marks\")\nthis.next()}}function startsWith$2(code){this.charCodeAt(this.tokenStart)!==code&&this.error((code===PLUSSIGN$c?\"Plus sign\":\"Hyphen minus\")+\" is expected\")}function scanUnicodeRange$1(){let hexLength=0\nswitch(this.tokenType){case Number$5:hexLength=eatHexSequence$1.call(this,1,true)\nif(this.isDelim(QUESTIONMARK$3)){eatQuestionMarkSequence$1.call(this,6-hexLength)\nbreak}if(this.tokenType===Dimension$3||this.tokenType===Number$5){startsWith$2.call(this,HYPHENMINUS$8)\neatHexSequence$1.call(this,1,false)\nbreak}break\ncase Dimension$3:hexLength=eatHexSequence$1.call(this,1,true)\nhexLength>0&&eatQuestionMarkSequence$1.call(this,6-hexLength)\nbreak\ndefault:this.eatDelim(PLUSSIGN$c)\nif(this.tokenType===Ident$1){hexLength=eatHexSequence$1.call(this,0,true)\nhexLength>0&&eatQuestionMarkSequence$1.call(this,6-hexLength)\nbreak}if(this.isDelim(QUESTIONMARK$3)){this.next()\neatQuestionMarkSequence$1.call(this,5)\nbreak}this.error(\"Hex digit or question mark is expected\")}}const name$1t=\"UnicodeRange\"\nconst structure$H={value:String}\nfunction parse$M(){const start=this.tokenStart\nthis.eatIdent(\"u\")\nscanUnicodeRange$1.call(this)\nreturn{type:\"UnicodeRange\",loc:this.getLocation(start,this.tokenStart),value:this.substrToCursor(start)}}function generate$M(node){this.tokenize(node.value)}var UnicodeRange$1=Object.freeze({__proto__:null,generate:generate$M,name:name$1t,parse:parse$M,structure:structure$H})\nconst SPACE$5=0x0020\nconst REVERSE_SOLIDUS$2=0x005c\nconst QUOTATION_MARK$2=0x0022\nconst APOSTROPHE$3=0x0027\nconst LEFTPARENTHESIS$3=0x0028\nconst RIGHTPARENTHESIS$3=0x0029\nfunction decode$2(str){const len=str.length\nlet start=4\nlet end=str.charCodeAt(len-1)===RIGHTPARENTHESIS$3?len-2:len-1\nlet decoded=\"\"\nwhile(start<end&&isWhiteSpace$2(str.charCodeAt(start)))start++\nwhile(start<end&&isWhiteSpace$2(str.charCodeAt(end)))end--\nfor(let i=start;i<=end;i++){let code=str.charCodeAt(i)\nif(code===REVERSE_SOLIDUS$2){if(i===end){i!==len-1&&(decoded=str.substr(i+1))\nbreak}code=str.charCodeAt(++i)\nif(isValidEscape$1(REVERSE_SOLIDUS$2,code)){const escapeStart=i-1\nconst escapeEnd=consumeEscaped$1(str,escapeStart)\ni=escapeEnd-1\ndecoded+=decodeEscaped$1(str.substring(escapeStart+1,escapeEnd))}else code===0x000d&&str.charCodeAt(i+1)===0x000a&&i++}else decoded+=str[i]}return decoded}function encode$2(str){let encoded=\"\"\nlet wsBeforeHexIsNeeded=false\nfor(let i=0;i<str.length;i++){const code=str.charCodeAt(i)\nif(code===0x0000){encoded+=\"�\"\ncontinue}if(code<=0x001f||code===0x007F){encoded+=\"\\\\\"+code.toString(16)\nwsBeforeHexIsNeeded=true\ncontinue}if(code===SPACE$5||code===REVERSE_SOLIDUS$2||code===QUOTATION_MARK$2||code===APOSTROPHE$3||code===LEFTPARENTHESIS$3||code===RIGHTPARENTHESIS$3){encoded+=\"\\\\\"+str.charAt(i)\nwsBeforeHexIsNeeded=false}else{wsBeforeHexIsNeeded&&isHexDigit$1(code)&&(encoded+=\" \")\nencoded+=str.charAt(i)\nwsBeforeHexIsNeeded=false}}return\"url(\"+encoded+\")\"}const name$1s=\"Url\"\nconst structure$G={value:String}\nfunction parse$L(){const start=this.tokenStart\nlet value\nswitch(this.tokenType){case Url$4:value=decode$2(this.consume(Url$4))\nbreak\ncase Function$3:this.cmpStr(this.tokenStart,this.tokenEnd,\"url(\")||this.error(\"Function name must be `url`\")\nthis.eat(Function$3)\nthis.skipSC()\nvalue=decode$3(this.consume(String$4))\nthis.skipSC()\nthis.eof||this.eat(RightParenthesis$1)\nbreak\ndefault:this.error(\"Url or Function is expected\")}return{type:\"Url\",loc:this.getLocation(start,this.tokenStart),value:value}}function generate$L(node){this.token(Url$4,encode$2(node.value))}var Url$3=Object.freeze({__proto__:null,generate:generate$L,name:name$1s,parse:parse$L,structure:structure$G})\nconst name$1r=\"Value\"\nconst structure$F={children:[[]]}\nfunction parse$K(){const start=this.tokenStart\nconst children=this.readSequence(this.scope.Value)\nreturn{type:\"Value\",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$K(node){this.children(node)}var Value$1=Object.freeze({__proto__:null,generate:generate$K,name:name$1r,parse:parse$K,structure:structure$F})\nconst SPACE$4=Object.freeze({type:\"WhiteSpace\",loc:null,value:\" \"})\nconst name$1q=\"WhiteSpace\"\nconst structure$E={value:String}\nfunction parse$J(){this.eat(WhiteSpace$3)\nreturn SPACE$4}function generate$J(node){this.token(WhiteSpace$3,node.value)}var WhiteSpace$2=Object.freeze({__proto__:null,generate:generate$J,name:name$1q,parse:parse$J,structure:structure$E})\nvar node$3=Object.freeze({__proto__:null,AnPlusB:AnPlusB$1,Atrule:Atrule$2,AtrulePrelude:AtrulePrelude$1,AttributeSelector:AttributeSelector$2,Block:Block$1,Brackets:Brackets$1,CDC:CDC$2,CDO:CDO$2,ClassSelector:ClassSelector$1,Combinator:Combinator$1,Comment:Comment$2,Condition:Condition,Declaration:Declaration$1,DeclarationList:DeclarationList$1,Dimension:Dimension$2,Feature:Feature,FeatureFunction:FeatureFunction,FeatureRange:FeatureRange,Function:Function$2,GeneralEnclosed:GeneralEnclosed,Hash:Hash$2,IdSelector:IdSelector$1,Identifier:Identifier$1,Layer:Layer,LayerList:LayerList,MediaQuery:MediaQuery$1,MediaQueryList:MediaQueryList$1,NestingSelector:NestingSelector,Nth:Nth$1,Number:Number$4,Operator:Operator$1,Parentheses:Parentheses$1,Percentage:Percentage$2,PseudoClassSelector:PseudoClassSelector$1,PseudoElementSelector:PseudoElementSelector$1,Ratio:Ratio$1,Raw:Raw$1,Rule:Rule$1,Scope:Scope,Selector:Selector$1,SelectorList:SelectorList$1,String:String$3,StyleSheet:StyleSheet$1,SupportsDeclaration:SupportsDeclaration,TypeSelector:TypeSelector$1,UnicodeRange:UnicodeRange$1,Url:Url$3,Value:Value$1,WhiteSpace:WhiteSpace$2})\nvar lexerConfig$1={generic:true,cssWideKeywords:cssWideKeywords$1,...definitions$1,node:node$3}\nconst NUMBERSIGN$6=0x0023\nconst ASTERISK$8=0x002A\nconst PLUSSIGN$b=0x002B\nconst HYPHENMINUS$7=0x002D\nconst SOLIDUS$7=0x002F\nconst U$2=0x0075\nfunction defaultRecognizer$1(context){switch(this.tokenType){case Hash$3:return this.Hash()\ncase Comma$1:return this.Operator()\ncase LeftParenthesis$1:return this.Parentheses(this.readSequence,context.recognizer)\ncase LeftSquareBracket$1:return this.Brackets(this.readSequence,context.recognizer)\ncase String$4:return this.String()\ncase Dimension$3:return this.Dimension()\ncase Percentage$3:return this.Percentage()\ncase Number$5:return this.Number()\ncase Function$3:return this.cmpStr(this.tokenStart,this.tokenEnd,\"url(\")?this.Url():this.Function(this.readSequence,context.recognizer)\ncase Url$4:return this.Url()\ncase Ident$1:return this.cmpChar(this.tokenStart,U$2)&&this.cmpChar(this.tokenStart+1,PLUSSIGN$b)?this.UnicodeRange():this.Identifier()\ncase Delim$1:{const code=this.charCodeAt(this.tokenStart)\nif(code===SOLIDUS$7||code===ASTERISK$8||code===PLUSSIGN$b||code===HYPHENMINUS$7)return this.Operator()\ncode===NUMBERSIGN$6&&this.error(\"Hex or identifier is expected\",this.tokenStart+1)\nbreak}}}var atrulePrelude$1={getNode:defaultRecognizer$1}\nconst NUMBERSIGN$5=0x0023\nconst AMPERSAND$2=0x0026\nconst ASTERISK$7=0x002A\nconst PLUSSIGN$a=0x002B\nconst SOLIDUS$6=0x002F\nconst FULLSTOP$3=0x002E\nconst GREATERTHANSIGN$3=0x003E\nconst VERTICALLINE$4=0x007C\nconst TILDE$3=0x007E\nfunction onWhiteSpace$1(next,children){children.last!==null&&children.last.type!==\"Combinator\"&&next!==null&&next.type!==\"Combinator\"&&children.push({type:\"Combinator\",loc:null,name:\" \"})}function getNode$1(){switch(this.tokenType){case LeftSquareBracket$1:return this.AttributeSelector()\ncase Hash$3:return this.IdSelector()\ncase Colon$1:return this.lookupType(1)===Colon$1?this.PseudoElementSelector():this.PseudoClassSelector()\ncase Ident$1:return this.TypeSelector()\ncase Number$5:case Percentage$3:return this.Percentage()\ncase Dimension$3:this.charCodeAt(this.tokenStart)===FULLSTOP$3&&this.error(\"Identifier is expected\",this.tokenStart+1)\nbreak\ncase Delim$1:{const code=this.charCodeAt(this.tokenStart)\nswitch(code){case PLUSSIGN$a:case GREATERTHANSIGN$3:case TILDE$3:case SOLIDUS$6:return this.Combinator()\ncase FULLSTOP$3:return this.ClassSelector()\ncase ASTERISK$7:case VERTICALLINE$4:return this.TypeSelector()\ncase NUMBERSIGN$5:return this.IdSelector()\ncase AMPERSAND$2:return this.NestingSelector()}break}}}var selector$3={onWhiteSpace:onWhiteSpace$1,getNode:getNode$1}\nfunction expressionFn$1(){return this.createSingleNodeList(this.Raw(null,false))}function varFn$1(){const children=this.createList()\nthis.skipSC()\nchildren.push(this.Identifier())\nthis.skipSC()\nif(this.tokenType===Comma$1){children.push(this.Operator())\nconst startIndex=this.tokenIndex\nconst value=this.parseCustomProperty?this.Value(null):this.Raw(this.consumeUntilExclamationMarkOrSemicolon,false)\nif(value.type===\"Value\"&&value.children.isEmpty)for(let offset=startIndex-this.tokenIndex;offset<=0;offset++)if(this.lookupType(offset)===WhiteSpace$3){value.children.appendData({type:\"WhiteSpace\",loc:null,value:\" \"})\nbreak}children.push(value)}return children}function isPlusMinusOperator$1(node){return node!==null&&node.type===\"Operator\"&&(node.value[node.value.length-1]===\"-\"||node.value[node.value.length-1]===\"+\")}var value$1={getNode:defaultRecognizer$1,onWhiteSpace(next,children){isPlusMinusOperator$1(next)&&(next.value=\" \"+next.value)\nisPlusMinusOperator$1(children.last)&&(children.last.value+=\" \")},expression:expressionFn$1,var:varFn$1}\nvar scope$2=Object.freeze({__proto__:null,AtrulePrelude:atrulePrelude$1,Selector:selector$3,Value:value$1})\nconst nonContainerNameKeywords=new Set([\"none\",\"and\",\"not\",\"or\"])\nvar container={parse:{prelude(){const children=this.createList()\nif(this.tokenType===Ident$1){const name=this.substring(this.tokenStart,this.tokenEnd)\nnonContainerNameKeywords.has(name.toLowerCase())||children.push(this.Identifier())}children.push(this.Condition(\"container\"))\nreturn children},block(nested=false){return this.Block(nested)}}}\nvar fontFace$1={parse:{prelude:null,block(){return this.Block(true)}}}\nfunction parseWithFallback(parse,fallback){return this.parseWithFallback((()=>{try{return parse.call(this)}finally{this.skipSC()\nthis.lookupNonWSType(0)!==RightParenthesis$1&&this.error()}}),fallback||(()=>this.Raw(null,true)))}const parseFunctions={layer(){this.skipSC()\nconst children=this.createList()\nconst node=parseWithFallback.call(this,this.Layer)\nnode.type===\"Raw\"&&node.value===\"\"||children.push(node)\nreturn children},supports(){this.skipSC()\nconst children=this.createList()\nconst node=parseWithFallback.call(this,this.Declaration,(()=>parseWithFallback.call(this,(()=>this.Condition(\"supports\")))))\nnode.type===\"Raw\"&&node.value===\"\"||children.push(node)\nreturn children}}\nvar importAtrule$1={parse:{prelude(){const children=this.createList()\nswitch(this.tokenType){case String$4:children.push(this.String())\nbreak\ncase Url$4:case Function$3:children.push(this.Url())\nbreak\ndefault:this.error(\"String or url() is expected\")}this.skipSC()\nthis.tokenType===Ident$1&&this.cmpStr(this.tokenStart,this.tokenEnd,\"layer\")?children.push(this.Identifier()):this.tokenType===Function$3&&this.cmpStr(this.tokenStart,this.tokenEnd,\"layer(\")&&children.push(this.Function(null,parseFunctions))\nthis.skipSC()\nthis.tokenType===Function$3&&this.cmpStr(this.tokenStart,this.tokenEnd,\"supports(\")&&children.push(this.Function(null,parseFunctions))\nthis.lookupNonWSType(0)!==Ident$1&&this.lookupNonWSType(0)!==LeftParenthesis$1||children.push(this.MediaQueryList())\nreturn children},block:null}}\nvar layer={parse:{prelude(){return this.createSingleNodeList(this.LayerList())},block(){return this.Block(false)}}}\nvar media$1={parse:{prelude(){return this.createSingleNodeList(this.MediaQueryList())},block(nested=false){return this.Block(nested)}}}\nvar nest={parse:{prelude(){return this.createSingleNodeList(this.SelectorList())},block(){return this.Block(true)}}}\nvar page$1={parse:{prelude(){return this.createSingleNodeList(this.SelectorList())},block(){return this.Block(true)}}}\nvar scope$1={parse:{prelude(){return this.createSingleNodeList(this.Scope())},block(nested=false){return this.Block(nested)}}}\nvar startingStyle={parse:{prelude:null,block(nested=false){return this.Block(nested)}}}\nvar supports$1={parse:{prelude(){return this.createSingleNodeList(this.Condition(\"supports\"))},block(nested=false){return this.Block(nested)}}}\nvar atrule$1={container:container,\"font-face\":fontFace$1,import:importAtrule$1,layer:layer,media:media$1,nest:nest,page:page$1,scope:scope$1,\"starting-style\":startingStyle,supports:supports$1}\nfunction parseLanguageRangeList(){const children=this.createList()\nthis.skipSC()\nloop:while(!this.eof){switch(this.tokenType){case Ident$1:children.push(this.Identifier())\nbreak\ncase String$4:children.push(this.String())\nbreak\ncase Comma$1:children.push(this.Operator())\nbreak\ncase RightParenthesis$1:break loop\ndefault:this.error(\"Identifier, string or comma is expected\")}this.skipSC()}return children}const selectorList$1={parse(){return this.createSingleNodeList(this.SelectorList())}}\nconst selector$2={parse(){return this.createSingleNodeList(this.Selector())}}\nconst identList$1={parse(){return this.createSingleNodeList(this.Identifier())}}\nconst langList={parse:parseLanguageRangeList}\nconst nth$1={parse(){return this.createSingleNodeList(this.Nth())}}\nvar pseudo$1={dir:identList$1,has:selectorList$1,lang:langList,matches:selectorList$1,is:selectorList$1,\"-moz-any\":selectorList$1,\"-webkit-any\":selectorList$1,where:selectorList$1,not:selectorList$1,\"nth-child\":nth$1,\"nth-last-child\":nth$1,\"nth-last-of-type\":nth$1,\"nth-of-type\":nth$1,slotted:selector$2,host:selector$2,\"host-context\":selector$2}\nvar node$2=Object.freeze({__proto__:null,AnPlusB:parse$1t,Atrule:parse$1s,AtrulePrelude:parse$1r,AttributeSelector:parse$1q,Block:parse$1p,Brackets:parse$1o,CDC:parse$1n,CDO:parse$1m,ClassSelector:parse$1l,Combinator:parse$1k,Comment:parse$1j,Condition:parse$1i,Declaration:parse$1h,DeclarationList:parse$1g,Dimension:parse$1f,Feature:parse$1e,FeatureFunction:parse$1d,FeatureRange:parse$1c,Function:parse$1b,GeneralEnclosed:parse$1a,Hash:parse$19,IdSelector:parse$17,Identifier:parse$18,Layer:parse$16,LayerList:parse$15,MediaQuery:parse$14,MediaQueryList:parse$13,NestingSelector:parse$12,Nth:parse$11,Number:parse$10,Operator:parse$$,Parentheses:parse$_,Percentage:parse$Z,PseudoClassSelector:parse$Y,PseudoElementSelector:parse$X,Ratio:parse$W,Raw:parse$V,Rule:parse$U,Scope:parse$T,Selector:parse$S,SelectorList:parse$R,String:parse$Q,StyleSheet:parse$P,SupportsDeclaration:parse$O,TypeSelector:parse$N,UnicodeRange:parse$M,Url:parse$L,Value:parse$K,WhiteSpace:parse$J})\nvar parserConfig$1={parseContext:{default:\"StyleSheet\",stylesheet:\"StyleSheet\",atrule:\"Atrule\",atrulePrelude(options){return this.AtrulePrelude(options.atrule?String(options.atrule):null)},mediaQueryList:\"MediaQueryList\",mediaQuery:\"MediaQuery\",condition(options){return this.Condition(options.kind)},rule:\"Rule\",selectorList:\"SelectorList\",selector:\"Selector\",block(){return this.Block(true)},declarationList:\"DeclarationList\",declaration:\"Declaration\",value:\"Value\"},features:{supports:{selector(){return this.Selector()}},container:{style(){return this.Declaration()}}},scope:scope$2,atrule:atrule$1,pseudo:pseudo$1,node:node$2}\nvar walkerConfig$1={node:node$3}\nvar syntax$2=createSyntax$3({...lexerConfig$1,...parserConfig$1,...walkerConfig$1})\nfunction clone$1(node){const result={}\nfor(const key of Object.keys(node)){let value=node[key]\nvalue&&(Array.isArray(value)||value instanceof List$1?value=value.map(clone$1):value.constructor===Object&&(value=clone$1(value)))\nresult[key]=value}return result}const{tokenize:tokenize$3,parse:parse$I,generate:generate$I,lexer:lexer$2,createLexer:createLexer$1,walk:walk$3,find:find$2,findLast:findLast$2,findAll:findAll$2,toPlainObject:toPlainObject$2,fromPlainObject:fromPlainObject$2,fork:fork$1}=syntax$2\nconst EOF$1=0\nconst Ident=1\nconst Function$1=2\nconst AtKeyword=3\nconst Hash$1=4\nconst String$2=5\nconst BadString=6\nconst Url$2=7\nconst BadUrl=8\nconst Delim=9\nconst Number$3=10\nconst Percentage$1=11\nconst Dimension$1=12\nconst WhiteSpace$1=13\nconst CDO$1=14\nconst CDC$1=15\nconst Colon=16\nconst Semicolon=17\nconst Comma=18\nconst LeftSquareBracket=19\nconst RightSquareBracket=20\nconst LeftParenthesis=21\nconst RightParenthesis=22\nconst LeftCurlyBracket=23\nconst RightCurlyBracket=24\nconst Comment$1=25\nconst EOF=0\nfunction isDigit$1(code){return code>=0x0030&&code<=0x0039}function isHexDigit(code){return isDigit$1(code)||code>=0x0041&&code<=0x0046||code>=0x0061&&code<=0x0066}function isUppercaseLetter(code){return code>=0x0041&&code<=0x005A}function isLowercaseLetter(code){return code>=0x0061&&code<=0x007A}function isLetter(code){return isUppercaseLetter(code)||isLowercaseLetter(code)}function isNonAscii(code){return code>=0x0080}function isNameStart(code){return isLetter(code)||isNonAscii(code)||code===0x005F}function isName(code){return isNameStart(code)||isDigit$1(code)||code===0x002D}function isNonPrintable(code){return code>=0x0000&&code<=0x0008||code===0x000B||code>=0x000E&&code<=0x001F||code===0x007F}function isNewline(code){return code===0x000A||code===0x000D||code===0x000C}function isWhiteSpace$1(code){return isNewline(code)||code===0x0020||code===0x0009}function isValidEscape(first,second){if(first!==0x005C)return false\nif(isNewline(second)||second===EOF)return false\nreturn true}function isIdentifierStart(first,second,third){if(first===0x002D)return isNameStart(second)||second===0x002D||isValidEscape(second,third)\nif(isNameStart(first))return true\nif(first===0x005C)return isValidEscape(first,second)\nreturn false}function isNumberStart(first,second,third){if(first===0x002B||first===0x002D){if(isDigit$1(second))return 2\nreturn second===0x002E&&isDigit$1(third)?3:0}if(first===0x002E)return isDigit$1(second)?2:0\nif(isDigit$1(first))return 1\nreturn 0}function isBOM(code){if(code===0xFEFF)return 1\nif(code===0xFFFE)return 1\nreturn 0}const CATEGORY=new Array(0x80)\nconst EofCategory=0x80\nconst WhiteSpaceCategory=0x82\nconst DigitCategory=0x83\nconst NameStartCategory=0x84\nconst NonPrintableCategory=0x85\nfor(let i=0;i<CATEGORY.length;i++)CATEGORY[i]=isWhiteSpace$1(i)&&WhiteSpaceCategory||isDigit$1(i)&&DigitCategory||isNameStart(i)&&NameStartCategory||isNonPrintable(i)&&NonPrintableCategory||i||EofCategory\nfunction charCodeCategory(code){return code<0x80?CATEGORY[code]:NameStartCategory}function getCharCode(source,offset){return offset<source.length?source.charCodeAt(offset):0}function getNewlineLength(source,offset,code){if(code===13&&getCharCode(source,offset+1)===10)return 2\nreturn 1}function cmpChar(testStr,offset,referenceCode){let code=testStr.charCodeAt(offset)\nisUppercaseLetter(code)&&(code|=32)\nreturn code===referenceCode}function cmpStr(testStr,start,end,referenceStr){if(end-start!==referenceStr.length)return false\nif(start<0||end>testStr.length)return false\nfor(let i=start;i<end;i++){const referenceCode=referenceStr.charCodeAt(i-start)\nlet testCode=testStr.charCodeAt(i)\nisUppercaseLetter(testCode)&&(testCode|=32)\nif(testCode!==referenceCode)return false}return true}function findWhiteSpaceStart(source,offset){for(;offset>=0;offset--)if(!isWhiteSpace$1(source.charCodeAt(offset)))break\nreturn offset+1}function findWhiteSpaceEnd(source,offset){for(;offset<source.length;offset++)if(!isWhiteSpace$1(source.charCodeAt(offset)))break\nreturn offset}function findDecimalNumberEnd(source,offset){for(;offset<source.length;offset++)if(!isDigit$1(source.charCodeAt(offset)))break\nreturn offset}function consumeEscaped(source,offset){offset+=2\nif(isHexDigit(getCharCode(source,offset-1))){for(const maxOffset=Math.min(source.length,offset+5);offset<maxOffset;offset++)if(!isHexDigit(getCharCode(source,offset)))break\nconst code=getCharCode(source,offset)\nisWhiteSpace$1(code)&&(offset+=getNewlineLength(source,offset,code))}return offset}function consumeName(source,offset){for(;offset<source.length;offset++){const code=source.charCodeAt(offset)\nif(isName(code))continue\nif(isValidEscape(code,getCharCode(source,offset+1))){offset=consumeEscaped(source,offset)-1\ncontinue}break}return offset}function consumeNumber$1(source,offset){let code=source.charCodeAt(offset)\ncode!==0x002B&&code!==0x002D||(code=source.charCodeAt(offset+=1))\nif(isDigit$1(code)){offset=findDecimalNumberEnd(source,offset+1)\ncode=source.charCodeAt(offset)}if(code===0x002E&&isDigit$1(source.charCodeAt(offset+1))){offset+=2\noffset=findDecimalNumberEnd(source,offset)}if(cmpChar(source,offset,101)){let sign=0\ncode=source.charCodeAt(offset+1)\nif(code===0x002D||code===0x002B){sign=1\ncode=source.charCodeAt(offset+2)}isDigit$1(code)&&(offset=findDecimalNumberEnd(source,offset+1+sign+1))}return offset}function consumeBadUrlRemnants(source,offset){for(;offset<source.length;offset++){const code=source.charCodeAt(offset)\nif(code===0x0029){offset++\nbreak}isValidEscape(code,getCharCode(source,offset+1))&&(offset=consumeEscaped(source,offset))}return offset}function decodeEscaped(escaped){if(escaped.length===1&&!isHexDigit(escaped.charCodeAt(0)))return escaped[0]\nlet code=parseInt(escaped,16);(code===0||code>=0xD800&&code<=0xDFFF||code>0x10FFFF)&&(code=0xFFFD)\nreturn String.fromCodePoint(code)}var tokenNames=[\"EOF-token\",\"ident-token\",\"function-token\",\"at-keyword-token\",\"hash-token\",\"string-token\",\"bad-string-token\",\"url-token\",\"bad-url-token\",\"delim-token\",\"number-token\",\"percentage-token\",\"dimension-token\",\"whitespace-token\",\"CDO-token\",\"CDC-token\",\"colon-token\",\"semicolon-token\",\"comma-token\",\"[-token\",\"]-token\",\"(-token\",\")-token\",\"{-token\",\"}-token\"]\nconst MIN_SIZE=16384\nfunction adoptBuffer(buffer=null,size){if(buffer===null||buffer.length<size)return new Uint32Array(Math.max(size+1024,MIN_SIZE))\nreturn buffer}const N$4=10\nconst F$2=12\nconst R$2=13\nfunction computeLinesAndColumns(host){const source=host.source\nconst sourceLength=source.length\nconst startOffset=source.length>0?isBOM(source.charCodeAt(0)):0\nconst lines=adoptBuffer(host.lines,sourceLength)\nconst columns=adoptBuffer(host.columns,sourceLength)\nlet line=host.startLine\nlet column=host.startColumn\nfor(let i=startOffset;i<sourceLength;i++){const code=source.charCodeAt(i)\nlines[i]=line\ncolumns[i]=column++\nif(code===N$4||code===R$2||code===F$2){if(code===R$2&&i+1<sourceLength&&source.charCodeAt(i+1)===N$4){i++\nlines[i]=line\ncolumns[i]=column}line++\ncolumn=1}}lines[sourceLength]=line\ncolumns[sourceLength]=column\nhost.lines=lines\nhost.columns=columns\nhost.computed=true}class OffsetToLocation{constructor(){this.lines=null\nthis.columns=null\nthis.computed=false}setSource(source,startOffset=0,startLine=1,startColumn=1){this.source=source\nthis.startOffset=startOffset\nthis.startLine=startLine\nthis.startColumn=startColumn\nthis.computed=false}getLocation(offset,filename){this.computed||computeLinesAndColumns(this)\nreturn{source:filename,offset:this.startOffset+offset,line:this.lines[offset],column:this.columns[offset]}}getLocationRange(start,end,filename){this.computed||computeLinesAndColumns(this)\nreturn{source:filename,start:{offset:this.startOffset+start,line:this.lines[start],column:this.columns[start]},end:{offset:this.startOffset+end,line:this.lines[end],column:this.columns[end]}}}}const OFFSET_MASK=0x00FFFFFF\nconst TYPE_SHIFT=24\nconst balancePair$1=new Map([[Function$1,RightParenthesis],[LeftParenthesis,RightParenthesis],[LeftSquareBracket,RightSquareBracket],[LeftCurlyBracket,RightCurlyBracket]])\nclass TokenStream{constructor(source,tokenize){this.setSource(source,tokenize)}reset(){this.eof=false\nthis.tokenIndex=-1\nthis.tokenType=0\nthis.tokenStart=this.firstCharOffset\nthis.tokenEnd=this.firstCharOffset}setSource(source=\"\",tokenize=(()=>{})){source=String(source||\"\")\nconst sourceLength=source.length\nconst offsetAndType=adoptBuffer(this.offsetAndType,source.length+1)\nconst balance=adoptBuffer(this.balance,source.length+1)\nlet tokenCount=0\nlet balanceCloseType=0\nlet balanceStart=0\nlet firstCharOffset=-1\nthis.offsetAndType=null\nthis.balance=null\ntokenize(source,((type,start,end)=>{switch(type){default:balance[tokenCount]=sourceLength\nbreak\ncase balanceCloseType:{let balancePrev=balanceStart&OFFSET_MASK\nbalanceStart=balance[balancePrev]\nbalanceCloseType=balanceStart>>TYPE_SHIFT\nbalance[tokenCount]=balancePrev\nbalance[balancePrev++]=tokenCount\nfor(;balancePrev<tokenCount;balancePrev++)balance[balancePrev]===sourceLength&&(balance[balancePrev]=tokenCount)\nbreak}case LeftParenthesis:case Function$1:case LeftSquareBracket:case LeftCurlyBracket:balance[tokenCount]=balanceStart\nbalanceCloseType=balancePair$1.get(type)\nbalanceStart=balanceCloseType<<TYPE_SHIFT|tokenCount\nbreak}offsetAndType[tokenCount++]=type<<TYPE_SHIFT|end\nfirstCharOffset===-1&&(firstCharOffset=start)}))\noffsetAndType[tokenCount]=EOF$1<<TYPE_SHIFT|sourceLength\nbalance[tokenCount]=sourceLength\nbalance[sourceLength]=sourceLength\nwhile(balanceStart!==0){const balancePrev=balanceStart&OFFSET_MASK\nbalanceStart=balance[balancePrev]\nbalance[balancePrev]=sourceLength}this.source=source\nthis.firstCharOffset=firstCharOffset===-1?0:firstCharOffset\nthis.tokenCount=tokenCount\nthis.offsetAndType=offsetAndType\nthis.balance=balance\nthis.reset()\nthis.next()}lookupType(offset){offset+=this.tokenIndex\nif(offset<this.tokenCount)return this.offsetAndType[offset]>>TYPE_SHIFT\nreturn EOF$1}lookupOffset(offset){offset+=this.tokenIndex\nif(offset<this.tokenCount)return this.offsetAndType[offset-1]&OFFSET_MASK\nreturn this.source.length}lookupValue(offset,referenceStr){offset+=this.tokenIndex\nif(offset<this.tokenCount)return cmpStr(this.source,this.offsetAndType[offset-1]&OFFSET_MASK,this.offsetAndType[offset]&OFFSET_MASK,referenceStr)\nreturn false}getTokenStart(tokenIndex){if(tokenIndex===this.tokenIndex)return this.tokenStart\nif(tokenIndex>0)return tokenIndex<this.tokenCount?this.offsetAndType[tokenIndex-1]&OFFSET_MASK:this.offsetAndType[this.tokenCount]&OFFSET_MASK\nreturn this.firstCharOffset}substrToCursor(start){return this.source.substring(start,this.tokenStart)}isBalanceEdge(pos){return this.balance[this.tokenIndex]<pos}isDelim(code,offset){if(offset)return this.lookupType(offset)===Delim&&this.source.charCodeAt(this.lookupOffset(offset))===code\nreturn this.tokenType===Delim&&this.source.charCodeAt(this.tokenStart)===code}skip(tokenCount){let next=this.tokenIndex+tokenCount\nif(next<this.tokenCount){this.tokenIndex=next\nthis.tokenStart=this.offsetAndType[next-1]&OFFSET_MASK\nnext=this.offsetAndType[next]\nthis.tokenType=next>>TYPE_SHIFT\nthis.tokenEnd=next&OFFSET_MASK}else{this.tokenIndex=this.tokenCount\nthis.next()}}next(){let next=this.tokenIndex+1\nif(next<this.tokenCount){this.tokenIndex=next\nthis.tokenStart=this.tokenEnd\nnext=this.offsetAndType[next]\nthis.tokenType=next>>TYPE_SHIFT\nthis.tokenEnd=next&OFFSET_MASK}else{this.eof=true\nthis.tokenIndex=this.tokenCount\nthis.tokenType=EOF$1\nthis.tokenStart=this.tokenEnd=this.source.length}}skipSC(){while(this.tokenType===WhiteSpace$1||this.tokenType===Comment$1)this.next()}skipUntilBalanced(startToken,stopConsume){let cursor=startToken\nlet balanceEnd\nlet offset\nloop:for(;cursor<this.tokenCount;cursor++){balanceEnd=this.balance[cursor]\nif(balanceEnd<startToken)break loop\noffset=cursor>0?this.offsetAndType[cursor-1]&OFFSET_MASK:this.firstCharOffset\nswitch(stopConsume(this.source.charCodeAt(offset))){case 1:break loop\ncase 2:cursor++\nbreak loop\ndefault:this.balance[balanceEnd]===cursor&&(cursor=balanceEnd)}}this.skip(cursor-this.tokenIndex)}forEachToken(fn){for(let i=0,offset=this.firstCharOffset;i<this.tokenCount;i++){const start=offset\nconst item=this.offsetAndType[i]\nconst end=item&OFFSET_MASK\nconst type=item>>TYPE_SHIFT\noffset=end\nfn(type,start,end,i)}}dump(){const tokens=new Array(this.tokenCount)\nthis.forEachToken(((type,start,end,index)=>{tokens[index]={idx:index,type:tokenNames[type],chunk:this.source.substring(start,end),balance:this.balance[index]}}))\nreturn tokens}}function tokenize$2(source,onToken){function getCharCode(offset){return offset<sourceLength?source.charCodeAt(offset):0}function consumeNumericToken(){offset=consumeNumber$1(source,offset)\nif(isIdentifierStart(getCharCode(offset),getCharCode(offset+1),getCharCode(offset+2))){type=Dimension$1\noffset=consumeName(source,offset)\nreturn}if(getCharCode(offset)===0x0025){type=Percentage$1\noffset++\nreturn}type=Number$3}function consumeIdentLikeToken(){const nameStartOffset=offset\noffset=consumeName(source,offset)\nif(cmpStr(source,nameStartOffset,offset,\"url\")&&getCharCode(offset)===0x0028){offset=findWhiteSpaceEnd(source,offset+1)\nif(getCharCode(offset)===0x0022||getCharCode(offset)===0x0027){type=Function$1\noffset=nameStartOffset+4\nreturn}consumeUrlToken()\nreturn}if(getCharCode(offset)===0x0028){type=Function$1\noffset++\nreturn}type=Ident}function consumeStringToken(endingCodePoint){endingCodePoint||(endingCodePoint=getCharCode(offset++))\ntype=String$2\nfor(;offset<source.length;offset++){const code=source.charCodeAt(offset)\nswitch(charCodeCategory(code)){case endingCodePoint:offset++\nreturn\ncase WhiteSpaceCategory:if(isNewline(code)){offset+=getNewlineLength(source,offset,code)\ntype=BadString\nreturn}break\ncase 0x005C:if(offset===source.length-1)break\nconst nextCode=getCharCode(offset+1)\nisNewline(nextCode)?offset+=getNewlineLength(source,offset+1,nextCode):isValidEscape(code,nextCode)&&(offset=consumeEscaped(source,offset)-1)\nbreak}}}function consumeUrlToken(){type=Url$2\noffset=findWhiteSpaceEnd(source,offset)\nfor(;offset<source.length;offset++){const code=source.charCodeAt(offset)\nswitch(charCodeCategory(code)){case 0x0029:offset++\nreturn\ncase WhiteSpaceCategory:offset=findWhiteSpaceEnd(source,offset)\nif(getCharCode(offset)===0x0029||offset>=source.length){offset<source.length&&offset++\nreturn}offset=consumeBadUrlRemnants(source,offset)\ntype=BadUrl\nreturn\ncase 0x0022:case 0x0027:case 0x0028:case NonPrintableCategory:offset=consumeBadUrlRemnants(source,offset)\ntype=BadUrl\nreturn\ncase 0x005C:if(isValidEscape(code,getCharCode(offset+1))){offset=consumeEscaped(source,offset)-1\nbreak}offset=consumeBadUrlRemnants(source,offset)\ntype=BadUrl\nreturn}}}source=String(source||\"\")\nconst sourceLength=source.length\nlet start=isBOM(getCharCode(0))\nlet offset=start\nlet type\nwhile(offset<sourceLength){const code=source.charCodeAt(offset)\nswitch(charCodeCategory(code)){case WhiteSpaceCategory:type=WhiteSpace$1\noffset=findWhiteSpaceEnd(source,offset+1)\nbreak\ncase 0x0022:consumeStringToken()\nbreak\ncase 0x0023:if(isName(getCharCode(offset+1))||isValidEscape(getCharCode(offset+1),getCharCode(offset+2))){type=Hash$1\noffset=consumeName(source,offset+1)}else{type=Delim\noffset++}break\ncase 0x0027:consumeStringToken()\nbreak\ncase 0x0028:type=LeftParenthesis\noffset++\nbreak\ncase 0x0029:type=RightParenthesis\noffset++\nbreak\ncase 0x002B:if(isNumberStart(code,getCharCode(offset+1),getCharCode(offset+2)))consumeNumericToken()\nelse{type=Delim\noffset++}break\ncase 0x002C:type=Comma\noffset++\nbreak\ncase 0x002D:if(isNumberStart(code,getCharCode(offset+1),getCharCode(offset+2)))consumeNumericToken()\nelse if(getCharCode(offset+1)===0x002D&&getCharCode(offset+2)===0x003E){type=CDC$1\noffset+=3}else if(isIdentifierStart(code,getCharCode(offset+1),getCharCode(offset+2)))consumeIdentLikeToken()\nelse{type=Delim\noffset++}break\ncase 0x002E:if(isNumberStart(code,getCharCode(offset+1),getCharCode(offset+2)))consumeNumericToken()\nelse{type=Delim\noffset++}break\ncase 0x002F:if(getCharCode(offset+1)===0x002A){type=Comment$1\noffset=source.indexOf(\"*/\",offset+2)\noffset=offset===-1?source.length:offset+2}else{type=Delim\noffset++}break\ncase 0x003A:type=Colon\noffset++\nbreak\ncase 0x003B:type=Semicolon\noffset++\nbreak\ncase 0x003C:if(getCharCode(offset+1)===0x0021&&getCharCode(offset+2)===0x002D&&getCharCode(offset+3)===0x002D){type=CDO$1\noffset+=4}else{type=Delim\noffset++}break\ncase 0x0040:if(isIdentifierStart(getCharCode(offset+1),getCharCode(offset+2),getCharCode(offset+3))){type=AtKeyword\noffset=consumeName(source,offset+1)}else{type=Delim\noffset++}break\ncase 0x005B:type=LeftSquareBracket\noffset++\nbreak\ncase 0x005C:if(isValidEscape(code,getCharCode(offset+1)))consumeIdentLikeToken()\nelse{type=Delim\noffset++}break\ncase 0x005D:type=RightSquareBracket\noffset++\nbreak\ncase 0x007B:type=LeftCurlyBracket\noffset++\nbreak\ncase 0x007D:type=RightCurlyBracket\noffset++\nbreak\ncase DigitCategory:consumeNumericToken()\nbreak\ncase NameStartCategory:consumeIdentLikeToken()\nbreak\ndefault:type=Delim\noffset++}onToken(type,start,start=offset)}}let releasedCursors=null\nclass List{static createItem(data){return{prev:null,next:null,data:data}}constructor(){this.head=null\nthis.tail=null\nthis.cursor=null}createItem(data){return List.createItem(data)}allocateCursor(prev,next){let cursor\nif(releasedCursors!==null){cursor=releasedCursors\nreleasedCursors=releasedCursors.cursor\ncursor.prev=prev\ncursor.next=next\ncursor.cursor=this.cursor}else cursor={prev:prev,next:next,cursor:this.cursor}\nthis.cursor=cursor\nreturn cursor}releaseCursor(){const{cursor:cursor}=this\nthis.cursor=cursor.cursor\ncursor.prev=null\ncursor.next=null\ncursor.cursor=releasedCursors\nreleasedCursors=cursor}updateCursors(prevOld,prevNew,nextOld,nextNew){let{cursor:cursor}=this\nwhile(cursor!==null){cursor.prev===prevOld&&(cursor.prev=prevNew)\ncursor.next===nextOld&&(cursor.next=nextNew)\ncursor=cursor.cursor}}*[Symbol.iterator](){for(let cursor=this.head;cursor!==null;cursor=cursor.next)yield cursor.data}get size(){let size=0\nfor(let cursor=this.head;cursor!==null;cursor=cursor.next)size++\nreturn size}get isEmpty(){return this.head===null}get first(){return this.head&&this.head.data}get last(){return this.tail&&this.tail.data}fromArray(array){let cursor=null\nthis.head=null\nfor(let data of array){const item=List.createItem(data)\ncursor!==null?cursor.next=item:this.head=item\nitem.prev=cursor\ncursor=item}this.tail=cursor\nreturn this}toArray(){return[...this]}toJSON(){return[...this]}forEach(fn,thisArg=this){const cursor=this.allocateCursor(null,this.head)\nwhile(cursor.next!==null){const item=cursor.next\ncursor.next=item.next\nfn.call(thisArg,item.data,item,this)}this.releaseCursor()}forEachRight(fn,thisArg=this){const cursor=this.allocateCursor(this.tail,null)\nwhile(cursor.prev!==null){const item=cursor.prev\ncursor.prev=item.prev\nfn.call(thisArg,item.data,item,this)}this.releaseCursor()}reduce(fn,initialValue,thisArg=this){let cursor=this.allocateCursor(null,this.head)\nlet acc=initialValue\nlet item\nwhile(cursor.next!==null){item=cursor.next\ncursor.next=item.next\nacc=fn.call(thisArg,acc,item.data,item,this)}this.releaseCursor()\nreturn acc}reduceRight(fn,initialValue,thisArg=this){let cursor=this.allocateCursor(this.tail,null)\nlet acc=initialValue\nlet item\nwhile(cursor.prev!==null){item=cursor.prev\ncursor.prev=item.prev\nacc=fn.call(thisArg,acc,item.data,item,this)}this.releaseCursor()\nreturn acc}some(fn,thisArg=this){for(let cursor=this.head;cursor!==null;cursor=cursor.next)if(fn.call(thisArg,cursor.data,cursor,this))return true\nreturn false}map(fn,thisArg=this){const result=new List\nfor(let cursor=this.head;cursor!==null;cursor=cursor.next)result.appendData(fn.call(thisArg,cursor.data,cursor,this))\nreturn result}filter(fn,thisArg=this){const result=new List\nfor(let cursor=this.head;cursor!==null;cursor=cursor.next)fn.call(thisArg,cursor.data,cursor,this)&&result.appendData(cursor.data)\nreturn result}nextUntil(start,fn,thisArg=this){if(start===null)return\nconst cursor=this.allocateCursor(null,start)\nwhile(cursor.next!==null){const item=cursor.next\ncursor.next=item.next\nif(fn.call(thisArg,item.data,item,this))break}this.releaseCursor()}prevUntil(start,fn,thisArg=this){if(start===null)return\nconst cursor=this.allocateCursor(start,null)\nwhile(cursor.prev!==null){const item=cursor.prev\ncursor.prev=item.prev\nif(fn.call(thisArg,item.data,item,this))break}this.releaseCursor()}clear(){this.head=null\nthis.tail=null}copy(){const result=new List\nfor(let data of this)result.appendData(data)\nreturn result}prepend(item){this.updateCursors(null,item,this.head,item)\nif(this.head!==null){this.head.prev=item\nitem.next=this.head}else this.tail=item\nthis.head=item\nreturn this}prependData(data){return this.prepend(List.createItem(data))}append(item){return this.insert(item)}appendData(data){return this.insert(List.createItem(data))}insert(item,before=null){if(before!==null){this.updateCursors(before.prev,item,before,item)\nif(before.prev===null){if(this.head!==before)throw new Error(\"before doesn't belong to list\")\nthis.head=item\nbefore.prev=item\nitem.next=before\nthis.updateCursors(null,item)}else{before.prev.next=item\nitem.prev=before.prev\nbefore.prev=item\nitem.next=before}}else{this.updateCursors(this.tail,item,null,item)\nif(this.tail!==null){this.tail.next=item\nitem.prev=this.tail}else this.head=item\nthis.tail=item}return this}insertData(data,before){return this.insert(List.createItem(data),before)}remove(item){this.updateCursors(item,item.prev,item,item.next)\nif(item.prev!==null)item.prev.next=item.next\nelse{if(this.head!==item)throw new Error(\"item doesn't belong to list\")\nthis.head=item.next}if(item.next!==null)item.next.prev=item.prev\nelse{if(this.tail!==item)throw new Error(\"item doesn't belong to list\")\nthis.tail=item.prev}item.prev=null\nitem.next=null\nreturn item}push(data){this.insert(List.createItem(data))}pop(){return this.tail!==null?this.remove(this.tail):null}unshift(data){this.prepend(List.createItem(data))}shift(){return this.head!==null?this.remove(this.head):null}prependList(list){return this.insertList(list,this.head)}appendList(list){return this.insertList(list)}insertList(list,before){if(list.head===null)return this\nif(before!==void 0&&before!==null){this.updateCursors(before.prev,list.tail,before,list.head)\nif(before.prev!==null){before.prev.next=list.head\nlist.head.prev=before.prev}else this.head=list.head\nbefore.prev=list.tail\nlist.tail.next=before}else{this.updateCursors(this.tail,list.tail,null,list.head)\nif(this.tail!==null){this.tail.next=list.head\nlist.head.prev=this.tail}else this.head=list.head\nthis.tail=list.tail}list.head=null\nlist.tail=null\nreturn this}replace(oldItem,newItemOrList){\"head\"in newItemOrList?this.insertList(newItemOrList,oldItem):this.insert(newItemOrList,oldItem)\nthis.remove(oldItem)}}function createCustomError(name,message){const error=Object.create(SyntaxError.prototype)\nconst errorStack=new Error\nreturn Object.assign(error,{name:name,message:message,get stack(){return(errorStack.stack||\"\").replace(/^(.+\\n){1,3}/,`${name}: ${message}\\n`)}})}const MAX_LINE_LENGTH=100\nconst OFFSET_CORRECTION=60\nconst TAB_REPLACEMENT=\" \"\nfunction sourceFragment({source:source,line:line,column:column},extraLines){function processLines(start,end){return lines.slice(start,end).map(((line,idx)=>String(start+idx+1).padStart(maxNumLength)+\" |\"+line)).join(\"\\n\")}const lines=source.split(/\\r\\n?|\\n|\\f/)\nconst startLine=Math.max(1,line-extraLines)-1\nconst endLine=Math.min(line+extraLines,lines.length+1)\nconst maxNumLength=Math.max(4,String(endLine).length)+1\nlet cutLeft=0\ncolumn+=(TAB_REPLACEMENT.length-1)*(lines[line-1].substr(0,column-1).match(/\\t/g)||[]).length\nif(column>MAX_LINE_LENGTH){cutLeft=column-OFFSET_CORRECTION+3\ncolumn=OFFSET_CORRECTION-2}for(let i=startLine;i<=endLine;i++)if(i>=0&&i<lines.length){lines[i]=lines[i].replace(/\\t/g,TAB_REPLACEMENT)\nlines[i]=(cutLeft>0&&lines[i].length>cutLeft?\"…\":\"\")+lines[i].substr(cutLeft,MAX_LINE_LENGTH-2)+(lines[i].length>cutLeft+MAX_LINE_LENGTH-1?\"…\":\"\")}return[processLines(startLine,line),new Array(column+maxNumLength+2).join(\"-\")+\"^\",processLines(line,endLine)].filter(Boolean).join(\"\\n\")}function SyntaxError$2(message,source,offset,line,column){const error=Object.assign(createCustomError(\"SyntaxError\",message),{source:source,offset:offset,line:line,column:column,sourceFragment:extraLines=>sourceFragment({source:source,line:line,column:column},isNaN(extraLines)?0:extraLines),get formattedMessage(){return`Parse error: ${message}\\n`+sourceFragment({source:source,line:line,column:column},2)}})\nreturn error}function readSequence$1(recognizer){const children=this.createList()\nlet space=false\nconst context={recognizer:recognizer}\nwhile(!this.eof){switch(this.tokenType){case Comment$1:this.next()\ncontinue\ncase WhiteSpace$1:space=true\nthis.next()\ncontinue}let child=recognizer.getNode.call(this,context)\nif(child===void 0)break\nif(space){recognizer.onWhiteSpace&&recognizer.onWhiteSpace.call(this,child,children,context)\nspace=false}children.push(child)}space&&recognizer.onWhiteSpace&&recognizer.onWhiteSpace.call(this,null,children,context)\nreturn children}const NOOP=()=>{}\nconst EXCLAMATIONMARK$3=0x0021\nconst NUMBERSIGN$4=0x0023\nconst SEMICOLON=0x003B\nconst LEFTCURLYBRACKET$1=0x007B\nconst NULL=0\nfunction createParseContext(name){return function(){return this[name]()}}function fetchParseValues(dict){const result=Object.create(null)\nfor(const name in dict){const item=dict[name]\nconst fn=item.parse||item\nfn&&(result[name]=fn)}return result}function processConfig(config){const parseConfig={context:Object.create(null),scope:Object.assign(Object.create(null),config.scope),atrule:fetchParseValues(config.atrule),pseudo:fetchParseValues(config.pseudo),node:fetchParseValues(config.node)}\nfor(const name in config.parseContext)switch(typeof config.parseContext[name]){case\"function\":parseConfig.context[name]=config.parseContext[name]\nbreak\ncase\"string\":parseConfig.context[name]=createParseContext(config.parseContext[name])\nbreak}return{config:parseConfig,...parseConfig,...parseConfig.node}}function createParser(config){let source=\"\"\nlet filename=\"<unknown>\"\nlet needPositions=false\nlet onParseError=NOOP\nlet onParseErrorThrow=false\nconst locationMap=new OffsetToLocation\nconst parser=Object.assign(new TokenStream,processConfig(config||{}),{parseAtrulePrelude:true,parseRulePrelude:true,parseValue:true,parseCustomProperty:false,readSequence:readSequence$1,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket:code=>code===LEFTCURLYBRACKET$1?1:0,consumeUntilLeftCurlyBracketOrSemicolon:code=>code===LEFTCURLYBRACKET$1||code===SEMICOLON?1:0,consumeUntilExclamationMarkOrSemicolon:code=>code===EXCLAMATIONMARK$3||code===SEMICOLON?1:0,consumeUntilSemicolonIncluded:code=>code===SEMICOLON?2:0,createList:()=>new List,createSingleNodeList:node=>(new List).appendData(node),getFirstListNode:list=>list&&list.first,getLastListNode:list=>list&&list.last,parseWithFallback(consumer,fallback){const startToken=this.tokenIndex\ntry{return consumer.call(this)}catch(e){if(onParseErrorThrow)throw e\nconst fallbackNode=fallback.call(this,startToken)\nonParseErrorThrow=true\nonParseError(e,fallbackNode)\nonParseErrorThrow=false\nreturn fallbackNode}},lookupNonWSType(offset){let type\ndo{type=this.lookupType(offset++)\nif(type!==WhiteSpace$1)return type}while(type!==NULL)\nreturn NULL},charCodeAt:offset=>offset>=0&&offset<source.length?source.charCodeAt(offset):0,substring:(offsetStart,offsetEnd)=>source.substring(offsetStart,offsetEnd),substrToCursor(start){return this.source.substring(start,this.tokenStart)},cmpChar:(offset,charCode)=>cmpChar(source,offset,charCode),cmpStr:(offsetStart,offsetEnd,str)=>cmpStr(source,offsetStart,offsetEnd,str),consume(tokenType){const start=this.tokenStart\nthis.eat(tokenType)\nreturn this.substrToCursor(start)},consumeFunctionName(){const name=source.substring(this.tokenStart,this.tokenEnd-1)\nthis.eat(Function$1)\nreturn name},consumeNumber(type){const number=source.substring(this.tokenStart,consumeNumber$1(source,this.tokenStart))\nthis.eat(type)\nreturn number},eat(tokenType){if(this.tokenType!==tokenType){const tokenName=tokenNames[tokenType].slice(0,-6).replace(/-/g,\" \").replace(/^./,(m=>m.toUpperCase()))\nlet message=`${/[[\\](){}]/.test(tokenName)?`\"${tokenName}\"`:tokenName} is expected`\nlet offset=this.tokenStart\nswitch(tokenType){case Ident:if(this.tokenType===Function$1||this.tokenType===Url$2){offset=this.tokenEnd-1\nmessage=\"Identifier is expected but function found\"}else message=\"Identifier is expected\"\nbreak\ncase Hash$1:if(this.isDelim(NUMBERSIGN$4)){this.next()\noffset++\nmessage=\"Name is expected\"}break\ncase Percentage$1:if(this.tokenType===Number$3){offset=this.tokenEnd\nmessage=\"Percent sign is expected\"}break}this.error(message,offset)}this.next()},eatIdent(name){this.tokenType===Ident&&this.lookupValue(0,name)!==false||this.error(`Identifier \"${name}\" is expected`)\nthis.next()},eatDelim(code){this.isDelim(code)||this.error(`Delim \"${String.fromCharCode(code)}\" is expected`)\nthis.next()},getLocation(start,end){if(needPositions)return locationMap.getLocationRange(start,end,filename)\nreturn null},getLocationFromList(list){if(needPositions){const head=this.getFirstListNode(list)\nconst tail=this.getLastListNode(list)\nreturn locationMap.getLocationRange(head!==null?head.loc.start.offset-locationMap.startOffset:this.tokenStart,tail!==null?tail.loc.end.offset-locationMap.startOffset:this.tokenStart,filename)}return null},error(message,offset){const location=typeof offset!==\"undefined\"&&offset<source.length?locationMap.getLocation(offset):this.eof?locationMap.getLocation(findWhiteSpaceStart(source,source.length-1)):locationMap.getLocation(this.tokenStart)\nthrow new SyntaxError$2(message||\"Unexpected input\",source,location.offset,location.line,location.column)}})\nconst parse=function(source_,options){source=source_\noptions=options||{}\nparser.setSource(source,tokenize$2)\nlocationMap.setSource(source,options.offset,options.line,options.column)\nfilename=options.filename||\"<unknown>\"\nneedPositions=Boolean(options.positions)\nonParseError=typeof options.onParseError===\"function\"?options.onParseError:NOOP\nonParseErrorThrow=false\nparser.parseAtrulePrelude=!(\"parseAtrulePrelude\"in options)||Boolean(options.parseAtrulePrelude)\nparser.parseRulePrelude=!(\"parseRulePrelude\"in options)||Boolean(options.parseRulePrelude)\nparser.parseValue=!(\"parseValue\"in options)||Boolean(options.parseValue)\nparser.parseCustomProperty=\"parseCustomProperty\"in options&&Boolean(options.parseCustomProperty)\nconst{context:context=\"default\",onComment:onComment}=options\nif(context in parser.context===false)throw new Error(\"Unknown context `\"+context+\"`\")\ntypeof onComment===\"function\"&&parser.forEachToken(((type,start,end)=>{if(type===Comment$1){const loc=parser.getLocation(start,end)\nconst value=cmpStr(source,end-2,end,\"*/\")?source.slice(start+2,end-2):source.slice(start+2,end)\nonComment(value,loc)}}))\nconst ast=parser.context[context].call(parser,options)\nparser.eof||parser.error()\nreturn ast}\nreturn Object.assign(parse,{SyntaxError:SyntaxError$2,config:parser.config})}const trackNodes=new Set([\"Atrule\",\"Selector\",\"Declaration\"])\nfunction generateSourceMap(handlers){const map=new SourceMapGenerator_1\nconst generated={line:1,column:0}\nconst original={line:0,column:0}\nconst activatedGenerated={line:1,column:0}\nconst activatedMapping={generated:activatedGenerated}\nlet line=1\nlet column=0\nlet sourceMappingActive=false\nconst origHandlersNode=handlers.node\nhandlers.node=function(node){if(node.loc&&node.loc.start&&trackNodes.has(node.type)){const nodeLine=node.loc.start.line\nconst nodeColumn=node.loc.start.column-1\nif(original.line!==nodeLine||original.column!==nodeColumn){original.line=nodeLine\noriginal.column=nodeColumn\ngenerated.line=line\ngenerated.column=column\nif(sourceMappingActive){sourceMappingActive=false\ngenerated.line===activatedGenerated.line&&generated.column===activatedGenerated.column||map.addMapping(activatedMapping)}sourceMappingActive=true\nmap.addMapping({source:node.loc.source,original:original,generated:generated})}}origHandlersNode.call(this,node)\nif(sourceMappingActive&&trackNodes.has(node.type)){activatedGenerated.line=line\nactivatedGenerated.column=column}}\nconst origHandlersEmit=handlers.emit\nhandlers.emit=function(value,type,auto){for(let i=0;i<value.length;i++)if(value.charCodeAt(i)===10){line++\ncolumn=0}else column++\norigHandlersEmit(value,type,auto)}\nconst origHandlersResult=handlers.result\nhandlers.result=function(){sourceMappingActive&&map.addMapping(activatedMapping)\nreturn{css:origHandlersResult(),map:map}}\nreturn handlers}const PLUSSIGN$9=0x002B\nconst HYPHENMINUS$6=0x002D\nconst code=(type,value)=>{type===Delim&&(type=value)\nif(typeof type===\"string\"){const charCode=type.charCodeAt(0)\nreturn charCode>0x7F?0x8000:charCode<<8}return type}\nconst specPairs=[[Ident,Ident],[Ident,Function$1],[Ident,Url$2],[Ident,BadUrl],[Ident,\"-\"],[Ident,Number$3],[Ident,Percentage$1],[Ident,Dimension$1],[Ident,CDC$1],[Ident,LeftParenthesis],[AtKeyword,Ident],[AtKeyword,Function$1],[AtKeyword,Url$2],[AtKeyword,BadUrl],[AtKeyword,\"-\"],[AtKeyword,Number$3],[AtKeyword,Percentage$1],[AtKeyword,Dimension$1],[AtKeyword,CDC$1],[Hash$1,Ident],[Hash$1,Function$1],[Hash$1,Url$2],[Hash$1,BadUrl],[Hash$1,\"-\"],[Hash$1,Number$3],[Hash$1,Percentage$1],[Hash$1,Dimension$1],[Hash$1,CDC$1],[Dimension$1,Ident],[Dimension$1,Function$1],[Dimension$1,Url$2],[Dimension$1,BadUrl],[Dimension$1,\"-\"],[Dimension$1,Number$3],[Dimension$1,Percentage$1],[Dimension$1,Dimension$1],[Dimension$1,CDC$1],[\"#\",Ident],[\"#\",Function$1],[\"#\",Url$2],[\"#\",BadUrl],[\"#\",\"-\"],[\"#\",Number$3],[\"#\",Percentage$1],[\"#\",Dimension$1],[\"#\",CDC$1],[\"-\",Ident],[\"-\",Function$1],[\"-\",Url$2],[\"-\",BadUrl],[\"-\",\"-\"],[\"-\",Number$3],[\"-\",Percentage$1],[\"-\",Dimension$1],[\"-\",CDC$1],[Number$3,Ident],[Number$3,Function$1],[Number$3,Url$2],[Number$3,BadUrl],[Number$3,Number$3],[Number$3,Percentage$1],[Number$3,Dimension$1],[Number$3,\"%\"],[Number$3,CDC$1],[\"@\",Ident],[\"@\",Function$1],[\"@\",Url$2],[\"@\",BadUrl],[\"@\",\"-\"],[\"@\",CDC$1],[\".\",Number$3],[\".\",Percentage$1],[\".\",Dimension$1],[\"+\",Number$3],[\"+\",Percentage$1],[\"+\",Dimension$1],[\"/\",\"*\"]]\nconst safePairs=specPairs.concat([[Ident,Hash$1],[Dimension$1,Hash$1],[Hash$1,Hash$1],[AtKeyword,LeftParenthesis],[AtKeyword,String$2],[AtKeyword,Colon],[Percentage$1,Percentage$1],[Percentage$1,Dimension$1],[Percentage$1,Function$1],[Percentage$1,\"-\"],[RightParenthesis,Ident],[RightParenthesis,Function$1],[RightParenthesis,Percentage$1],[RightParenthesis,Dimension$1],[RightParenthesis,Hash$1],[RightParenthesis,\"-\"]])\nfunction createMap(pairs){const isWhiteSpaceRequired=new Set(pairs.map((([prev,next])=>code(prev)<<16|code(next))))\nreturn function(prevCode,type,value){const nextCode=code(type,value)\nconst nextCharCode=value.charCodeAt(0)\nconst emitWs=nextCharCode===HYPHENMINUS$6&&type!==Ident&&type!==Function$1&&type!==CDC$1||nextCharCode===PLUSSIGN$9?isWhiteSpaceRequired.has(prevCode<<16|nextCharCode<<8):isWhiteSpaceRequired.has(prevCode<<16|nextCode)\nemitWs&&this.emit(\" \",WhiteSpace$1,true)\nreturn nextCode}}const spec=createMap(specPairs)\nconst safe=createMap(safePairs)\nvar tokenBefore=Object.freeze({__proto__:null,safe:safe,spec:spec})\nconst REVERSESOLIDUS=0x005c\nfunction processChildren(node,delimeter){if(typeof delimeter===\"function\"){let prev=null\nnode.children.forEach((node=>{prev!==null&&delimeter.call(this,prev)\nthis.node(node)\nprev=node}))\nreturn}node.children.forEach(this.node,this)}function processChunk(chunk){tokenize$2(chunk,((type,start,end)=>{this.token(type,chunk.slice(start,end))}))}function createGenerator(config){const types=new Map\nfor(let name in config.node){const item=config.node[name]\nconst fn=item.generate||item\ntypeof fn===\"function\"&&types.set(name,item.generate||item)}return function(node,options){let buffer=\"\"\nlet prevCode=0\nlet handlers={node(node){if(!types.has(node.type))throw new Error(\"Unknown node type: \"+node.type)\ntypes.get(node.type).call(publicApi,node)},tokenBefore:safe,token(type,value){prevCode=this.tokenBefore(prevCode,type,value)\nthis.emit(value,type,false)\ntype===Delim&&value.charCodeAt(0)===REVERSESOLIDUS&&this.emit(\"\\n\",WhiteSpace$1,true)},emit(value){buffer+=value},result:()=>buffer}\nif(options){typeof options.decorator===\"function\"&&(handlers=options.decorator(handlers))\noptions.sourceMap&&(handlers=generateSourceMap(handlers))\noptions.mode in tokenBefore&&(handlers.tokenBefore=tokenBefore[options.mode])}const publicApi={node:node=>handlers.node(node),children:processChildren,token:(type,value)=>handlers.token(type,value),tokenize:processChunk}\nhandlers.node(node)\nreturn handlers.result()}}function createConvertor(walk){return{fromPlainObject(ast){walk(ast,{enter(node){node.children&&node.children instanceof List===false&&(node.children=(new List).fromArray(node.children))}})\nreturn ast},toPlainObject(ast){walk(ast,{leave(node){node.children&&node.children instanceof List&&(node.children=node.children.toArray())}})\nreturn ast}}}const{hasOwnProperty:hasOwnProperty$8}=Object.prototype\nconst noop$2=function(){}\nfunction ensureFunction$1(value){return typeof value===\"function\"?value:noop$2}function invokeForType(fn,type){return function(node,item,list){node.type===type&&fn.call(this,node,item,list)}}function getWalkersFromStructure(name,nodeType){const structure=nodeType.structure\nconst walkers=[]\nfor(const key in structure){if(hasOwnProperty$8.call(structure,key)===false)continue\nlet fieldTypes=structure[key]\nconst walker={name:key,type:false,nullable:false}\nArray.isArray(fieldTypes)||(fieldTypes=[fieldTypes])\nfor(const fieldType of fieldTypes)fieldType===null?walker.nullable=true:typeof fieldType===\"string\"?walker.type=\"node\":Array.isArray(fieldType)&&(walker.type=\"list\")\nwalker.type&&walkers.push(walker)}if(walkers.length)return{context:nodeType.walkContext,fields:walkers}\nreturn null}function getTypesFromConfig(config){const types={}\nfor(const name in config.node)if(hasOwnProperty$8.call(config.node,name)){const nodeType=config.node[name]\nif(!nodeType.structure)throw new Error(\"Missed `structure` field in `\"+name+\"` node type definition\")\ntypes[name]=getWalkersFromStructure(name,nodeType)}return types}function createTypeIterator(config,reverse){const fields=config.fields.slice()\nconst contextName=config.context\nconst useContext=typeof contextName===\"string\"\nreverse&&fields.reverse()\nreturn function(node,context,walk,walkReducer){let prevContextValue\nif(useContext){prevContextValue=context[contextName]\ncontext[contextName]=node}for(const field of fields){const ref=node[field.name]\nif(!field.nullable||ref)if(field.type===\"list\"){const breakWalk=reverse?ref.reduceRight(walkReducer,false):ref.reduce(walkReducer,false)\nif(breakWalk)return true}else if(walk(ref))return true}useContext&&(context[contextName]=prevContextValue)}}function createFastTraveralMap({StyleSheet:StyleSheet,Atrule:Atrule,Rule:Rule,Block:Block,DeclarationList:DeclarationList}){return{Atrule:{StyleSheet:StyleSheet,Atrule:Atrule,Rule:Rule,Block:Block},Rule:{StyleSheet:StyleSheet,Atrule:Atrule,Rule:Rule,Block:Block},Declaration:{StyleSheet:StyleSheet,Atrule:Atrule,Rule:Rule,Block:Block,DeclarationList:DeclarationList}}}function createWalker(config){const types=getTypesFromConfig(config)\nconst iteratorsNatural={}\nconst iteratorsReverse={}\nconst breakWalk=Symbol(\"break-walk\")\nconst skipNode=Symbol(\"skip-node\")\nfor(const name in types)if(hasOwnProperty$8.call(types,name)&&types[name]!==null){iteratorsNatural[name]=createTypeIterator(types[name],false)\niteratorsReverse[name]=createTypeIterator(types[name],true)}const fastTraversalIteratorsNatural=createFastTraveralMap(iteratorsNatural)\nconst fastTraversalIteratorsReverse=createFastTraveralMap(iteratorsReverse)\nconst walk=function(root,options){function walkNode(node,item,list){const enterRet=enter.call(context,node,item,list)\nif(enterRet===breakWalk)return true\nif(enterRet===skipNode)return false\nif(iterators.hasOwnProperty(node.type)&&iterators[node.type](node,context,walkNode,walkReducer))return true\nif(leave.call(context,node,item,list)===breakWalk)return true\nreturn false}let enter=noop$2\nlet leave=noop$2\nlet iterators=iteratorsNatural\nlet walkReducer=(ret,data,item,list)=>ret||walkNode(data,item,list)\nconst context={break:breakWalk,skip:skipNode,root:root,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null}\nif(typeof options===\"function\")enter=options\nelse if(options){enter=ensureFunction$1(options.enter)\nleave=ensureFunction$1(options.leave)\noptions.reverse&&(iterators=iteratorsReverse)\nif(options.visit){if(fastTraversalIteratorsNatural.hasOwnProperty(options.visit))iterators=options.reverse?fastTraversalIteratorsReverse[options.visit]:fastTraversalIteratorsNatural[options.visit]\nelse if(!types.hasOwnProperty(options.visit))throw new Error(\"Bad value `\"+options.visit+\"` for `visit` option (should be: \"+Object.keys(types).sort().join(\", \")+\")\")\nenter=invokeForType(enter,options.visit)\nleave=invokeForType(leave,options.visit)}}if(enter===noop$2&&leave===noop$2)throw new Error(\"Neither `enter` nor `leave` walker handler is set or both aren't a function\")\nwalkNode(root)}\nwalk.break=breakWalk\nwalk.skip=skipNode\nwalk.find=function(ast,fn){let found=null\nwalk(ast,(function(node,item,list){if(fn.call(this,node,item,list)){found=node\nreturn breakWalk}}))\nreturn found}\nwalk.findLast=function(ast,fn){let found=null\nwalk(ast,{reverse:true,enter(node,item,list){if(fn.call(this,node,item,list)){found=node\nreturn breakWalk}}})\nreturn found}\nwalk.findAll=function(ast,fn){const found=[]\nwalk(ast,(function(node,item,list){fn.call(this,node,item,list)&&found.push(node)}))\nreturn found}\nreturn walk}function noop$1(value){return value}function generateMultiplier(multiplier){const{min:min,max:max,comma:comma}=multiplier\nif(min===0&&max===0)return comma?\"#?\":\"*\"\nif(min===0&&max===1)return\"?\"\nif(min===1&&max===0)return comma?\"#\":\"+\"\nif(min===1&&max===1)return\"\"\nreturn(comma?\"#\":\"\")+(min===max?\"{\"+min+\"}\":\"{\"+min+\",\"+(max!==0?max:\"\")+\"}\")}function generateTypeOpts(node){switch(node.type){case\"Range\":return\" [\"+(node.min===null?\"-∞\":node.min)+\",\"+(node.max===null?\"∞\":node.max)+\"]\"\ndefault:throw new Error(\"Unknown node type `\"+node.type+\"`\")}}function generateSequence(node,decorate,forceBraces,compact){const combinator=node.combinator===\" \"||compact?node.combinator:\" \"+node.combinator+\" \"\nconst result=node.terms.map((term=>internalGenerate(term,decorate,forceBraces,compact))).join(combinator)\nif(node.explicit||forceBraces)return(compact||result[0]===\",\"?\"[\":\"[ \")+result+(compact?\"]\":\" ]\")\nreturn result}function internalGenerate(node,decorate,forceBraces,compact){let result\nswitch(node.type){case\"Group\":result=generateSequence(node,decorate,forceBraces,compact)+(node.disallowEmpty?\"!\":\"\")\nbreak\ncase\"Multiplier\":return internalGenerate(node.term,decorate,forceBraces,compact)+decorate(generateMultiplier(node),node)\ncase\"Type\":result=\"<\"+node.name+(node.opts?decorate(generateTypeOpts(node.opts),node.opts):\"\")+\">\"\nbreak\ncase\"Property\":result=\"<'\"+node.name+\"'>\"\nbreak\ncase\"Keyword\":result=node.name\nbreak\ncase\"AtKeyword\":result=\"@\"+node.name\nbreak\ncase\"Function\":result=node.name+\"(\"\nbreak\ncase\"String\":case\"Token\":result=node.value\nbreak\ncase\"Comma\":result=\",\"\nbreak\ndefault:throw new Error(\"Unknown node type `\"+node.type+\"`\")}return decorate(result,node)}function generate$H(node,options){let decorate=noop$1\nlet forceBraces=false\nlet compact=false\nif(typeof options===\"function\")decorate=options\nelse if(options){forceBraces=Boolean(options.forceBraces)\ncompact=Boolean(options.compact)\ntypeof options.decorate===\"function\"&&(decorate=options.decorate)}return internalGenerate(node,decorate,forceBraces,compact)}const defaultLoc={offset:0,line:1,column:1}\nfunction locateMismatch(matchResult,node){const tokens=matchResult.tokens\nconst longestMatch=matchResult.longestMatch\nconst mismatchNode=longestMatch<tokens.length&&tokens[longestMatch].node||null\nconst badNode=mismatchNode!==node?mismatchNode:null\nlet mismatchOffset=0\nlet mismatchLength=0\nlet entries=0\nlet css=\"\"\nlet start\nlet end\nfor(let i=0;i<tokens.length;i++){const token=tokens[i].value\nif(i===longestMatch){mismatchLength=token.length\nmismatchOffset=css.length}badNode!==null&&tokens[i].node===badNode&&(i<=longestMatch?entries++:entries=0)\ncss+=token}if(longestMatch===tokens.length||entries>1){start=fromLoc(badNode||node,\"end\")||buildLoc(defaultLoc,css)\nend=buildLoc(start)}else{start=fromLoc(badNode,\"start\")||buildLoc(fromLoc(node,\"start\")||defaultLoc,css.slice(0,mismatchOffset))\nend=fromLoc(badNode,\"end\")||buildLoc(start,css.substr(mismatchOffset,mismatchLength))}return{css:css,mismatchOffset:mismatchOffset,mismatchLength:mismatchLength,start:start,end:end}}function fromLoc(node,point){const value=node&&node.loc&&node.loc[point]\nif(value)return\"line\"in value?buildLoc(value):value\nreturn null}function buildLoc({offset:offset,line:line,column:column},extra){const loc={offset:offset,line:line,column:column}\nif(extra){const lines=extra.split(/\\n|\\r\\n?|\\f/)\nloc.offset+=extra.length\nloc.line+=lines.length-1\nloc.column=lines.length===1?loc.column+extra.length:lines.pop().length+1}return loc}const SyntaxReferenceError=function(type,referenceName){const error=createCustomError(\"SyntaxReferenceError\",type+(referenceName?\" `\"+referenceName+\"`\":\"\"))\nerror.reference=referenceName\nreturn error}\nconst SyntaxMatchError=function(message,syntax,node,matchResult){const error=createCustomError(\"SyntaxMatchError\",message)\nconst{css:css,mismatchOffset:mismatchOffset,mismatchLength:mismatchLength,start:start,end:end}=locateMismatch(matchResult,node)\nerror.rawMessage=message\nerror.syntax=syntax?generate$H(syntax):\"<generic>\"\nerror.css=css\nerror.mismatchOffset=mismatchOffset\nerror.mismatchLength=mismatchLength\nerror.message=message+\"\\n syntax: \"+error.syntax+\"\\n value: \"+(css||\"<empty string>\")+\"\\n --------\"+new Array(error.mismatchOffset+1).join(\"-\")+\"^\"\nObject.assign(error,start)\nerror.loc={source:node&&node.loc&&node.loc.source||\"<unknown>\",start:start,end:end}\nreturn error}\nconst keywords=new Map\nconst properties=new Map\nconst HYPHENMINUS$5=45\nconst keyword=getKeywordDescriptor\nconst property=getPropertyDescriptor\nfunction isCustomProperty(str,offset){offset=offset||0\nreturn str.length-offset>=2&&str.charCodeAt(offset)===HYPHENMINUS$5&&str.charCodeAt(offset+1)===HYPHENMINUS$5}function getVendorPrefix(str,offset){offset=offset||0\nif(str.length-offset>=3&&str.charCodeAt(offset)===HYPHENMINUS$5&&str.charCodeAt(offset+1)!==HYPHENMINUS$5){const secondDashIndex=str.indexOf(\"-\",offset+2)\nif(secondDashIndex!==-1)return str.substring(offset,secondDashIndex+1)}return\"\"}function getKeywordDescriptor(keyword){if(keywords.has(keyword))return keywords.get(keyword)\nconst name=keyword.toLowerCase()\nlet descriptor=keywords.get(name)\nif(descriptor===void 0){const custom=isCustomProperty(name,0)\nconst vendor=custom?\"\":getVendorPrefix(name,0)\ndescriptor=Object.freeze({basename:name.substr(vendor.length),name:name,prefix:vendor,vendor:vendor,custom:custom})}keywords.set(keyword,descriptor)\nreturn descriptor}function getPropertyDescriptor(property){if(properties.has(property))return properties.get(property)\nlet name=property\nlet hack=property[0]\nhack===\"/\"?hack=property[1]===\"/\"?\"//\":\"/\":hack!==\"_\"&&hack!==\"*\"&&hack!==\"$\"&&hack!==\"#\"&&hack!==\"+\"&&hack!==\"&\"&&(hack=\"\")\nconst custom=isCustomProperty(name,hack.length)\nif(!custom){name=name.toLowerCase()\nif(properties.has(name)){const descriptor=properties.get(name)\nproperties.set(property,descriptor)\nreturn descriptor}}const vendor=custom?\"\":getVendorPrefix(name,hack.length)\nconst prefix=name.substr(0,hack.length+vendor.length)\nconst descriptor=Object.freeze({basename:name.substr(prefix.length),name:name.substr(hack.length),hack:hack,vendor:vendor,prefix:prefix,custom:custom})\nproperties.set(property,descriptor)\nreturn descriptor}const cssWideKeywords=[\"initial\",\"inherit\",\"unset\",\"revert\",\"revert-layer\"]\nconst PLUSSIGN$8=0x002B\nconst HYPHENMINUS$4=0x002D\nconst N$3=0x006E\nconst DISALLOW_SIGN$1=true\nconst ALLOW_SIGN$1=false\nfunction isDelim$1(token,code){return token!==null&&token.type===Delim&&token.value.charCodeAt(0)===code}function skipSC(token,offset,getNextToken){while(token!==null&&(token.type===WhiteSpace$1||token.type===Comment$1))token=getNextToken(++offset)\nreturn offset}function checkInteger$1(token,valueOffset,disallowSign,offset){if(!token)return 0\nconst code=token.value.charCodeAt(valueOffset)\nif(code===PLUSSIGN$8||code===HYPHENMINUS$4){if(disallowSign)return 0\nvalueOffset++}for(;valueOffset<token.value.length;valueOffset++)if(!isDigit$1(token.value.charCodeAt(valueOffset)))return 0\nreturn offset+1}function consumeB$1(token,offset_,getNextToken){let sign=false\nlet offset=skipSC(token,offset_,getNextToken)\ntoken=getNextToken(offset)\nif(token===null)return offset_\nif(token.type!==Number$3){if(!isDelim$1(token,PLUSSIGN$8)&&!isDelim$1(token,HYPHENMINUS$4))return offset_\nsign=true\noffset=skipSC(getNextToken(++offset),offset,getNextToken)\ntoken=getNextToken(offset)\nif(token===null||token.type!==Number$3)return 0}if(!sign){const code=token.value.charCodeAt(0)\nif(code!==PLUSSIGN$8&&code!==HYPHENMINUS$4)return 0}return checkInteger$1(token,sign?0:1,sign,offset)}function anPlusB(token,getNextToken){let offset=0\nif(!token)return 0\nif(token.type===Number$3)return checkInteger$1(token,0,ALLOW_SIGN$1,offset)\nif(token.type===Ident&&token.value.charCodeAt(0)===HYPHENMINUS$4){if(!cmpChar(token.value,1,N$3))return 0\nswitch(token.value.length){case 2:return consumeB$1(getNextToken(++offset),offset,getNextToken)\ncase 3:if(token.value.charCodeAt(2)!==HYPHENMINUS$4)return 0\noffset=skipSC(getNextToken(++offset),offset,getNextToken)\ntoken=getNextToken(offset)\nreturn checkInteger$1(token,0,DISALLOW_SIGN$1,offset)\ndefault:if(token.value.charCodeAt(2)!==HYPHENMINUS$4)return 0\nreturn checkInteger$1(token,3,DISALLOW_SIGN$1,offset)}}else if(token.type===Ident||isDelim$1(token,PLUSSIGN$8)&&getNextToken(offset+1).type===Ident){token.type!==Ident&&(token=getNextToken(++offset))\nif(token===null||!cmpChar(token.value,0,N$3))return 0\nswitch(token.value.length){case 1:return consumeB$1(getNextToken(++offset),offset,getNextToken)\ncase 2:if(token.value.charCodeAt(1)!==HYPHENMINUS$4)return 0\noffset=skipSC(getNextToken(++offset),offset,getNextToken)\ntoken=getNextToken(offset)\nreturn checkInteger$1(token,0,DISALLOW_SIGN$1,offset)\ndefault:if(token.value.charCodeAt(1)!==HYPHENMINUS$4)return 0\nreturn checkInteger$1(token,2,DISALLOW_SIGN$1,offset)}}else if(token.type===Dimension$1){let code=token.value.charCodeAt(0)\nlet sign=code===PLUSSIGN$8||code===HYPHENMINUS$4?1:0\nlet i=sign\nfor(;i<token.value.length;i++)if(!isDigit$1(token.value.charCodeAt(i)))break\nif(i===sign)return 0\nif(!cmpChar(token.value,i,N$3))return 0\nif(i+1===token.value.length)return consumeB$1(getNextToken(++offset),offset,getNextToken)\nif(token.value.charCodeAt(i+1)!==HYPHENMINUS$4)return 0\nif(i+2===token.value.length){offset=skipSC(getNextToken(++offset),offset,getNextToken)\ntoken=getNextToken(offset)\nreturn checkInteger$1(token,0,DISALLOW_SIGN$1,offset)}return checkInteger$1(token,i+2,DISALLOW_SIGN$1,offset)}return 0}const PLUSSIGN$7=0x002B\nconst HYPHENMINUS$3=0x002D\nconst QUESTIONMARK$2=0x003F\nconst U$1=0x0075\nfunction isDelim(token,code){return token!==null&&token.type===Delim&&token.value.charCodeAt(0)===code}function startsWith$1(token,code){return token.value.charCodeAt(0)===code}function hexSequence(token,offset,allowDash){let hexlen=0\nfor(let pos=offset;pos<token.value.length;pos++){const code=token.value.charCodeAt(pos)\nif(code===HYPHENMINUS$3&&allowDash&&hexlen!==0){hexSequence(token,offset+hexlen+1,false)\nreturn 6}if(!isHexDigit(code))return 0\nif(++hexlen>6)return 0}return hexlen}function withQuestionMarkSequence(consumed,length,getNextToken){if(!consumed)return 0\nwhile(isDelim(getNextToken(length),QUESTIONMARK$2)){if(++consumed>6)return 0\nlength++}return length}function urange(token,getNextToken){let length=0\nif(token===null||token.type!==Ident||!cmpChar(token.value,0,U$1))return 0\ntoken=getNextToken(++length)\nif(token===null)return 0\nif(isDelim(token,PLUSSIGN$7)){token=getNextToken(++length)\nif(token===null)return 0\nif(token.type===Ident)return withQuestionMarkSequence(hexSequence(token,0,true),++length,getNextToken)\nif(isDelim(token,QUESTIONMARK$2))return withQuestionMarkSequence(1,++length,getNextToken)\nreturn 0}if(token.type===Number$3){const consumedHexLength=hexSequence(token,1,true)\nif(consumedHexLength===0)return 0\ntoken=getNextToken(++length)\nif(token===null)return length\nif(token.type===Dimension$1||token.type===Number$3){if(!startsWith$1(token,HYPHENMINUS$3)||!hexSequence(token,1,false))return 0\nreturn length+1}return withQuestionMarkSequence(consumedHexLength,length,getNextToken)}if(token.type===Dimension$1)return withQuestionMarkSequence(hexSequence(token,1,true),++length,getNextToken)\nreturn 0}const calcFunctionNames=[\"calc(\",\"-moz-calc(\",\"-webkit-calc(\"]\nconst balancePair=new Map([[Function$1,RightParenthesis],[LeftParenthesis,RightParenthesis],[LeftSquareBracket,RightSquareBracket],[LeftCurlyBracket,RightCurlyBracket]])\nconst LENGTH=[\"cm\",\"mm\",\"q\",\"in\",\"pt\",\"pc\",\"px\",\"em\",\"rem\",\"ex\",\"rex\",\"cap\",\"rcap\",\"ch\",\"rch\",\"ic\",\"ric\",\"lh\",\"rlh\",\"vw\",\"svw\",\"lvw\",\"dvw\",\"vh\",\"svh\",\"lvh\",\"dvh\",\"vi\",\"svi\",\"lvi\",\"dvi\",\"vb\",\"svb\",\"lvb\",\"dvb\",\"vmin\",\"svmin\",\"lvmin\",\"dvmin\",\"vmax\",\"svmax\",\"lvmax\",\"dvmax\",\"cqw\",\"cqh\",\"cqi\",\"cqb\",\"cqmin\",\"cqmax\"]\nconst ANGLE=[\"deg\",\"grad\",\"rad\",\"turn\"]\nconst TIME=[\"s\",\"ms\"]\nconst FREQUENCY=[\"hz\",\"khz\"]\nconst RESOLUTION=[\"dpi\",\"dpcm\",\"dppx\",\"x\"]\nconst FLEX=[\"fr\"]\nconst DECIBEL=[\"db\"]\nconst SEMITONES=[\"st\"]\nfunction charCodeAt(str,index){return index<str.length?str.charCodeAt(index):0}function eqStr(actual,expected){return cmpStr(actual,0,actual.length,expected)}function eqStrAny(actual,expected){for(let i=0;i<expected.length;i++)if(eqStr(actual,expected[i]))return true\nreturn false}function isPostfixIeHack(str,offset){if(offset!==str.length-2)return false\nreturn charCodeAt(str,offset)===0x005C&&isDigit$1(charCodeAt(str,offset+1))}function outOfRange(opts,value,numEnd){if(opts&&opts.type===\"Range\"){const num=Number(numEnd!==void 0&&numEnd!==value.length?value.substr(0,numEnd):value)\nif(isNaN(num))return true\nif(opts.min!==null&&num<opts.min&&typeof opts.min!==\"string\")return true\nif(opts.max!==null&&num>opts.max&&typeof opts.max!==\"string\")return true}return false}function consumeFunction(token,getNextToken){let balanceCloseType=0\nlet balanceStash=[]\nlet length=0\nscan:do{switch(token.type){case RightCurlyBracket:case RightParenthesis:case RightSquareBracket:if(token.type!==balanceCloseType)break scan\nbalanceCloseType=balanceStash.pop()\nif(balanceStash.length===0){length++\nbreak scan}break\ncase Function$1:case LeftParenthesis:case LeftSquareBracket:case LeftCurlyBracket:balanceStash.push(balanceCloseType)\nbalanceCloseType=balancePair.get(token.type)\nbreak}length++}while(token=getNextToken(length))\nreturn length}function calc(next){return function(token,getNextToken,opts){if(token===null)return 0\nif(token.type===Function$1&&eqStrAny(token.value,calcFunctionNames))return consumeFunction(token,getNextToken)\nreturn next(token,getNextToken,opts)}}function tokenType(expectedTokenType){return function(token){if(token===null||token.type!==expectedTokenType)return 0\nreturn 1}}function customIdent(token){if(token===null||token.type!==Ident)return 0\nconst name=token.value.toLowerCase()\nif(eqStrAny(name,cssWideKeywords))return 0\nif(eqStr(name,\"default\"))return 0\nreturn 1}function customPropertyName(token){if(token===null||token.type!==Ident)return 0\nif(charCodeAt(token.value,0)!==0x002D||charCodeAt(token.value,1)!==0x002D)return 0\nreturn 1}function hexColor(token){if(token===null||token.type!==Hash$1)return 0\nconst length=token.value.length\nif(length!==4&&length!==5&&length!==7&&length!==9)return 0\nfor(let i=1;i<length;i++)if(!isHexDigit(charCodeAt(token.value,i)))return 0\nreturn 1}function idSelector(token){if(token===null||token.type!==Hash$1)return 0\nif(!isIdentifierStart(charCodeAt(token.value,1),charCodeAt(token.value,2),charCodeAt(token.value,3)))return 0\nreturn 1}function declarationValue(token,getNextToken){if(!token)return 0\nlet balanceCloseType=0\nlet balanceStash=[]\nlet length=0\nscan:do{switch(token.type){case BadString:case BadUrl:break scan\ncase RightCurlyBracket:case RightParenthesis:case RightSquareBracket:if(token.type!==balanceCloseType)break scan\nbalanceCloseType=balanceStash.pop()\nbreak\ncase Semicolon:if(balanceCloseType===0)break scan\nbreak\ncase Delim:if(balanceCloseType===0&&token.value===\"!\")break scan\nbreak\ncase Function$1:case LeftParenthesis:case LeftSquareBracket:case LeftCurlyBracket:balanceStash.push(balanceCloseType)\nbalanceCloseType=balancePair.get(token.type)\nbreak}length++}while(token=getNextToken(length))\nreturn length}function anyValue(token,getNextToken){if(!token)return 0\nlet balanceCloseType=0\nlet balanceStash=[]\nlet length=0\nscan:do{switch(token.type){case BadString:case BadUrl:break scan\ncase RightCurlyBracket:case RightParenthesis:case RightSquareBracket:if(token.type!==balanceCloseType)break scan\nbalanceCloseType=balanceStash.pop()\nbreak\ncase Function$1:case LeftParenthesis:case LeftSquareBracket:case LeftCurlyBracket:balanceStash.push(balanceCloseType)\nbalanceCloseType=balancePair.get(token.type)\nbreak}length++}while(token=getNextToken(length))\nreturn length}function dimension(type){type&&(type=new Set(type))\nreturn function(token,getNextToken,opts){if(token===null||token.type!==Dimension$1)return 0\nconst numberEnd=consumeNumber$1(token.value,0)\nif(type!==null){const reverseSolidusOffset=token.value.indexOf(\"\\\\\",numberEnd)\nconst unit=reverseSolidusOffset!==-1&&isPostfixIeHack(token.value,reverseSolidusOffset)?token.value.substring(numberEnd,reverseSolidusOffset):token.value.substr(numberEnd)\nif(type.has(unit.toLowerCase())===false)return 0}if(outOfRange(opts,token.value,numberEnd))return 0\nreturn 1}}function percentage(token,getNextToken,opts){if(token===null||token.type!==Percentage$1)return 0\nif(outOfRange(opts,token.value,token.value.length-1))return 0\nreturn 1}function zero(next){typeof next!==\"function\"&&(next=function(){return 0})\nreturn function(token,getNextToken,opts){if(token!==null&&token.type===Number$3&&Number(token.value)===0)return 1\nreturn next(token,getNextToken,opts)}}function number(token,getNextToken,opts){if(token===null)return 0\nconst numberEnd=consumeNumber$1(token.value,0)\nconst isNumber=numberEnd===token.value.length\nif(!isNumber&&!isPostfixIeHack(token.value,numberEnd))return 0\nif(outOfRange(opts,token.value,numberEnd))return 0\nreturn 1}function integer(token,getNextToken,opts){if(token===null||token.type!==Number$3)return 0\nlet i=charCodeAt(token.value,0)===0x002B||charCodeAt(token.value,0)===0x002D?1:0\nfor(;i<token.value.length;i++)if(!isDigit$1(charCodeAt(token.value,i)))return 0\nif(outOfRange(opts,token.value,i))return 0\nreturn 1}var generic={\"ident-token\":tokenType(Ident),\"function-token\":tokenType(Function$1),\"at-keyword-token\":tokenType(AtKeyword),\"hash-token\":tokenType(Hash$1),\"string-token\":tokenType(String$2),\"bad-string-token\":tokenType(BadString),\"url-token\":tokenType(Url$2),\"bad-url-token\":tokenType(BadUrl),\"delim-token\":tokenType(Delim),\"number-token\":tokenType(Number$3),\"percentage-token\":tokenType(Percentage$1),\"dimension-token\":tokenType(Dimension$1),\"whitespace-token\":tokenType(WhiteSpace$1),\"CDO-token\":tokenType(CDO$1),\"CDC-token\":tokenType(CDC$1),\"colon-token\":tokenType(Colon),\"semicolon-token\":tokenType(Semicolon),\"comma-token\":tokenType(Comma),\"[-token\":tokenType(LeftSquareBracket),\"]-token\":tokenType(RightSquareBracket),\"(-token\":tokenType(LeftParenthesis),\")-token\":tokenType(RightParenthesis),\"{-token\":tokenType(LeftCurlyBracket),\"}-token\":tokenType(RightCurlyBracket),string:tokenType(String$2),ident:tokenType(Ident),\"custom-ident\":customIdent,\"custom-property-name\":customPropertyName,\"hex-color\":hexColor,\"id-selector\":idSelector,\"an-plus-b\":anPlusB,urange:urange,\"declaration-value\":declarationValue,\"any-value\":anyValue,dimension:calc(dimension(null)),angle:calc(dimension(ANGLE)),decibel:calc(dimension(DECIBEL)),frequency:calc(dimension(FREQUENCY)),flex:calc(dimension(FLEX)),length:calc(zero(dimension(LENGTH))),resolution:calc(dimension(RESOLUTION)),semitones:calc(dimension(SEMITONES)),time:calc(dimension(TIME)),percentage:calc(percentage),zero:zero(),number:calc(number),integer:calc(integer)}\nfunction SyntaxError$1(message,input,offset){return Object.assign(createCustomError(\"SyntaxError\",message),{input:input,offset:offset,rawMessage:message,message:message+\"\\n \"+input+\"\\n--\"+new Array((offset||input.length)+1).join(\"-\")+\"^\"})}const TAB$1=9\nconst N$2=10\nconst F$1=12\nconst R$1=13\nconst SPACE$3=32\nclass Tokenizer{constructor(str){this.str=str\nthis.pos=0}charCodeAt(pos){return pos<this.str.length?this.str.charCodeAt(pos):0}charCode(){return this.charCodeAt(this.pos)}nextCharCode(){return this.charCodeAt(this.pos+1)}nextNonWsCode(pos){return this.charCodeAt(this.findWsEnd(pos))}findWsEnd(pos){for(;pos<this.str.length;pos++){const code=this.str.charCodeAt(pos)\nif(code!==R$1&&code!==N$2&&code!==F$1&&code!==SPACE$3&&code!==TAB$1)break}return pos}substringToPos(end){return this.str.substring(this.pos,this.pos=end)}eat(code){this.charCode()!==code&&this.error(\"Expect `\"+String.fromCharCode(code)+\"`\")\nthis.pos++}peek(){return this.pos<this.str.length?this.str.charAt(this.pos++):\"\"}error(message){throw new SyntaxError$1(message,this.str,this.pos)}}const TAB=9\nconst N$1=10\nconst F=12\nconst R=13\nconst SPACE$2=32\nconst EXCLAMATIONMARK$2=33\nconst NUMBERSIGN$3=35\nconst AMPERSAND$1=38\nconst APOSTROPHE$2=39\nconst LEFTPARENTHESIS$2=40\nconst RIGHTPARENTHESIS$2=41\nconst ASTERISK$6=42\nconst PLUSSIGN$6=43\nconst COMMA=44\nconst HYPERMINUS=45\nconst LESSTHANSIGN=60\nconst GREATERTHANSIGN$2=62\nconst QUESTIONMARK$1=63\nconst COMMERCIALAT=64\nconst LEFTSQUAREBRACKET=91\nconst RIGHTSQUAREBRACKET=93\nconst LEFTCURLYBRACKET=123\nconst VERTICALLINE$3=124\nconst RIGHTCURLYBRACKET=125\nconst INFINITY=8734\nconst NAME_CHAR=new Uint8Array(128).map(((_,idx)=>/[a-zA-Z0-9\\-]/.test(String.fromCharCode(idx))?1:0))\nconst COMBINATOR_PRECEDENCE={\" \":1,\"&&\":2,\"||\":3,\"|\":4}\nfunction scanSpaces(tokenizer){return tokenizer.substringToPos(tokenizer.findWsEnd(tokenizer.pos))}function scanWord(tokenizer){let end=tokenizer.pos\nfor(;end<tokenizer.str.length;end++){const code=tokenizer.str.charCodeAt(end)\nif(code>=128||NAME_CHAR[code]===0)break}tokenizer.pos===end&&tokenizer.error(\"Expect a keyword\")\nreturn tokenizer.substringToPos(end)}function scanNumber(tokenizer){let end=tokenizer.pos\nfor(;end<tokenizer.str.length;end++){const code=tokenizer.str.charCodeAt(end)\nif(code<48||code>57)break}tokenizer.pos===end&&tokenizer.error(\"Expect a number\")\nreturn tokenizer.substringToPos(end)}function scanString(tokenizer){const end=tokenizer.str.indexOf(\"'\",tokenizer.pos+1)\nif(end===-1){tokenizer.pos=tokenizer.str.length\ntokenizer.error(\"Expect an apostrophe\")}return tokenizer.substringToPos(end+1)}function readMultiplierRange(tokenizer){let min=null\nlet max=null\ntokenizer.eat(LEFTCURLYBRACKET)\nmin=scanNumber(tokenizer)\nif(tokenizer.charCode()===COMMA){tokenizer.pos++\ntokenizer.charCode()!==RIGHTCURLYBRACKET&&(max=scanNumber(tokenizer))}else max=min\ntokenizer.eat(RIGHTCURLYBRACKET)\nreturn{min:Number(min),max:max?Number(max):0}}function readMultiplier(tokenizer){let range=null\nlet comma=false\nswitch(tokenizer.charCode()){case ASTERISK$6:tokenizer.pos++\nrange={min:0,max:0}\nbreak\ncase PLUSSIGN$6:tokenizer.pos++\nrange={min:1,max:0}\nbreak\ncase QUESTIONMARK$1:tokenizer.pos++\nrange={min:0,max:1}\nbreak\ncase NUMBERSIGN$3:tokenizer.pos++\ncomma=true\nif(tokenizer.charCode()===LEFTCURLYBRACKET)range=readMultiplierRange(tokenizer)\nelse if(tokenizer.charCode()===QUESTIONMARK$1){tokenizer.pos++\nrange={min:0,max:0}}else range={min:1,max:0}\nbreak\ncase LEFTCURLYBRACKET:range=readMultiplierRange(tokenizer)\nbreak\ndefault:return null}return{type:\"Multiplier\",comma:comma,min:range.min,max:range.max,term:null}}function maybeMultiplied(tokenizer,node){const multiplier=readMultiplier(tokenizer)\nif(multiplier!==null){multiplier.term=node\nif(tokenizer.charCode()===NUMBERSIGN$3&&tokenizer.charCodeAt(tokenizer.pos-1)===PLUSSIGN$6)return maybeMultiplied(tokenizer,multiplier)\nreturn multiplier}return node}function maybeToken(tokenizer){const ch=tokenizer.peek()\nif(ch===\"\")return null\nreturn{type:\"Token\",value:ch}}function readProperty$1(tokenizer){let name\ntokenizer.eat(LESSTHANSIGN)\ntokenizer.eat(APOSTROPHE$2)\nname=scanWord(tokenizer)\ntokenizer.eat(APOSTROPHE$2)\ntokenizer.eat(GREATERTHANSIGN$2)\nreturn maybeMultiplied(tokenizer,{type:\"Property\",name:name})}function readTypeRange(tokenizer){let min=null\nlet max=null\nlet sign=1\ntokenizer.eat(LEFTSQUAREBRACKET)\nif(tokenizer.charCode()===HYPERMINUS){tokenizer.peek()\nsign=-1}if(sign==-1&&tokenizer.charCode()===INFINITY)tokenizer.peek()\nelse{min=sign*Number(scanNumber(tokenizer))\nNAME_CHAR[tokenizer.charCode()]!==0&&(min+=scanWord(tokenizer))}scanSpaces(tokenizer)\ntokenizer.eat(COMMA)\nscanSpaces(tokenizer)\nif(tokenizer.charCode()===INFINITY)tokenizer.peek()\nelse{sign=1\nif(tokenizer.charCode()===HYPERMINUS){tokenizer.peek()\nsign=-1}max=sign*Number(scanNumber(tokenizer))\nNAME_CHAR[tokenizer.charCode()]!==0&&(max+=scanWord(tokenizer))}tokenizer.eat(RIGHTSQUAREBRACKET)\nreturn{type:\"Range\",min:min,max:max}}function readType(tokenizer){let name\nlet opts=null\ntokenizer.eat(LESSTHANSIGN)\nname=scanWord(tokenizer)\nif(tokenizer.charCode()===LEFTPARENTHESIS$2&&tokenizer.nextCharCode()===RIGHTPARENTHESIS$2){tokenizer.pos+=2\nname+=\"()\"}if(tokenizer.charCodeAt(tokenizer.findWsEnd(tokenizer.pos))===LEFTSQUAREBRACKET){scanSpaces(tokenizer)\nopts=readTypeRange(tokenizer)}tokenizer.eat(GREATERTHANSIGN$2)\nreturn maybeMultiplied(tokenizer,{type:\"Type\",name:name,opts:opts})}function readKeywordOrFunction(tokenizer){const name=scanWord(tokenizer)\nif(tokenizer.charCode()===LEFTPARENTHESIS$2){tokenizer.pos++\nreturn{type:\"Function\",name:name}}return maybeMultiplied(tokenizer,{type:\"Keyword\",name:name})}function regroupTerms(terms,combinators){function createGroup(terms,combinator){return{type:\"Group\",terms:terms,combinator:combinator,disallowEmpty:false,explicit:false}}let combinator\ncombinators=Object.keys(combinators).sort(((a,b)=>COMBINATOR_PRECEDENCE[a]-COMBINATOR_PRECEDENCE[b]))\nwhile(combinators.length>0){combinator=combinators.shift()\nlet i=0\nlet subgroupStart=0\nfor(;i<terms.length;i++){const term=terms[i]\nif(term.type===\"Combinator\")if(term.value===combinator){subgroupStart===-1&&(subgroupStart=i-1)\nterms.splice(i,1)\ni--}else{if(subgroupStart!==-1&&i-subgroupStart>1){terms.splice(subgroupStart,i-subgroupStart,createGroup(terms.slice(subgroupStart,i),combinator))\ni=subgroupStart+1}subgroupStart=-1}}subgroupStart!==-1&&combinators.length&&terms.splice(subgroupStart,i-subgroupStart,createGroup(terms.slice(subgroupStart,i),combinator))}return combinator}function readImplicitGroup(tokenizer){const terms=[]\nconst combinators={}\nlet token\nlet prevToken=null\nlet prevTokenPos=tokenizer.pos\nwhile(token=peek(tokenizer))if(token.type!==\"Spaces\"){if(token.type===\"Combinator\"){if(prevToken===null||prevToken.type===\"Combinator\"){tokenizer.pos=prevTokenPos\ntokenizer.error(\"Unexpected combinator\")}combinators[token.value]=true}else if(prevToken!==null&&prevToken.type!==\"Combinator\"){combinators[\" \"]=true\nterms.push({type:\"Combinator\",value:\" \"})}terms.push(token)\nprevToken=token\nprevTokenPos=tokenizer.pos}if(prevToken!==null&&prevToken.type===\"Combinator\"){tokenizer.pos-=prevTokenPos\ntokenizer.error(\"Unexpected combinator\")}return{type:\"Group\",terms:terms,combinator:regroupTerms(terms,combinators)||\" \",disallowEmpty:false,explicit:false}}function readGroup(tokenizer){let result\ntokenizer.eat(LEFTSQUAREBRACKET)\nresult=readImplicitGroup(tokenizer)\ntokenizer.eat(RIGHTSQUAREBRACKET)\nresult.explicit=true\nif(tokenizer.charCode()===EXCLAMATIONMARK$2){tokenizer.pos++\nresult.disallowEmpty=true}return result}function peek(tokenizer){let code=tokenizer.charCode()\nif(code<128&&NAME_CHAR[code]===1)return readKeywordOrFunction(tokenizer)\nswitch(code){case RIGHTSQUAREBRACKET:break\ncase LEFTSQUAREBRACKET:return maybeMultiplied(tokenizer,readGroup(tokenizer))\ncase LESSTHANSIGN:return tokenizer.nextCharCode()===APOSTROPHE$2?readProperty$1(tokenizer):readType(tokenizer)\ncase VERTICALLINE$3:return{type:\"Combinator\",value:tokenizer.substringToPos(tokenizer.pos+(tokenizer.nextCharCode()===VERTICALLINE$3?2:1))}\ncase AMPERSAND$1:tokenizer.pos++\ntokenizer.eat(AMPERSAND$1)\nreturn{type:\"Combinator\",value:\"&&\"}\ncase COMMA:tokenizer.pos++\nreturn{type:\"Comma\"}\ncase APOSTROPHE$2:return maybeMultiplied(tokenizer,{type:\"String\",value:scanString(tokenizer)})\ncase SPACE$2:case TAB:case N$1:case R:case F:return{type:\"Spaces\",value:scanSpaces(tokenizer)}\ncase COMMERCIALAT:code=tokenizer.nextCharCode()\nif(code<128&&NAME_CHAR[code]===1){tokenizer.pos++\nreturn{type:\"AtKeyword\",name:scanWord(tokenizer)}}return maybeToken(tokenizer)\ncase ASTERISK$6:case PLUSSIGN$6:case QUESTIONMARK$1:case NUMBERSIGN$3:case EXCLAMATIONMARK$2:break\ncase LEFTCURLYBRACKET:code=tokenizer.nextCharCode()\nif(code<48||code>57)return maybeToken(tokenizer)\nbreak\ndefault:return maybeToken(tokenizer)}}function parse$H(source){const tokenizer=new Tokenizer(source)\nconst result=readImplicitGroup(tokenizer)\ntokenizer.pos!==source.length&&tokenizer.error(\"Unexpected input\")\nif(result.terms.length===1&&result.terms[0].type===\"Group\")return result.terms[0]\nreturn result}const noop=function(){}\nfunction ensureFunction(value){return typeof value===\"function\"?value:noop}function walk$2(node,options,context){function walk(node){enter.call(context,node)\nswitch(node.type){case\"Group\":node.terms.forEach(walk)\nbreak\ncase\"Multiplier\":walk(node.term)\nbreak\ncase\"Type\":case\"Property\":case\"Keyword\":case\"AtKeyword\":case\"Function\":case\"String\":case\"Token\":case\"Comma\":break\ndefault:throw new Error(\"Unknown type: \"+node.type)}leave.call(context,node)}let enter=noop\nlet leave=noop\nif(typeof options===\"function\")enter=options\nelse if(options){enter=ensureFunction(options.enter)\nleave=ensureFunction(options.leave)}if(enter===noop&&leave===noop)throw new Error(\"Neither `enter` nor `leave` walker handler is set or both aren't a function\")\nwalk(node)}const astToTokens={decorator(handlers){const tokens=[]\nlet curNode=null\nreturn{...handlers,node(node){const tmp=curNode\ncurNode=node\nhandlers.node.call(this,node)\ncurNode=tmp},emit(value,type,auto){tokens.push({type:type,value:value,node:auto?null:curNode})},result:()=>tokens}}}\nfunction stringToTokens(str){const tokens=[]\ntokenize$2(str,((type,start,end)=>tokens.push({type:type,value:str.slice(start,end),node:null})))\nreturn tokens}function prepareTokens(value,syntax){if(typeof value===\"string\")return stringToTokens(value)\nreturn syntax.generate(value,astToTokens)}const MATCH={type:\"Match\"}\nconst MISMATCH={type:\"Mismatch\"}\nconst DISALLOW_EMPTY={type:\"DisallowEmpty\"}\nconst LEFTPARENTHESIS$1=40\nconst RIGHTPARENTHESIS$1=41\nfunction createCondition(match,thenBranch,elseBranch){if(thenBranch===MATCH&&elseBranch===MISMATCH)return match\nif(match===MATCH&&thenBranch===MATCH&&elseBranch===MATCH)return match\nif(match.type===\"If\"&&match.else===MISMATCH&&thenBranch===MATCH){thenBranch=match.then\nmatch=match.match}return{type:\"If\",match:match,then:thenBranch,else:elseBranch}}function isFunctionType(name){return name.length>2&&name.charCodeAt(name.length-2)===LEFTPARENTHESIS$1&&name.charCodeAt(name.length-1)===RIGHTPARENTHESIS$1}function isEnumCapatible(term){return term.type===\"Keyword\"||term.type===\"AtKeyword\"||term.type===\"Function\"||term.type===\"Type\"&&isFunctionType(term.name)}function buildGroupMatchGraph(combinator,terms,atLeastOneTermMatched){switch(combinator){case\" \":{let result=MATCH\nfor(let i=terms.length-1;i>=0;i--){const term=terms[i]\nresult=createCondition(term,result,MISMATCH)}return result}case\"|\":{let result=MISMATCH\nlet map=null\nfor(let i=terms.length-1;i>=0;i--){let term=terms[i]\nif(isEnumCapatible(term)){if(map===null&&i>0&&isEnumCapatible(terms[i-1])){map=Object.create(null)\nresult=createCondition({type:\"Enum\",map:map},MATCH,result)}if(map!==null){const key=(isFunctionType(term.name)?term.name.slice(0,-1):term.name).toLowerCase()\nif(key in map===false){map[key]=term\ncontinue}}}map=null\nresult=createCondition(term,MATCH,result)}return result}case\"&&\":{if(terms.length>5)return{type:\"MatchOnce\",terms:terms,all:true}\nlet result=MISMATCH\nfor(let i=terms.length-1;i>=0;i--){const term=terms[i]\nlet thenClause\nthenClause=terms.length>1?buildGroupMatchGraph(combinator,terms.filter((function(newGroupTerm){return newGroupTerm!==term})),false):MATCH\nresult=createCondition(term,thenClause,result)}return result}case\"||\":{if(terms.length>5)return{type:\"MatchOnce\",terms:terms,all:false}\nlet result=atLeastOneTermMatched?MATCH:MISMATCH\nfor(let i=terms.length-1;i>=0;i--){const term=terms[i]\nlet thenClause\nthenClause=terms.length>1?buildGroupMatchGraph(combinator,terms.filter((function(newGroupTerm){return newGroupTerm!==term})),true):MATCH\nresult=createCondition(term,thenClause,result)}return result}}}function buildMultiplierMatchGraph(node){let result=MATCH\nlet matchTerm=buildMatchGraphInternal(node.term)\nif(node.max===0){matchTerm=createCondition(matchTerm,DISALLOW_EMPTY,MISMATCH)\nresult=createCondition(matchTerm,null,MISMATCH)\nresult.then=createCondition(MATCH,MATCH,result)\nnode.comma&&(result.then.else=createCondition({type:\"Comma\",syntax:node},result,MISMATCH))}else for(let i=node.min||1;i<=node.max;i++){node.comma&&result!==MATCH&&(result=createCondition({type:\"Comma\",syntax:node},result,MISMATCH))\nresult=createCondition(matchTerm,createCondition(MATCH,MATCH,result),MISMATCH)}if(node.min===0)result=createCondition(MATCH,MATCH,result)\nelse for(let i=0;i<node.min-1;i++){node.comma&&result!==MATCH&&(result=createCondition({type:\"Comma\",syntax:node},result,MISMATCH))\nresult=createCondition(matchTerm,result,MISMATCH)}return result}function buildMatchGraphInternal(node){if(typeof node===\"function\")return{type:\"Generic\",fn:node}\nswitch(node.type){case\"Group\":{let result=buildGroupMatchGraph(node.combinator,node.terms.map(buildMatchGraphInternal),false)\nnode.disallowEmpty&&(result=createCondition(result,DISALLOW_EMPTY,MISMATCH))\nreturn result}case\"Multiplier\":return buildMultiplierMatchGraph(node)\ncase\"Type\":case\"Property\":return{type:node.type,name:node.name,syntax:node}\ncase\"Keyword\":return{type:node.type,name:node.name.toLowerCase(),syntax:node}\ncase\"AtKeyword\":return{type:node.type,name:\"@\"+node.name.toLowerCase(),syntax:node}\ncase\"Function\":return{type:node.type,name:node.name.toLowerCase()+\"(\",syntax:node}\ncase\"String\":if(node.value.length===3)return{type:\"Token\",value:node.value.charAt(1),syntax:node}\nreturn{type:node.type,value:node.value.substr(1,node.value.length-2).replace(/\\\\'/g,\"'\"),syntax:node}\ncase\"Token\":return{type:node.type,value:node.value,syntax:node}\ncase\"Comma\":return{type:node.type,syntax:node}\ndefault:throw new Error(\"Unknown node type:\",node.type)}}function buildMatchGraph(syntaxTree,ref){typeof syntaxTree===\"string\"&&(syntaxTree=parse$H(syntaxTree))\nreturn{type:\"MatchGraph\",match:buildMatchGraphInternal(syntaxTree),syntax:ref||null,source:syntaxTree}}const{hasOwnProperty:hasOwnProperty$7}=Object.prototype\nconst STUB=0\nconst TOKEN=1\nconst OPEN_SYNTAX=2\nconst CLOSE_SYNTAX=3\nconst EXIT_REASON_MATCH=\"Match\"\nconst EXIT_REASON_MISMATCH=\"Mismatch\"\nconst EXIT_REASON_ITERATION_LIMIT=\"Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)\"\nconst ITERATION_LIMIT=15000\nfunction reverseList(list){let prev=null\nlet next=null\nlet item=list\nwhile(item!==null){next=item.prev\nitem.prev=prev\nprev=item\nitem=next}return prev}function areStringsEqualCaseInsensitive(testStr,referenceStr){if(testStr.length!==referenceStr.length)return false\nfor(let i=0;i<testStr.length;i++){const referenceCode=referenceStr.charCodeAt(i)\nlet testCode=testStr.charCodeAt(i)\ntestCode>=0x0041&&testCode<=0x005A&&(testCode|=32)\nif(testCode!==referenceCode)return false}return true}function isContextEdgeDelim(token){if(token.type!==Delim)return false\nreturn token.value!==\"?\"}function isCommaContextStart(token){if(token===null)return true\nreturn token.type===Comma||token.type===Function$1||token.type===LeftParenthesis||token.type===LeftSquareBracket||token.type===LeftCurlyBracket||isContextEdgeDelim(token)}function isCommaContextEnd(token){if(token===null)return true\nreturn token.type===RightParenthesis||token.type===RightSquareBracket||token.type===RightCurlyBracket||token.type===Delim&&token.value===\"/\"}function internalMatch(tokens,state,syntaxes){function moveToNextToken(){do{tokenIndex++\ntoken=tokenIndex<tokens.length?tokens[tokenIndex]:null}while(token!==null&&(token.type===WhiteSpace$1||token.type===Comment$1))}function getNextToken(offset){const nextIndex=tokenIndex+offset\nreturn nextIndex<tokens.length?tokens[nextIndex]:null}function stateSnapshotFromSyntax(nextState,prev){return{nextState:nextState,matchStack:matchStack,syntaxStack:syntaxStack,thenStack:thenStack,tokenIndex:tokenIndex,prev:prev}}function pushThenStack(nextState){thenStack={nextState:nextState,matchStack:matchStack,syntaxStack:syntaxStack,prev:thenStack}}function pushElseStack(nextState){elseStack=stateSnapshotFromSyntax(nextState,elseStack)}function addTokenToMatch(){matchStack={type:TOKEN,syntax:state.syntax,token:token,prev:matchStack}\nmoveToNextToken()\nsyntaxStash=null\ntokenIndex>longestMatch&&(longestMatch=tokenIndex)}function openSyntax(){syntaxStack={syntax:state.syntax,opts:state.syntax.opts||syntaxStack!==null&&syntaxStack.opts||null,prev:syntaxStack}\nmatchStack={type:OPEN_SYNTAX,syntax:state.syntax,token:matchStack.token,prev:matchStack}}function closeSyntax(){matchStack=matchStack.type===OPEN_SYNTAX?matchStack.prev:{type:CLOSE_SYNTAX,syntax:syntaxStack.syntax,token:matchStack.token,prev:matchStack}\nsyntaxStack=syntaxStack.prev}let syntaxStack=null\nlet thenStack=null\nlet elseStack=null\nlet syntaxStash=null\nlet iterationCount=0\nlet exitReason=null\nlet token=null\nlet tokenIndex=-1\nlet longestMatch=0\nlet matchStack={type:STUB,syntax:null,token:null,prev:null}\nmoveToNextToken()\nwhile(exitReason===null&&++iterationCount<ITERATION_LIMIT)switch(state.type){case\"Match\":if(thenStack===null){if(token!==null&&(tokenIndex!==tokens.length-1||token.value!==\"\\\\0\"&&token.value!==\"\\\\9\")){state=MISMATCH\nbreak}exitReason=EXIT_REASON_MATCH\nbreak}state=thenStack.nextState\nif(state===DISALLOW_EMPTY){if(thenStack.matchStack===matchStack){state=MISMATCH\nbreak}state=MATCH}while(thenStack.syntaxStack!==syntaxStack)closeSyntax()\nthenStack=thenStack.prev\nbreak\ncase\"Mismatch\":if(syntaxStash!==null&&syntaxStash!==false){if(elseStack===null||tokenIndex>elseStack.tokenIndex){elseStack=syntaxStash\nsyntaxStash=false}}else if(elseStack===null){exitReason=EXIT_REASON_MISMATCH\nbreak}state=elseStack.nextState\nthenStack=elseStack.thenStack\nsyntaxStack=elseStack.syntaxStack\nmatchStack=elseStack.matchStack\ntokenIndex=elseStack.tokenIndex\ntoken=tokenIndex<tokens.length?tokens[tokenIndex]:null\nelseStack=elseStack.prev\nbreak\ncase\"MatchGraph\":state=state.match\nbreak\ncase\"If\":state.else!==MISMATCH&&pushElseStack(state.else)\nstate.then!==MATCH&&pushThenStack(state.then)\nstate=state.match\nbreak\ncase\"MatchOnce\":state={type:\"MatchOnceBuffer\",syntax:state,index:0,mask:0}\nbreak\ncase\"MatchOnceBuffer\":{const terms=state.syntax.terms\nif(state.index===terms.length){if(state.mask===0||state.syntax.all){state=MISMATCH\nbreak}state=MATCH\nbreak}if(state.mask===(1<<terms.length)-1){state=MATCH\nbreak}for(;state.index<terms.length;state.index++){const matchFlag=1<<state.index\nif((state.mask&matchFlag)===0){pushElseStack(state)\npushThenStack({type:\"AddMatchOnce\",syntax:state.syntax,mask:state.mask|matchFlag})\nstate=terms[state.index++]\nbreak}}break}case\"AddMatchOnce\":state={type:\"MatchOnceBuffer\",syntax:state.syntax,index:0,mask:state.mask}\nbreak\ncase\"Enum\":if(token!==null){let name=token.value.toLowerCase()\nname.indexOf(\"\\\\\")!==-1&&(name=name.replace(/\\\\[09].*$/,\"\"))\nif(hasOwnProperty$7.call(state.map,name)){state=state.map[name]\nbreak}}state=MISMATCH\nbreak\ncase\"Generic\":{const opts=syntaxStack!==null?syntaxStack.opts:null\nconst lastTokenIndex=tokenIndex+Math.floor(state.fn(token,getNextToken,opts))\nif(!isNaN(lastTokenIndex)&&lastTokenIndex>tokenIndex){while(tokenIndex<lastTokenIndex)addTokenToMatch()\nstate=MATCH}else state=MISMATCH\nbreak}case\"Type\":case\"Property\":{const syntaxDict=state.type===\"Type\"?\"types\":\"properties\"\nconst dictSyntax=hasOwnProperty$7.call(syntaxes,syntaxDict)?syntaxes[syntaxDict][state.name]:null\nif(!dictSyntax||!dictSyntax.match)throw new Error(\"Bad syntax reference: \"+(state.type===\"Type\"?\"<\"+state.name+\">\":\"<'\"+state.name+\"'>\"))\nif(syntaxStash!==false&&token!==null&&state.type===\"Type\"){const lowPriorityMatching=state.name===\"custom-ident\"&&token.type===Ident||state.name===\"length\"&&token.value===\"0\"\nif(lowPriorityMatching){syntaxStash===null&&(syntaxStash=stateSnapshotFromSyntax(state,elseStack))\nstate=MISMATCH\nbreak}}openSyntax()\nstate=dictSyntax.match\nbreak}case\"Keyword\":{const name=state.name\nif(token!==null){let keywordName=token.value\nkeywordName.indexOf(\"\\\\\")!==-1&&(keywordName=keywordName.replace(/\\\\[09].*$/,\"\"))\nif(areStringsEqualCaseInsensitive(keywordName,name)){addTokenToMatch()\nstate=MATCH\nbreak}}state=MISMATCH\nbreak}case\"AtKeyword\":case\"Function\":if(token!==null&&areStringsEqualCaseInsensitive(token.value,state.name)){addTokenToMatch()\nstate=MATCH\nbreak}state=MISMATCH\nbreak\ncase\"Token\":if(token!==null&&token.value===state.value){addTokenToMatch()\nstate=MATCH\nbreak}state=MISMATCH\nbreak\ncase\"Comma\":if(token!==null&&token.type===Comma)if(isCommaContextStart(matchStack.token))state=MISMATCH\nelse{addTokenToMatch()\nstate=isCommaContextEnd(token)?MISMATCH:MATCH}else state=isCommaContextStart(matchStack.token)||isCommaContextEnd(token)?MATCH:MISMATCH\nbreak\ncase\"String\":let string=\"\"\nlet lastTokenIndex=tokenIndex\nfor(;lastTokenIndex<tokens.length&&string.length<state.value.length;lastTokenIndex++)string+=tokens[lastTokenIndex].value\nif(areStringsEqualCaseInsensitive(string,state.value)){while(tokenIndex<lastTokenIndex)addTokenToMatch()\nstate=MATCH}else state=MISMATCH\nbreak\ndefault:throw new Error(\"Unknown node type: \"+state.type)}switch(exitReason){case null:console.warn(\"[csstree-match] BREAK after \"+ITERATION_LIMIT+\" iterations\")\nexitReason=EXIT_REASON_ITERATION_LIMIT\nmatchStack=null\nbreak\ncase EXIT_REASON_MATCH:while(syntaxStack!==null)closeSyntax()\nbreak\ndefault:matchStack=null}return{tokens:tokens,reason:exitReason,iterations:iterationCount,match:matchStack,longestMatch:longestMatch}}function matchAsTree(tokens,matchGraph,syntaxes){const matchResult=internalMatch(tokens,matchGraph,syntaxes||{})\nif(matchResult.match===null)return matchResult\nlet item=matchResult.match\nlet host=matchResult.match={syntax:matchGraph.syntax||null,match:[]}\nconst hostStack=[host]\nitem=reverseList(item).prev\nwhile(item!==null){switch(item.type){case OPEN_SYNTAX:host.match.push(host={syntax:item.syntax,match:[]})\nhostStack.push(host)\nbreak\ncase CLOSE_SYNTAX:hostStack.pop()\nhost=hostStack[hostStack.length-1]\nbreak\ndefault:host.match.push({syntax:item.syntax||null,token:item.token.value,node:item.token.node})}item=item.prev}return matchResult}function getTrace(node){function shouldPutToTrace(syntax){if(syntax===null)return false\nreturn syntax.type===\"Type\"||syntax.type===\"Property\"||syntax.type===\"Keyword\"}function hasMatch(matchNode){if(Array.isArray(matchNode.match)){for(let i=0;i<matchNode.match.length;i++)if(hasMatch(matchNode.match[i])){shouldPutToTrace(matchNode.syntax)&&result.unshift(matchNode.syntax)\nreturn true}}else if(matchNode.node===node){result=shouldPutToTrace(matchNode.syntax)?[matchNode.syntax]:[]\nreturn true}return false}let result=null\nthis.matched!==null&&hasMatch(this.matched)\nreturn result}function isType(node,type){return testNode(this,node,(match=>match.type===\"Type\"&&match.name===type))}function isProperty(node,property){return testNode(this,node,(match=>match.type===\"Property\"&&match.name===property))}function isKeyword(node){return testNode(this,node,(match=>match.type===\"Keyword\"))}function testNode(match,node,fn){const trace=getTrace.call(match,node)\nif(trace===null)return false\nreturn trace.some(fn)}var trace=Object.freeze({__proto__:null,getTrace:getTrace,isKeyword:isKeyword,isProperty:isProperty,isType:isType})\nfunction getFirstMatchNode(matchNode){if(\"node\"in matchNode)return matchNode.node\nreturn getFirstMatchNode(matchNode.match[0])}function getLastMatchNode(matchNode){if(\"node\"in matchNode)return matchNode.node\nreturn getLastMatchNode(matchNode.match[matchNode.match.length-1])}function matchFragments(lexer,ast,match,type,name){function findFragments(matchNode){if(matchNode.syntax!==null&&matchNode.syntax.type===type&&matchNode.syntax.name===name){const start=getFirstMatchNode(matchNode)\nconst end=getLastMatchNode(matchNode)\nlexer.syntax.walk(ast,(function(node,item,list){if(node===start){const nodes=new List\ndo{nodes.appendData(item.data)\nif(item.data===end)break\nitem=item.next}while(item!==null)\nfragments.push({parent:list,nodes:nodes})}}))}Array.isArray(matchNode.match)&&matchNode.match.forEach(findFragments)}const fragments=[]\nmatch.matched!==null&&findFragments(match.matched)\nreturn fragments}const{hasOwnProperty:hasOwnProperty$6}=Object.prototype\nfunction isValidNumber(value){return typeof value===\"number\"&&isFinite(value)&&Math.floor(value)===value&&value>=0}function isValidLocation(loc){return Boolean(loc)&&isValidNumber(loc.offset)&&isValidNumber(loc.line)&&isValidNumber(loc.column)}function createNodeStructureChecker(type,fields){return function checkNode(node,warn){if(!node||node.constructor!==Object)return warn(node,\"Type of node should be an Object\")\nfor(let key in node){let valid=true\nif(hasOwnProperty$6.call(node,key)===false)continue\nif(key===\"type\")node.type!==type&&warn(node,\"Wrong node type `\"+node.type+\"`, expected `\"+type+\"`\")\nelse if(key===\"loc\"){if(node.loc===null)continue\nif(node.loc&&node.loc.constructor===Object)if(typeof node.loc.source!==\"string\")key+=\".source\"\nelse if(isValidLocation(node.loc.start)){if(isValidLocation(node.loc.end))continue\nkey+=\".end\"}else key+=\".start\"\nvalid=false}else if(fields.hasOwnProperty(key)){valid=false\nfor(let i=0;!valid&&i<fields[key].length;i++){const fieldType=fields[key][i]\nswitch(fieldType){case String:valid=typeof node[key]===\"string\"\nbreak\ncase Boolean:valid=typeof node[key]===\"boolean\"\nbreak\ncase null:valid=node[key]===null\nbreak\ndefault:typeof fieldType===\"string\"?valid=node[key]&&node[key].type===fieldType:Array.isArray(fieldType)&&(valid=node[key]instanceof List)}}}else warn(node,\"Unknown field `\"+key+\"` for \"+type+\" node type\")\nvalid||warn(node,\"Bad value for `\"+type+\".\"+key+\"`\")}for(const key in fields)hasOwnProperty$6.call(fields,key)&&hasOwnProperty$6.call(node,key)===false&&warn(node,\"Field `\"+type+\".\"+key+\"` is missed\")}}function processStructure(name,nodeType){const structure=nodeType.structure\nconst fields={type:String,loc:true}\nconst docs={type:'\"'+name+'\"'}\nfor(const key in structure){if(hasOwnProperty$6.call(structure,key)===false)continue\nconst docsTypes=[]\nconst fieldTypes=fields[key]=Array.isArray(structure[key])?structure[key].slice():[structure[key]]\nfor(let i=0;i<fieldTypes.length;i++){const fieldType=fieldTypes[i]\nif(fieldType===String||fieldType===Boolean)docsTypes.push(fieldType.name)\nelse if(fieldType===null)docsTypes.push(\"null\")\nelse if(typeof fieldType===\"string\")docsTypes.push(\"<\"+fieldType+\">\")\nelse{if(!Array.isArray(fieldType))throw new Error(\"Wrong value `\"+fieldType+\"` in `\"+name+\".\"+key+\"` structure definition\")\ndocsTypes.push(\"List\")}}docs[key]=docsTypes.join(\" | \")}return{docs:docs,check:createNodeStructureChecker(name,fields)}}function getStructureFromConfig(config){const structure={}\nif(config.node)for(const name in config.node)if(hasOwnProperty$6.call(config.node,name)){const nodeType=config.node[name]\nif(!nodeType.structure)throw new Error(\"Missed `structure` field in `\"+name+\"` node type definition\")\nstructure[name]=processStructure(name,nodeType)}return structure}const cssWideKeywordsSyntax=buildMatchGraph(cssWideKeywords.join(\" | \"))\nfunction dumpMapSyntax(map,compact,syntaxAsAst){const result={}\nfor(const name in map)map[name].syntax&&(result[name]=syntaxAsAst?map[name].syntax:generate$H(map[name].syntax,{compact:compact}))\nreturn result}function dumpAtruleMapSyntax(map,compact,syntaxAsAst){const result={}\nfor(const[name,atrule]of Object.entries(map))result[name]={prelude:atrule.prelude&&(syntaxAsAst?atrule.prelude.syntax:generate$H(atrule.prelude.syntax,{compact:compact})),descriptors:atrule.descriptors&&dumpMapSyntax(atrule.descriptors,compact,syntaxAsAst)}\nreturn result}function valueHasVar(tokens){for(let i=0;i<tokens.length;i++)if(tokens[i].value.toLowerCase()===\"var(\")return true\nreturn false}function buildMatchResult(matched,error,iterations){return{matched:matched,iterations:iterations,error:error,...trace}}function matchSyntax(lexer,syntax,value,useCssWideKeywords){const tokens=prepareTokens(value,lexer.syntax)\nlet result\nif(valueHasVar(tokens))return buildMatchResult(null,new Error(\"Matching for a tree with var() is not supported\"))\nuseCssWideKeywords&&(result=matchAsTree(tokens,lexer.cssWideKeywordsSyntax,lexer))\nif(!useCssWideKeywords||!result.match){result=matchAsTree(tokens,syntax.match,lexer)\nif(!result.match)return buildMatchResult(null,new SyntaxMatchError(result.reason,syntax.syntax,value,result),result.iterations)}return buildMatchResult(result.match,null,result.iterations)}class Lexer{constructor(config,syntax,structure){this.cssWideKeywordsSyntax=cssWideKeywordsSyntax\nthis.syntax=syntax\nthis.generic=false\nthis.atrules=Object.create(null)\nthis.properties=Object.create(null)\nthis.types=Object.create(null)\nthis.structure=structure||getStructureFromConfig(config)\nif(config){if(config.types)for(const name in config.types)this.addType_(name,config.types[name])\nif(config.generic){this.generic=true\nfor(const name in generic)this.addType_(name,generic[name])}if(config.atrules)for(const name in config.atrules)this.addAtrule_(name,config.atrules[name])\nif(config.properties)for(const name in config.properties)this.addProperty_(name,config.properties[name])}}checkStructure(ast){function collectWarning(node,message){warns.push({node:node,message:message})}const structure=this.structure\nconst warns=[]\nthis.syntax.walk(ast,(function(node){structure.hasOwnProperty(node.type)?structure[node.type].check(node,collectWarning):collectWarning(node,\"Unknown node type `\"+node.type+\"`\")}))\nreturn!!warns.length&&warns}createDescriptor(syntax,type,name,parent=null){const ref={type:type,name:name}\nconst descriptor={type:type,name:name,parent:parent,serializable:typeof syntax===\"string\"||syntax&&typeof syntax.type===\"string\",syntax:null,match:null}\nif(typeof syntax===\"function\")descriptor.match=buildMatchGraph(syntax,ref)\nelse{typeof syntax===\"string\"?Object.defineProperty(descriptor,\"syntax\",{get(){Object.defineProperty(descriptor,\"syntax\",{value:parse$H(syntax)})\nreturn descriptor.syntax}}):descriptor.syntax=syntax\nObject.defineProperty(descriptor,\"match\",{get(){Object.defineProperty(descriptor,\"match\",{value:buildMatchGraph(descriptor.syntax,ref)})\nreturn descriptor.match}})}return descriptor}addAtrule_(name,syntax){if(!syntax)return\nthis.atrules[name]={type:\"Atrule\",name:name,prelude:syntax.prelude?this.createDescriptor(syntax.prelude,\"AtrulePrelude\",name):null,descriptors:syntax.descriptors?Object.keys(syntax.descriptors).reduce(((map,descName)=>{map[descName]=this.createDescriptor(syntax.descriptors[descName],\"AtruleDescriptor\",descName,name)\nreturn map}),Object.create(null)):null}}addProperty_(name,syntax){if(!syntax)return\nthis.properties[name]=this.createDescriptor(syntax,\"Property\",name)}addType_(name,syntax){if(!syntax)return\nthis.types[name]=this.createDescriptor(syntax,\"Type\",name)}checkAtruleName(atruleName){if(!this.getAtrule(atruleName))return new SyntaxReferenceError(\"Unknown at-rule\",\"@\"+atruleName)}checkAtrulePrelude(atruleName,prelude){const error=this.checkAtruleName(atruleName)\nif(error)return error\nconst atrule=this.getAtrule(atruleName)\nif(!atrule.prelude&&prelude)return new SyntaxError(\"At-rule `@\"+atruleName+\"` should not contain a prelude\")\nif(atrule.prelude&&!prelude&&!matchSyntax(this,atrule.prelude,\"\",false).matched)return new SyntaxError(\"At-rule `@\"+atruleName+\"` should contain a prelude\")}checkAtruleDescriptorName(atruleName,descriptorName){const error=this.checkAtruleName(atruleName)\nif(error)return error\nconst atrule=this.getAtrule(atruleName)\nconst descriptor=keyword(descriptorName)\nif(!atrule.descriptors)return new SyntaxError(\"At-rule `@\"+atruleName+\"` has no known descriptors\")\nif(!atrule.descriptors[descriptor.name]&&!atrule.descriptors[descriptor.basename])return new SyntaxReferenceError(\"Unknown at-rule descriptor\",descriptorName)}checkPropertyName(propertyName){if(!this.getProperty(propertyName))return new SyntaxReferenceError(\"Unknown property\",propertyName)}matchAtrulePrelude(atruleName,prelude){const error=this.checkAtrulePrelude(atruleName,prelude)\nif(error)return buildMatchResult(null,error)\nconst atrule=this.getAtrule(atruleName)\nif(!atrule.prelude)return buildMatchResult(null,null)\nreturn matchSyntax(this,atrule.prelude,prelude||\"\",false)}matchAtruleDescriptor(atruleName,descriptorName,value){const error=this.checkAtruleDescriptorName(atruleName,descriptorName)\nif(error)return buildMatchResult(null,error)\nconst atrule=this.getAtrule(atruleName)\nconst descriptor=keyword(descriptorName)\nreturn matchSyntax(this,atrule.descriptors[descriptor.name]||atrule.descriptors[descriptor.basename],value,false)}matchDeclaration(node){if(node.type!==\"Declaration\")return buildMatchResult(null,new Error(\"Not a Declaration node\"))\nreturn this.matchProperty(node.property,node.value)}matchProperty(propertyName,value){if(property(propertyName).custom)return buildMatchResult(null,new Error(\"Lexer matching doesn't applicable for custom properties\"))\nconst error=this.checkPropertyName(propertyName)\nif(error)return buildMatchResult(null,error)\nreturn matchSyntax(this,this.getProperty(propertyName),value,true)}matchType(typeName,value){const typeSyntax=this.getType(typeName)\nif(!typeSyntax)return buildMatchResult(null,new SyntaxReferenceError(\"Unknown type\",typeName))\nreturn matchSyntax(this,typeSyntax,value,false)}match(syntax,value){if(typeof syntax!==\"string\"&&(!syntax||!syntax.type))return buildMatchResult(null,new SyntaxReferenceError(\"Bad syntax\"))\ntypeof syntax!==\"string\"&&syntax.match||(syntax=this.createDescriptor(syntax,\"Type\",\"anonymous\"))\nreturn matchSyntax(this,syntax,value,false)}findValueFragments(propertyName,value,type,name){return matchFragments(this,value,this.matchProperty(propertyName,value),type,name)}findDeclarationValueFragments(declaration,type,name){return matchFragments(this,declaration.value,this.matchDeclaration(declaration),type,name)}findAllFragments(ast,type,name){const result=[]\nthis.syntax.walk(ast,{visit:\"Declaration\",enter:declaration=>{result.push.apply(result,this.findDeclarationValueFragments(declaration,type,name))}})\nreturn result}getAtrule(atruleName,fallbackBasename=true){const atrule=keyword(atruleName)\nconst atruleEntry=atrule.vendor&&fallbackBasename?this.atrules[atrule.name]||this.atrules[atrule.basename]:this.atrules[atrule.name]\nreturn atruleEntry||null}getAtrulePrelude(atruleName,fallbackBasename=true){const atrule=this.getAtrule(atruleName,fallbackBasename)\nreturn atrule&&atrule.prelude||null}getAtruleDescriptor(atruleName,name){return this.atrules.hasOwnProperty(atruleName)&&this.atrules.declarators&&this.atrules[atruleName].declarators[name]||null}getProperty(propertyName,fallbackBasename=true){const property$1=property(propertyName)\nconst propertyEntry=property$1.vendor&&fallbackBasename?this.properties[property$1.name]||this.properties[property$1.basename]:this.properties[property$1.name]\nreturn propertyEntry||null}getType(name){return hasOwnProperty.call(this.types,name)?this.types[name]:null}validate(){function validate(syntax,name,broken,descriptor){if(broken.has(name))return broken.get(name)\nbroken.set(name,false)\ndescriptor.syntax!==null&&walk$2(descriptor.syntax,(function(node){if(node.type!==\"Type\"&&node.type!==\"Property\")return\nconst map=node.type===\"Type\"?syntax.types:syntax.properties\nconst brokenMap=node.type===\"Type\"?brokenTypes:brokenProperties\nhasOwnProperty.call(map,node.name)&&!validate(syntax,node.name,brokenMap,map[node.name])||broken.set(name,true)}),this)}let brokenTypes=new Map\nlet brokenProperties=new Map\nfor(const key in this.types)validate(this,key,brokenTypes,this.types[key])\nfor(const key in this.properties)validate(this,key,brokenProperties,this.properties[key])\nbrokenTypes=[...brokenTypes.keys()].filter((name=>brokenTypes.get(name)))\nbrokenProperties=[...brokenProperties.keys()].filter((name=>brokenProperties.get(name)))\nif(brokenTypes.length||brokenProperties.length)return{types:brokenTypes,properties:brokenProperties}\nreturn null}dump(syntaxAsAst,pretty){return{generic:this.generic,types:dumpMapSyntax(this.types,!pretty,syntaxAsAst),properties:dumpMapSyntax(this.properties,!pretty,syntaxAsAst),atrules:dumpAtruleMapSyntax(this.atrules,!pretty,syntaxAsAst)}}toString(){return JSON.stringify(this.dump())}}const{hasOwnProperty:hasOwnProperty$5}=Object.prototype\nconst shape={generic:true,types:appendOrAssign,atrules:{prelude:appendOrAssignOrNull,descriptors:appendOrAssignOrNull},properties:appendOrAssign,parseContext:assign,scope:deepAssign,atrule:[\"parse\"],pseudo:[\"parse\"],node:[\"name\",\"structure\",\"parse\",\"generate\",\"walkContext\"]}\nfunction isObject(value){return value&&value.constructor===Object}function copy(value){return isObject(value)?{...value}:value}function assign(dest,src){return Object.assign(dest,src)}function deepAssign(dest,src){for(const key in src)hasOwnProperty$5.call(src,key)&&(isObject(dest[key])?deepAssign(dest[key],src[key]):dest[key]=copy(src[key]))\nreturn dest}function append(a,b){if(typeof b===\"string\"&&/^\\s*\\|/.test(b))return typeof a===\"string\"?a+b:b.replace(/^\\s*\\|\\s*/,\"\")\nreturn b||null}function appendOrAssign(a,b){if(typeof b===\"string\")return append(a,b)\nconst result={...a}\nfor(let key in b)hasOwnProperty$5.call(b,key)&&(result[key]=append(hasOwnProperty$5.call(a,key)?a[key]:void 0,b[key]))\nreturn result}function appendOrAssignOrNull(a,b){const result=appendOrAssign(a,b)\nreturn!isObject(result)||Object.keys(result).length?result:null}function mix(dest,src,shape){for(const key in shape){if(hasOwnProperty$5.call(shape,key)===false)continue\nif(shape[key]===true)hasOwnProperty$5.call(src,key)&&(dest[key]=copy(src[key]))\nelse if(shape[key])if(typeof shape[key]===\"function\"){const fn=shape[key]\ndest[key]=fn({},dest[key])\ndest[key]=fn(dest[key]||{},src[key])}else if(isObject(shape[key])){const result={}\nfor(let name in dest[key])result[name]=mix({},dest[key][name],shape[key])\nfor(let name in src[key])result[name]=mix(result[name]||{},src[key][name],shape[key])\ndest[key]=result}else if(Array.isArray(shape[key])){const res={}\nconst innerShape=shape[key].reduce((function(s,k){s[k]=true\nreturn s}),{})\nfor(const[name,value]of Object.entries(dest[key]||{})){res[name]={}\nvalue&&mix(res[name],value,innerShape)}for(const name in src[key])if(hasOwnProperty$5.call(src[key],name)){res[name]||(res[name]={})\nsrc[key]&&src[key][name]&&mix(res[name],src[key][name],innerShape)}dest[key]=res}}return dest}var mix$1=(dest,src)=>mix(dest,src,shape)\nfunction createSyntax(config){const parse=createParser(config)\nconst walk=createWalker(config)\nconst generate=createGenerator(config)\nconst{fromPlainObject:fromPlainObject,toPlainObject:toPlainObject}=createConvertor(walk)\nconst syntax={lexer:null,createLexer:config=>new Lexer(config,syntax,syntax.lexer.structure),tokenize:tokenize$2,parse:parse,generate:generate,walk:walk,find:walk.find,findLast:walk.findLast,findAll:walk.findAll,fromPlainObject:fromPlainObject,toPlainObject:toPlainObject,fork(extension){const base=mix$1({},config)\nreturn createSyntax(typeof extension===\"function\"?extension(base,Object.assign):mix$1(base,extension))}}\nsyntax.lexer=new Lexer({generic:true,types:config.types,atrules:config.atrules,properties:config.properties,node:config.node},syntax)\nreturn syntax}var createSyntax$1=config=>createSyntax(mix$1({},config))\nvar definitions={generic:true,types:{\"absolute-size\":\"xx-small|x-small|small|medium|large|x-large|xx-large|xxx-large\",\"alpha-value\":\"<number>|<percentage>\",\"angle-percentage\":\"<angle>|<percentage>\",\"angular-color-hint\":\"<angle-percentage>\",\"angular-color-stop\":\"<color>&&<color-stop-angle>?\",\"angular-color-stop-list\":\"[<angular-color-stop> [, <angular-color-hint>]?]# , <angular-color-stop>\",\"animateable-feature\":\"scroll-position|contents|<custom-ident>\",attachment:\"scroll|fixed|local\",\"attr()\":\"attr( <attr-name> <type-or-unit>? [, <attr-fallback>]? )\",\"attr-matcher\":\"['~'|'|'|'^'|'$'|'*']? '='\",\"attr-modifier\":\"i|s\",\"attribute-selector\":\"'[' <wq-name> ']'|'[' <wq-name> <attr-matcher> [<string-token>|<ident-token>] <attr-modifier>? ']'\",\"auto-repeat\":\"repeat( [auto-fill|auto-fit] , [<line-names>? <fixed-size>]+ <line-names>? )\",\"auto-track-list\":\"[<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>? <auto-repeat> [<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>?\",\"baseline-position\":\"[first|last]? baseline\",\"basic-shape\":\"<inset()>|<circle()>|<ellipse()>|<polygon()>|<path()>\",\"bg-image\":\"none|<image>\",\"bg-layer\":\"<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>\",\"bg-position\":\"[[left|center|right|top|bottom|<length-percentage>]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]|[center|[left|right] <length-percentage>?]&&[center|[top|bottom] <length-percentage>?]]\",\"bg-size\":\"[<length-percentage>|auto]{1,2}|cover|contain\",\"blur()\":\"blur( <length> )\",\"blend-mode\":\"normal|multiply|screen|overlay|darken|lighten|color-dodge|color-burn|hard-light|soft-light|difference|exclusion|hue|saturation|color|luminosity\",box:\"border-box|padding-box|content-box\",\"brightness()\":\"brightness( <number-percentage> )\",\"calc()\":\"calc( <calc-sum> )\",\"calc-sum\":\"<calc-product> [['+'|'-'] <calc-product>]*\",\"calc-product\":\"<calc-value> ['*' <calc-value>|'/' <number>]*\",\"calc-value\":\"<number>|<dimension>|<percentage>|( <calc-sum> )\",\"cf-final-image\":\"<image>|<color>\",\"cf-mixing-image\":\"<percentage>?&&<image>\",\"circle()\":\"circle( [<shape-radius>]? [at <position>]? )\",\"clamp()\":\"clamp( <calc-sum>#{3} )\",\"class-selector\":\"'.' <ident-token>\",\"clip-source\":\"<url>\",color:\"<rgb()>|<rgba()>|<hsl()>|<hsla()>|<hwb()>|<lab()>|<lch()>|<hex-color>|<named-color>|currentcolor|<deprecated-system-color>\",\"color-stop\":\"<color-stop-length>|<color-stop-angle>\",\"color-stop-angle\":\"<angle-percentage>{1,2}\",\"color-stop-length\":\"<length-percentage>{1,2}\",\"color-stop-list\":\"[<linear-color-stop> [, <linear-color-hint>]?]# , <linear-color-stop>\",combinator:\"'>'|'+'|'~'|['||']\",\"common-lig-values\":\"[common-ligatures|no-common-ligatures]\",\"compat-auto\":\"searchfield|textarea|push-button|slider-horizontal|checkbox|radio|square-button|menulist|listbox|meter|progress-bar|button\",\"composite-style\":\"clear|copy|source-over|source-in|source-out|source-atop|destination-over|destination-in|destination-out|destination-atop|xor\",\"compositing-operator\":\"add|subtract|intersect|exclude\",\"compound-selector\":\"[<type-selector>? <subclass-selector>* [<pseudo-element-selector> <pseudo-class-selector>*]*]!\",\"compound-selector-list\":\"<compound-selector>#\",\"complex-selector\":\"<compound-selector> [<combinator>? <compound-selector>]*\",\"complex-selector-list\":\"<complex-selector>#\",\"conic-gradient()\":\"conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )\",\"contextual-alt-values\":\"[contextual|no-contextual]\",\"content-distribution\":\"space-between|space-around|space-evenly|stretch\",\"content-list\":\"[<string>|contents|<image>|<counter>|<quote>|<target>|<leader()>|<attr()>]+\",\"content-position\":\"center|start|end|flex-start|flex-end\",\"content-replacement\":\"<image>\",\"contrast()\":\"contrast( [<number-percentage>] )\",counter:\"<counter()>|<counters()>\",\"counter()\":\"counter( <counter-name> , <counter-style>? )\",\"counter-name\":\"<custom-ident>\",\"counter-style\":\"<counter-style-name>|symbols( )\",\"counter-style-name\":\"<custom-ident>\",\"counters()\":\"counters( <counter-name> , <string> , <counter-style>? )\",\"cross-fade()\":\"cross-fade( <cf-mixing-image> , <cf-final-image>? )\",\"cubic-bezier-timing-function\":\"ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number [0,1]> , <number> , <number [0,1]> , <number> )\",\"deprecated-system-color\":\"ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText\",\"discretionary-lig-values\":\"[discretionary-ligatures|no-discretionary-ligatures]\",\"display-box\":\"contents|none\",\"display-inside\":\"flow|flow-root|table|flex|grid|ruby\",\"display-internal\":\"table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption|ruby-base|ruby-text|ruby-base-container|ruby-text-container\",\"display-legacy\":\"inline-block|inline-list-item|inline-table|inline-flex|inline-grid\",\"display-listitem\":\"<display-outside>?&&[flow|flow-root]?&&list-item\",\"display-outside\":\"block|inline|run-in\",\"drop-shadow()\":\"drop-shadow( <length>{2,3} <color>? )\",\"east-asian-variant-values\":\"[jis78|jis83|jis90|jis04|simplified|traditional]\",\"east-asian-width-values\":\"[full-width|proportional-width]\",\"element()\":\"element( <custom-ident> , [first|start|last|first-except]? )|element( <id-selector> )\",\"ellipse()\":\"ellipse( [<shape-radius>{2}]? [at <position>]? )\",\"ending-shape\":\"circle|ellipse\",\"env()\":\"env( <custom-ident> , <declaration-value>? )\",\"explicit-track-list\":\"[<line-names>? <track-size>]+ <line-names>?\",\"family-name\":\"<string>|<custom-ident>+\",\"feature-tag-value\":\"<string> [<integer>|on|off]?\",\"feature-type\":\"@stylistic|@historical-forms|@styleset|@character-variant|@swash|@ornaments|@annotation\",\"feature-value-block\":\"<feature-type> '{' <feature-value-declaration-list> '}'\",\"feature-value-block-list\":\"<feature-value-block>+\",\"feature-value-declaration\":\"<custom-ident> : <integer>+ ;\",\"feature-value-declaration-list\":\"<feature-value-declaration>\",\"feature-value-name\":\"<custom-ident>\",\"fill-rule\":\"nonzero|evenodd\",\"filter-function\":\"<blur()>|<brightness()>|<contrast()>|<drop-shadow()>|<grayscale()>|<hue-rotate()>|<invert()>|<opacity()>|<saturate()>|<sepia()>\",\"filter-function-list\":\"[<filter-function>|<url>]+\",\"final-bg-layer\":\"<'background-color'>||<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>\",\"fit-content()\":\"fit-content( [<length>|<percentage>] )\",\"fixed-breadth\":\"<length-percentage>\",\"fixed-repeat\":\"repeat( [<integer [1,∞]>] , [<line-names>? <fixed-size>]+ <line-names>? )\",\"fixed-size\":\"<fixed-breadth>|minmax( <fixed-breadth> , <track-breadth> )|minmax( <inflexible-breadth> , <fixed-breadth> )\",\"font-stretch-absolute\":\"normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|<percentage>\",\"font-variant-css21\":\"[normal|small-caps]\",\"font-weight-absolute\":\"normal|bold|<number [1,1000]>\",\"frequency-percentage\":\"<frequency>|<percentage>\",\"general-enclosed\":\"[<function-token> <any-value> )]|( <ident> <any-value> )\",\"generic-family\":\"serif|sans-serif|cursive|fantasy|monospace|-apple-system\",\"generic-name\":\"serif|sans-serif|cursive|fantasy|monospace\",\"geometry-box\":\"<shape-box>|fill-box|stroke-box|view-box\",gradient:\"<linear-gradient()>|<repeating-linear-gradient()>|<radial-gradient()>|<repeating-radial-gradient()>|<conic-gradient()>|<repeating-conic-gradient()>|<-legacy-gradient>\",\"grayscale()\":\"grayscale( <number-percentage> )\",\"grid-line\":\"auto|<custom-ident>|[<integer>&&<custom-ident>?]|[span&&[<integer>||<custom-ident>]]\",\"historical-lig-values\":\"[historical-ligatures|no-historical-ligatures]\",\"hsl()\":\"hsl( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )\",\"hsla()\":\"hsla( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )\",hue:\"<number>|<angle>\",\"hue-rotate()\":\"hue-rotate( <angle> )\",\"hwb()\":\"hwb( [<hue>|none] [<percentage>|none] [<percentage>|none] [/ [<alpha-value>|none]]? )\",image:\"<url>|<image()>|<image-set()>|<element()>|<paint()>|<cross-fade()>|<gradient>\",\"image()\":\"image( <image-tags>? [<image-src>? , <color>?]! )\",\"image-set()\":\"image-set( <image-set-option># )\",\"image-set-option\":\"[<image>|<string>] [<resolution>||type( <string> )]\",\"image-src\":\"<url>|<string>\",\"image-tags\":\"ltr|rtl\",\"inflexible-breadth\":\"<length>|<percentage>|min-content|max-content|auto\",\"inset()\":\"inset( <length-percentage>{1,4} [round <'border-radius'>]? )\",\"invert()\":\"invert( <number-percentage> )\",\"keyframes-name\":\"<custom-ident>|<string>\",\"keyframe-block\":\"<keyframe-selector># { <declaration-list> }\",\"keyframe-block-list\":\"<keyframe-block>+\",\"keyframe-selector\":\"from|to|<percentage>\",\"layer()\":\"layer( <layer-name> )\",\"layer-name\":\"<ident> ['.' <ident>]*\",\"leader()\":\"leader( <leader-type> )\",\"leader-type\":\"dotted|solid|space|<string>\",\"length-percentage\":\"<length>|<percentage>\",\"line-names\":\"'[' <custom-ident>* ']'\",\"line-name-list\":\"[<line-names>|<name-repeat>]+\",\"line-style\":\"none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset\",\"line-width\":\"<length>|thin|medium|thick\",\"linear-color-hint\":\"<length-percentage>\",\"linear-color-stop\":\"<color> <color-stop-length>?\",\"linear-gradient()\":\"linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )\",\"mask-layer\":\"<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||<geometry-box>||[<geometry-box>|no-clip]||<compositing-operator>||<masking-mode>\",\"mask-position\":\"[<length-percentage>|left|center|right] [<length-percentage>|top|center|bottom]?\",\"mask-reference\":\"none|<image>|<mask-source>\",\"mask-source\":\"<url>\",\"masking-mode\":\"alpha|luminance|match-source\",\"matrix()\":\"matrix( <number>#{6} )\",\"matrix3d()\":\"matrix3d( <number>#{16} )\",\"max()\":\"max( <calc-sum># )\",\"media-and\":\"<media-in-parens> [and <media-in-parens>]+\",\"media-condition\":\"<media-not>|<media-and>|<media-or>|<media-in-parens>\",\"media-condition-without-or\":\"<media-not>|<media-and>|<media-in-parens>\",\"media-feature\":\"( [<mf-plain>|<mf-boolean>|<mf-range>] )\",\"media-in-parens\":\"( <media-condition> )|<media-feature>|<general-enclosed>\",\"media-not\":\"not <media-in-parens>\",\"media-or\":\"<media-in-parens> [or <media-in-parens>]+\",\"media-query\":\"<media-condition>|[not|only]? <media-type> [and <media-condition-without-or>]?\",\"media-query-list\":\"<media-query>#\",\"media-type\":\"<ident>\",\"mf-boolean\":\"<mf-name>\",\"mf-name\":\"<ident>\",\"mf-plain\":\"<mf-name> : <mf-value>\",\"mf-range\":\"<mf-name> ['<'|'>']? '='? <mf-value>|<mf-value> ['<'|'>']? '='? <mf-name>|<mf-value> '<' '='? <mf-name> '<' '='? <mf-value>|<mf-value> '>' '='? <mf-name> '>' '='? <mf-value>\",\"mf-value\":\"<number>|<dimension>|<ident>|<ratio>\",\"min()\":\"min( <calc-sum># )\",\"minmax()\":\"minmax( [<length>|<percentage>|min-content|max-content|auto] , [<length>|<percentage>|<flex>|min-content|max-content|auto] )\",\"name-repeat\":\"repeat( [<integer [1,∞]>|auto-fill] , <line-names>+ )\",\"named-color\":\"transparent|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen|<-non-standard-color>\",\"namespace-prefix\":\"<ident>\",\"ns-prefix\":\"[<ident-token>|'*']? '|'\",\"number-percentage\":\"<number>|<percentage>\",\"numeric-figure-values\":\"[lining-nums|oldstyle-nums]\",\"numeric-fraction-values\":\"[diagonal-fractions|stacked-fractions]\",\"numeric-spacing-values\":\"[proportional-nums|tabular-nums]\",nth:\"<an-plus-b>|even|odd\",\"opacity()\":\"opacity( [<number-percentage>] )\",\"overflow-position\":\"unsafe|safe\",\"outline-radius\":\"<length>|<percentage>\",\"page-body\":\"<declaration>? [; <page-body>]?|<page-margin-box> <page-body>\",\"page-margin-box\":\"<page-margin-box-type> '{' <declaration-list> '}'\",\"page-margin-box-type\":\"@top-left-corner|@top-left|@top-center|@top-right|@top-right-corner|@bottom-left-corner|@bottom-left|@bottom-center|@bottom-right|@bottom-right-corner|@left-top|@left-middle|@left-bottom|@right-top|@right-middle|@right-bottom\",\"page-selector-list\":\"[<page-selector>#]?\",\"page-selector\":\"<pseudo-page>+|<ident> <pseudo-page>*\",\"page-size\":\"A5|A4|A3|B5|B4|JIS-B5|JIS-B4|letter|legal|ledger\",\"path()\":\"path( [<fill-rule> ,]? <string> )\",\"paint()\":\"paint( <ident> , <declaration-value>? )\",\"perspective()\":\"perspective( <length> )\",\"polygon()\":\"polygon( <fill-rule>? , [<length-percentage> <length-percentage>]# )\",position:\"[[left|center|right]||[top|center|bottom]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]?|[[left|right] <length-percentage>]&&[[top|bottom] <length-percentage>]]\",\"pseudo-class-selector\":\"':' <ident-token>|':' <function-token> <any-value> ')'\",\"pseudo-element-selector\":\"':' <pseudo-class-selector>\",\"pseudo-page\":\": [left|right|first|blank]\",quote:\"open-quote|close-quote|no-open-quote|no-close-quote\",\"radial-gradient()\":\"radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )\",\"relative-selector\":\"<combinator>? <complex-selector>\",\"relative-selector-list\":\"<relative-selector>#\",\"relative-size\":\"larger|smaller\",\"repeat-style\":\"repeat-x|repeat-y|[repeat|space|round|no-repeat]{1,2}\",\"repeating-conic-gradient()\":\"repeating-conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )\",\"repeating-linear-gradient()\":\"repeating-linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )\",\"repeating-radial-gradient()\":\"repeating-radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )\",\"rgb()\":\"rgb( <percentage>{3} [/ <alpha-value>]? )|rgb( <number>{3} [/ <alpha-value>]? )|rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )\",\"rgba()\":\"rgba( <percentage>{3} [/ <alpha-value>]? )|rgba( <number>{3} [/ <alpha-value>]? )|rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )\",\"rotate()\":\"rotate( [<angle>|<zero>] )\",\"rotate3d()\":\"rotate3d( <number> , <number> , <number> , [<angle>|<zero>] )\",\"rotateX()\":\"rotateX( [<angle>|<zero>] )\",\"rotateY()\":\"rotateY( [<angle>|<zero>] )\",\"rotateZ()\":\"rotateZ( [<angle>|<zero>] )\",\"saturate()\":\"saturate( <number-percentage> )\",\"scale()\":\"scale( <number> , <number>? )\",\"scale3d()\":\"scale3d( <number> , <number> , <number> )\",\"scaleX()\":\"scaleX( <number> )\",\"scaleY()\":\"scaleY( <number> )\",\"scaleZ()\":\"scaleZ( <number> )\",\"self-position\":\"center|start|end|self-start|self-end|flex-start|flex-end\",\"shape-radius\":\"<length-percentage>|closest-side|farthest-side\",\"skew()\":\"skew( [<angle>|<zero>] , [<angle>|<zero>]? )\",\"skewX()\":\"skewX( [<angle>|<zero>] )\",\"skewY()\":\"skewY( [<angle>|<zero>] )\",\"sepia()\":\"sepia( <number-percentage> )\",shadow:\"inset?&&<length>{2,4}&&<color>?\",\"shadow-t\":\"[<length>{2,3}&&<color>?]\",shape:\"rect( <top> , <right> , <bottom> , <left> )|rect( <top> <right> <bottom> <left> )\",\"shape-box\":\"<box>|margin-box\",\"side-or-corner\":\"[left|right]||[top|bottom]\",\"single-animation\":\"<time>||<easing-function>||<time>||<single-animation-iteration-count>||<single-animation-direction>||<single-animation-fill-mode>||<single-animation-play-state>||[none|<keyframes-name>]\",\"single-animation-direction\":\"normal|reverse|alternate|alternate-reverse\",\"single-animation-fill-mode\":\"none|forwards|backwards|both\",\"single-animation-iteration-count\":\"infinite|<number>\",\"single-animation-play-state\":\"running|paused\",\"single-animation-timeline\":\"auto|none|<timeline-name>\",\"single-transition\":\"[none|<single-transition-property>]||<time>||<easing-function>||<time>\",\"single-transition-property\":\"all|<custom-ident>\",size:\"closest-side|farthest-side|closest-corner|farthest-corner|<length>|<length-percentage>{2}\",\"step-position\":\"jump-start|jump-end|jump-none|jump-both|start|end\",\"step-timing-function\":\"step-start|step-end|steps( <integer> [, <step-position>]? )\",\"subclass-selector\":\"<id-selector>|<class-selector>|<attribute-selector>|<pseudo-class-selector>\",\"supports-condition\":\"not <supports-in-parens>|<supports-in-parens> [and <supports-in-parens>]*|<supports-in-parens> [or <supports-in-parens>]*\",\"supports-in-parens\":\"( <supports-condition> )|<supports-feature>|<general-enclosed>\",\"supports-feature\":\"<supports-decl>|<supports-selector-fn>\",\"supports-decl\":\"( <declaration> )\",\"supports-selector-fn\":\"selector( <complex-selector> )\",symbol:\"<string>|<image>|<custom-ident>\",target:\"<target-counter()>|<target-counters()>|<target-text()>\",\"target-counter()\":\"target-counter( [<string>|<url>] , <custom-ident> , <counter-style>? )\",\"target-counters()\":\"target-counters( [<string>|<url>] , <custom-ident> , <string> , <counter-style>? )\",\"target-text()\":\"target-text( [<string>|<url>] , [content|before|after|first-letter]? )\",\"time-percentage\":\"<time>|<percentage>\",\"timeline-name\":\"<custom-ident>|<string>\",\"easing-function\":\"linear|<cubic-bezier-timing-function>|<step-timing-function>\",\"track-breadth\":\"<length-percentage>|<flex>|min-content|max-content|auto\",\"track-list\":\"[<line-names>? [<track-size>|<track-repeat>]]+ <line-names>?\",\"track-repeat\":\"repeat( [<integer [1,∞]>] , [<line-names>? <track-size>]+ <line-names>? )\",\"track-size\":\"<track-breadth>|minmax( <inflexible-breadth> , <track-breadth> )|fit-content( [<length>|<percentage>] )\",\"transform-function\":\"<matrix()>|<translate()>|<translateX()>|<translateY()>|<scale()>|<scaleX()>|<scaleY()>|<rotate()>|<skew()>|<skewX()>|<skewY()>|<matrix3d()>|<translate3d()>|<translateZ()>|<scale3d()>|<scaleZ()>|<rotate3d()>|<rotateX()>|<rotateY()>|<rotateZ()>|<perspective()>\",\"transform-list\":\"<transform-function>+\",\"translate()\":\"translate( <length-percentage> , <length-percentage>? )\",\"translate3d()\":\"translate3d( <length-percentage> , <length-percentage> , <length> )\",\"translateX()\":\"translateX( <length-percentage> )\",\"translateY()\":\"translateY( <length-percentage> )\",\"translateZ()\":\"translateZ( <length> )\",\"type-or-unit\":\"string|color|url|integer|number|length|angle|time|frequency|cap|ch|em|ex|ic|lh|rlh|rem|vb|vi|vw|vh|vmin|vmax|mm|Q|cm|in|pt|pc|px|deg|grad|rad|turn|ms|s|Hz|kHz|%\",\"type-selector\":\"<wq-name>|<ns-prefix>? '*'\",\"var()\":\"var( <custom-property-name> , <declaration-value>? )\",\"viewport-length\":\"auto|<length-percentage>\",\"visual-box\":\"content-box|padding-box|border-box\",\"wq-name\":\"<ns-prefix>? <ident-token>\",\"-legacy-gradient\":\"<-webkit-gradient()>|<-legacy-linear-gradient>|<-legacy-repeating-linear-gradient>|<-legacy-radial-gradient>|<-legacy-repeating-radial-gradient>\",\"-legacy-linear-gradient\":\"-moz-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-linear-gradient( <-legacy-linear-gradient-arguments> )\",\"-legacy-repeating-linear-gradient\":\"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )\",\"-legacy-linear-gradient-arguments\":\"[<angle>|<side-or-corner>]? , <color-stop-list>\",\"-legacy-radial-gradient\":\"-moz-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-radial-gradient( <-legacy-radial-gradient-arguments> )\",\"-legacy-repeating-radial-gradient\":\"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )\",\"-legacy-radial-gradient-arguments\":\"[<position> ,]? [[[<-legacy-radial-gradient-shape>||<-legacy-radial-gradient-size>]|[<length>|<percentage>]{2}] ,]? <color-stop-list>\",\"-legacy-radial-gradient-size\":\"closest-side|closest-corner|farthest-side|farthest-corner|contain|cover\",\"-legacy-radial-gradient-shape\":\"circle|ellipse\",\"-non-standard-font\":\"-apple-system-body|-apple-system-headline|-apple-system-subheadline|-apple-system-caption1|-apple-system-caption2|-apple-system-footnote|-apple-system-short-body|-apple-system-short-headline|-apple-system-short-subheadline|-apple-system-short-caption1|-apple-system-short-footnote|-apple-system-tall-body\",\"-non-standard-color\":\"-moz-ButtonDefault|-moz-ButtonHoverFace|-moz-ButtonHoverText|-moz-CellHighlight|-moz-CellHighlightText|-moz-Combobox|-moz-ComboboxText|-moz-Dialog|-moz-DialogText|-moz-dragtargetzone|-moz-EvenTreeRow|-moz-Field|-moz-FieldText|-moz-html-CellHighlight|-moz-html-CellHighlightText|-moz-mac-accentdarkestshadow|-moz-mac-accentdarkshadow|-moz-mac-accentface|-moz-mac-accentlightesthighlight|-moz-mac-accentlightshadow|-moz-mac-accentregularhighlight|-moz-mac-accentregularshadow|-moz-mac-chrome-active|-moz-mac-chrome-inactive|-moz-mac-focusring|-moz-mac-menuselect|-moz-mac-menushadow|-moz-mac-menutextselect|-moz-MenuHover|-moz-MenuHoverText|-moz-MenuBarText|-moz-MenuBarHoverText|-moz-nativehyperlinktext|-moz-OddTreeRow|-moz-win-communicationstext|-moz-win-mediatext|-moz-activehyperlinktext|-moz-default-background-color|-moz-default-color|-moz-hyperlinktext|-moz-visitedhyperlinktext|-webkit-activelink|-webkit-focus-ring-color|-webkit-link|-webkit-text\",\"-non-standard-image-rendering\":\"optimize-contrast|-moz-crisp-edges|-o-crisp-edges|-webkit-optimize-contrast\",\"-non-standard-overflow\":\"-moz-scrollbars-none|-moz-scrollbars-horizontal|-moz-scrollbars-vertical|-moz-hidden-unscrollable\",\"-non-standard-width\":\"fill-available|min-intrinsic|intrinsic|-moz-available|-moz-fit-content|-moz-min-content|-moz-max-content|-webkit-min-content|-webkit-max-content\",\"-webkit-gradient()\":\"-webkit-gradient( <-webkit-gradient-type> , <-webkit-gradient-point> [, <-webkit-gradient-point>|, <-webkit-gradient-radius> , <-webkit-gradient-point>] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )\",\"-webkit-gradient-color-stop\":\"from( <color> )|color-stop( [<number-zero-one>|<percentage>] , <color> )|to( <color> )\",\"-webkit-gradient-point\":\"[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]\",\"-webkit-gradient-radius\":\"<length>|<percentage>\",\"-webkit-gradient-type\":\"linear|radial\",\"-webkit-mask-box-repeat\":\"repeat|stretch|round\",\"-webkit-mask-clip-style\":\"border|border-box|padding|padding-box|content|content-box|text\",\"-ms-filter-function-list\":\"<-ms-filter-function>+\",\"-ms-filter-function\":\"<-ms-filter-function-progid>|<-ms-filter-function-legacy>\",\"-ms-filter-function-progid\":\"'progid:' [<ident-token> '.']* [<ident-token>|<function-token> <any-value>? )]\",\"-ms-filter-function-legacy\":\"<ident-token>|<function-token> <any-value>? )\",\"-ms-filter\":\"<string>\",age:\"child|young|old\",\"attr-name\":\"<wq-name>\",\"attr-fallback\":\"<any-value>\",\"bg-clip\":\"<box>|border|text\",\"border-radius\":\"<length-percentage>{1,2}\",bottom:\"<length>|auto\",\"generic-voice\":\"[<age>? <gender> <integer>?]\",gender:\"male|female|neutral\",\"lab()\":\"lab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )\",\"lch()\":\"lch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )\",left:\"<length>|auto\",\"mask-image\":\"<mask-reference>#\",paint:\"none|<color>|<url> [none|<color>]?|context-fill|context-stroke\",ratio:\"<number [0,∞]> [/ <number [0,∞]>]?\",\"reversed-counter-name\":\"reversed( <counter-name> )\",right:\"<length>|auto\",\"svg-length\":\"<percentage>|<length>|<number>\",\"svg-writing-mode\":\"lr-tb|rl-tb|tb-rl|lr|rl|tb\",top:\"<length>|auto\",\"track-group\":\"'(' [<string>* <track-minmax> <string>*]+ ')' ['[' <positive-integer> ']']?|<track-minmax>\",\"track-list-v0\":\"[<string>* <track-group> <string>*]+|none\",\"track-minmax\":\"minmax( <track-breadth> , <track-breadth> )|auto|<track-breadth>|fit-content\",x:\"<number>\",y:\"<number>\",declaration:\"<ident-token> : <declaration-value>? ['!' important]?\",\"declaration-list\":\"[<declaration>? ';']* <declaration>?\",url:\"url( <string> <url-modifier>* )|<url-token>\",\"url-modifier\":\"<ident>|<function-token> <any-value> )\",\"number-zero-one\":\"<number [0,1]>\",\"number-one-or-greater\":\"<number [1,∞]>\",\"positive-integer\":\"<integer [0,∞]>\",\"-non-standard-display\":\"-ms-inline-flexbox|-ms-grid|-ms-inline-grid|-webkit-flex|-webkit-inline-flex|-webkit-box|-webkit-inline-box|-moz-inline-stack|-moz-box|-moz-inline-box\"},properties:{\"--*\":\"<declaration-value>\",\"-ms-accelerator\":\"false|true\",\"-ms-block-progression\":\"tb|rl|bt|lr\",\"-ms-content-zoom-chaining\":\"none|chained\",\"-ms-content-zooming\":\"none|zoom\",\"-ms-content-zoom-limit\":\"<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>\",\"-ms-content-zoom-limit-max\":\"<percentage>\",\"-ms-content-zoom-limit-min\":\"<percentage>\",\"-ms-content-zoom-snap\":\"<'-ms-content-zoom-snap-type'>||<'-ms-content-zoom-snap-points'>\",\"-ms-content-zoom-snap-points\":\"snapInterval( <percentage> , <percentage> )|snapList( <percentage># )\",\"-ms-content-zoom-snap-type\":\"none|proximity|mandatory\",\"-ms-filter\":\"<string>\",\"-ms-flow-from\":\"[none|<custom-ident>]#\",\"-ms-flow-into\":\"[none|<custom-ident>]#\",\"-ms-grid-columns\":\"none|<track-list>|<auto-track-list>\",\"-ms-grid-rows\":\"none|<track-list>|<auto-track-list>\",\"-ms-high-contrast-adjust\":\"auto|none\",\"-ms-hyphenate-limit-chars\":\"auto|<integer>{1,3}\",\"-ms-hyphenate-limit-lines\":\"no-limit|<integer>\",\"-ms-hyphenate-limit-zone\":\"<percentage>|<length>\",\"-ms-ime-align\":\"auto|after\",\"-ms-overflow-style\":\"auto|none|scrollbar|-ms-autohiding-scrollbar\",\"-ms-scrollbar-3dlight-color\":\"<color>\",\"-ms-scrollbar-arrow-color\":\"<color>\",\"-ms-scrollbar-base-color\":\"<color>\",\"-ms-scrollbar-darkshadow-color\":\"<color>\",\"-ms-scrollbar-face-color\":\"<color>\",\"-ms-scrollbar-highlight-color\":\"<color>\",\"-ms-scrollbar-shadow-color\":\"<color>\",\"-ms-scrollbar-track-color\":\"<color>\",\"-ms-scroll-chaining\":\"chained|none\",\"-ms-scroll-limit\":\"<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>\",\"-ms-scroll-limit-x-max\":\"auto|<length>\",\"-ms-scroll-limit-x-min\":\"<length>\",\"-ms-scroll-limit-y-max\":\"auto|<length>\",\"-ms-scroll-limit-y-min\":\"<length>\",\"-ms-scroll-rails\":\"none|railed\",\"-ms-scroll-snap-points-x\":\"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )\",\"-ms-scroll-snap-points-y\":\"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )\",\"-ms-scroll-snap-type\":\"none|proximity|mandatory\",\"-ms-scroll-snap-x\":\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>\",\"-ms-scroll-snap-y\":\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>\",\"-ms-scroll-translation\":\"none|vertical-to-horizontal\",\"-ms-text-autospace\":\"none|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space\",\"-ms-touch-select\":\"grippers|none\",\"-ms-user-select\":\"none|element|text\",\"-ms-wrap-flow\":\"auto|both|start|end|maximum|clear\",\"-ms-wrap-margin\":\"<length>\",\"-ms-wrap-through\":\"wrap|none\",\"-moz-appearance\":\"none|button|button-arrow-down|button-arrow-next|button-arrow-previous|button-arrow-up|button-bevel|button-focus|caret|checkbox|checkbox-container|checkbox-label|checkmenuitem|dualbutton|groupbox|listbox|listitem|menuarrow|menubar|menucheckbox|menuimage|menuitem|menuitemtext|menulist|menulist-button|menulist-text|menulist-textfield|menupopup|menuradio|menuseparator|meterbar|meterchunk|progressbar|progressbar-vertical|progresschunk|progresschunk-vertical|radio|radio-container|radio-label|radiomenuitem|range|range-thumb|resizer|resizerpanel|scale-horizontal|scalethumbend|scalethumb-horizontal|scalethumbstart|scalethumbtick|scalethumb-vertical|scale-vertical|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|separator|sheet|spinner|spinner-downbutton|spinner-textfield|spinner-upbutton|splitter|statusbar|statusbarpanel|tab|tabpanel|tabpanels|tab-scroll-arrow-back|tab-scroll-arrow-forward|textfield|textfield-multiline|toolbar|toolbarbutton|toolbarbutton-dropdown|toolbargripper|toolbox|tooltip|treeheader|treeheadercell|treeheadersortarrow|treeitem|treeline|treetwisty|treetwistyopen|treeview|-moz-mac-unified-toolbar|-moz-win-borderless-glass|-moz-win-browsertabbar-toolbox|-moz-win-communicationstext|-moz-win-communications-toolbox|-moz-win-exclude-glass|-moz-win-glass|-moz-win-mediatext|-moz-win-media-toolbox|-moz-window-button-box|-moz-window-button-box-maximized|-moz-window-button-close|-moz-window-button-maximize|-moz-window-button-minimize|-moz-window-button-restore|-moz-window-frame-bottom|-moz-window-frame-left|-moz-window-frame-right|-moz-window-titlebar|-moz-window-titlebar-maximized\",\"-moz-binding\":\"<url>|none\",\"-moz-border-bottom-colors\":\"<color>+|none\",\"-moz-border-left-colors\":\"<color>+|none\",\"-moz-border-right-colors\":\"<color>+|none\",\"-moz-border-top-colors\":\"<color>+|none\",\"-moz-context-properties\":\"none|[fill|fill-opacity|stroke|stroke-opacity]#\",\"-moz-float-edge\":\"border-box|content-box|margin-box|padding-box\",\"-moz-force-broken-image-icon\":\"0|1\",\"-moz-image-region\":\"<shape>|auto\",\"-moz-orient\":\"inline|block|horizontal|vertical\",\"-moz-outline-radius\":\"<outline-radius>{1,4} [/ <outline-radius>{1,4}]?\",\"-moz-outline-radius-bottomleft\":\"<outline-radius>\",\"-moz-outline-radius-bottomright\":\"<outline-radius>\",\"-moz-outline-radius-topleft\":\"<outline-radius>\",\"-moz-outline-radius-topright\":\"<outline-radius>\",\"-moz-stack-sizing\":\"ignore|stretch-to-fit\",\"-moz-text-blink\":\"none|blink\",\"-moz-user-focus\":\"ignore|normal|select-after|select-before|select-menu|select-same|select-all|none\",\"-moz-user-input\":\"auto|none|enabled|disabled\",\"-moz-user-modify\":\"read-only|read-write|write-only\",\"-moz-window-dragging\":\"drag|no-drag\",\"-moz-window-shadow\":\"default|menu|tooltip|sheet|none\",\"-webkit-appearance\":\"none|button|button-bevel|caps-lock-indicator|caret|checkbox|default-button|inner-spin-button|listbox|listitem|media-controls-background|media-controls-fullscreen-background|media-current-time-display|media-enter-fullscreen-button|media-exit-fullscreen-button|media-fullscreen-button|media-mute-button|media-overlay-play-button|media-play-button|media-seek-back-button|media-seek-forward-button|media-slider|media-sliderthumb|media-time-remaining-display|media-toggle-closed-captions-button|media-volume-slider|media-volume-slider-container|media-volume-sliderthumb|menulist|menulist-button|menulist-text|menulist-textfield|meter|progress-bar|progress-bar-value|push-button|radio|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbargripper-horizontal|scrollbargripper-vertical|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|searchfield-cancel-button|searchfield-decoration|searchfield-results-button|searchfield-results-decoration|slider-horizontal|slider-vertical|sliderthumb-horizontal|sliderthumb-vertical|square-button|textarea|textfield|-apple-pay-button\",\"-webkit-border-before\":\"<'border-width'>||<'border-style'>||<color>\",\"-webkit-border-before-color\":\"<color>\",\"-webkit-border-before-style\":\"<'border-style'>\",\"-webkit-border-before-width\":\"<'border-width'>\",\"-webkit-box-reflect\":\"[above|below|right|left]? <length>? <image>?\",\"-webkit-line-clamp\":\"none|<integer>\",\"-webkit-mask\":\"[<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||[<box>|border|padding|content|text]||[<box>|border|padding|content]]#\",\"-webkit-mask-attachment\":\"<attachment>#\",\"-webkit-mask-clip\":\"[<box>|border|padding|content|text]#\",\"-webkit-mask-composite\":\"<composite-style>#\",\"-webkit-mask-image\":\"<mask-reference>#\",\"-webkit-mask-origin\":\"[<box>|border|padding|content]#\",\"-webkit-mask-position\":\"<position>#\",\"-webkit-mask-position-x\":\"[<length-percentage>|left|center|right]#\",\"-webkit-mask-position-y\":\"[<length-percentage>|top|center|bottom]#\",\"-webkit-mask-repeat\":\"<repeat-style>#\",\"-webkit-mask-repeat-x\":\"repeat|no-repeat|space|round\",\"-webkit-mask-repeat-y\":\"repeat|no-repeat|space|round\",\"-webkit-mask-size\":\"<bg-size>#\",\"-webkit-overflow-scrolling\":\"auto|touch\",\"-webkit-tap-highlight-color\":\"<color>\",\"-webkit-text-fill-color\":\"<color>\",\"-webkit-text-stroke\":\"<length>||<color>\",\"-webkit-text-stroke-color\":\"<color>\",\"-webkit-text-stroke-width\":\"<length>\",\"-webkit-touch-callout\":\"default|none\",\"-webkit-user-modify\":\"read-only|read-write|read-write-plaintext-only\",\"accent-color\":\"auto|<color>\",\"align-content\":\"normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>\",\"align-items\":\"normal|stretch|<baseline-position>|[<overflow-position>? <self-position>]\",\"align-self\":\"auto|normal|stretch|<baseline-position>|<overflow-position>? <self-position>\",\"align-tracks\":\"[normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>]#\",all:\"initial|inherit|unset|revert|revert-layer\",animation:\"<single-animation>#\",\"animation-delay\":\"<time>#\",\"animation-direction\":\"<single-animation-direction>#\",\"animation-duration\":\"<time>#\",\"animation-fill-mode\":\"<single-animation-fill-mode>#\",\"animation-iteration-count\":\"<single-animation-iteration-count>#\",\"animation-name\":\"[none|<keyframes-name>]#\",\"animation-play-state\":\"<single-animation-play-state>#\",\"animation-timing-function\":\"<easing-function>#\",\"animation-timeline\":\"<single-animation-timeline>#\",appearance:\"none|auto|textfield|menulist-button|<compat-auto>\",\"aspect-ratio\":\"auto|<ratio>\",azimuth:\"<angle>|[[left-side|far-left|left|center-left|center|center-right|right|far-right|right-side]||behind]|leftwards|rightwards\",\"backdrop-filter\":\"none|<filter-function-list>\",\"backface-visibility\":\"visible|hidden\",background:\"[<bg-layer> ,]* <final-bg-layer>\",\"background-attachment\":\"<attachment>#\",\"background-blend-mode\":\"<blend-mode>#\",\"background-clip\":\"<bg-clip>#\",\"background-color\":\"<color>\",\"background-image\":\"<bg-image>#\",\"background-origin\":\"<box>#\",\"background-position\":\"<bg-position>#\",\"background-position-x\":\"[center|[[left|right|x-start|x-end]? <length-percentage>?]!]#\",\"background-position-y\":\"[center|[[top|bottom|y-start|y-end]? <length-percentage>?]!]#\",\"background-repeat\":\"<repeat-style>#\",\"background-size\":\"<bg-size>#\",\"block-overflow\":\"clip|ellipsis|<string>\",\"block-size\":\"<'width'>\",border:\"<line-width>||<line-style>||<color>\",\"border-block\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-block-color\":\"<'border-top-color'>{1,2}\",\"border-block-style\":\"<'border-top-style'>\",\"border-block-width\":\"<'border-top-width'>\",\"border-block-end\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-block-end-color\":\"<'border-top-color'>\",\"border-block-end-style\":\"<'border-top-style'>\",\"border-block-end-width\":\"<'border-top-width'>\",\"border-block-start\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-block-start-color\":\"<'border-top-color'>\",\"border-block-start-style\":\"<'border-top-style'>\",\"border-block-start-width\":\"<'border-top-width'>\",\"border-bottom\":\"<line-width>||<line-style>||<color>\",\"border-bottom-color\":\"<'border-top-color'>\",\"border-bottom-left-radius\":\"<length-percentage>{1,2}\",\"border-bottom-right-radius\":\"<length-percentage>{1,2}\",\"border-bottom-style\":\"<line-style>\",\"border-bottom-width\":\"<line-width>\",\"border-collapse\":\"collapse|separate\",\"border-color\":\"<color>{1,4}\",\"border-end-end-radius\":\"<length-percentage>{1,2}\",\"border-end-start-radius\":\"<length-percentage>{1,2}\",\"border-image\":\"<'border-image-source'>||<'border-image-slice'> [/ <'border-image-width'>|/ <'border-image-width'>? / <'border-image-outset'>]?||<'border-image-repeat'>\",\"border-image-outset\":\"[<length>|<number>]{1,4}\",\"border-image-repeat\":\"[stretch|repeat|round|space]{1,2}\",\"border-image-slice\":\"<number-percentage>{1,4}&&fill?\",\"border-image-source\":\"none|<image>\",\"border-image-width\":\"[<length-percentage>|<number>|auto]{1,4}\",\"border-inline\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-inline-end\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-inline-color\":\"<'border-top-color'>{1,2}\",\"border-inline-style\":\"<'border-top-style'>\",\"border-inline-width\":\"<'border-top-width'>\",\"border-inline-end-color\":\"<'border-top-color'>\",\"border-inline-end-style\":\"<'border-top-style'>\",\"border-inline-end-width\":\"<'border-top-width'>\",\"border-inline-start\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-inline-start-color\":\"<'border-top-color'>\",\"border-inline-start-style\":\"<'border-top-style'>\",\"border-inline-start-width\":\"<'border-top-width'>\",\"border-left\":\"<line-width>||<line-style>||<color>\",\"border-left-color\":\"<color>\",\"border-left-style\":\"<line-style>\",\"border-left-width\":\"<line-width>\",\"border-radius\":\"<length-percentage>{1,4} [/ <length-percentage>{1,4}]?\",\"border-right\":\"<line-width>||<line-style>||<color>\",\"border-right-color\":\"<color>\",\"border-right-style\":\"<line-style>\",\"border-right-width\":\"<line-width>\",\"border-spacing\":\"<length> <length>?\",\"border-start-end-radius\":\"<length-percentage>{1,2}\",\"border-start-start-radius\":\"<length-percentage>{1,2}\",\"border-style\":\"<line-style>{1,4}\",\"border-top\":\"<line-width>||<line-style>||<color>\",\"border-top-color\":\"<color>\",\"border-top-left-radius\":\"<length-percentage>{1,2}\",\"border-top-right-radius\":\"<length-percentage>{1,2}\",\"border-top-style\":\"<line-style>\",\"border-top-width\":\"<line-width>\",\"border-width\":\"<line-width>{1,4}\",bottom:\"<length>|<percentage>|auto\",\"box-align\":\"start|center|end|baseline|stretch\",\"box-decoration-break\":\"slice|clone\",\"box-direction\":\"normal|reverse|inherit\",\"box-flex\":\"<number>\",\"box-flex-group\":\"<integer>\",\"box-lines\":\"single|multiple\",\"box-ordinal-group\":\"<integer>\",\"box-orient\":\"horizontal|vertical|inline-axis|block-axis|inherit\",\"box-pack\":\"start|center|end|justify\",\"box-shadow\":\"none|<shadow>#\",\"box-sizing\":\"content-box|border-box\",\"break-after\":\"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region\",\"break-before\":\"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region\",\"break-inside\":\"auto|avoid|avoid-page|avoid-column|avoid-region\",\"caption-side\":\"top|bottom|block-start|block-end|inline-start|inline-end\",\"caret-color\":\"auto|<color>\",clear:\"none|left|right|both|inline-start|inline-end\",clip:\"<shape>|auto\",\"clip-path\":\"<clip-source>|[<basic-shape>||<geometry-box>]|none\",color:\"<color>\",\"print-color-adjust\":\"economy|exact\",\"color-scheme\":\"normal|[light|dark|<custom-ident>]+&&only?\",\"column-count\":\"<integer>|auto\",\"column-fill\":\"auto|balance|balance-all\",\"column-gap\":\"normal|<length-percentage>\",\"column-rule\":\"<'column-rule-width'>||<'column-rule-style'>||<'column-rule-color'>\",\"column-rule-color\":\"<color>\",\"column-rule-style\":\"<'border-style'>\",\"column-rule-width\":\"<'border-width'>\",\"column-span\":\"none|all\",\"column-width\":\"<length>|auto\",columns:\"<'column-width'>||<'column-count'>\",contain:\"none|strict|content|[size||layout||style||paint]\",content:\"normal|none|[<content-replacement>|<content-list>] [/ [<string>|<counter>]+]?\",\"content-visibility\":\"visible|auto|hidden\",\"counter-increment\":\"[<counter-name> <integer>?]+|none\",\"counter-reset\":\"[<counter-name> <integer>?|<reversed-counter-name> <integer>?]+|none\",\"counter-set\":\"[<counter-name> <integer>?]+|none\",cursor:\"[[<url> [<x> <y>]? ,]* [auto|default|none|context-menu|help|pointer|progress|wait|cell|crosshair|text|vertical-text|alias|copy|move|no-drop|not-allowed|e-resize|n-resize|ne-resize|nw-resize|s-resize|se-resize|sw-resize|w-resize|ew-resize|ns-resize|nesw-resize|nwse-resize|col-resize|row-resize|all-scroll|zoom-in|zoom-out|grab|grabbing|hand|-webkit-grab|-webkit-grabbing|-webkit-zoom-in|-webkit-zoom-out|-moz-grab|-moz-grabbing|-moz-zoom-in|-moz-zoom-out]]\",direction:\"ltr|rtl\",display:\"[<display-outside>||<display-inside>]|<display-listitem>|<display-internal>|<display-box>|<display-legacy>|<-non-standard-display>\",\"empty-cells\":\"show|hide\",filter:\"none|<filter-function-list>|<-ms-filter-function-list>\",flex:\"none|[<'flex-grow'> <'flex-shrink'>?||<'flex-basis'>]\",\"flex-basis\":\"content|<'width'>\",\"flex-direction\":\"row|row-reverse|column|column-reverse\",\"flex-flow\":\"<'flex-direction'>||<'flex-wrap'>\",\"flex-grow\":\"<number>\",\"flex-shrink\":\"<number>\",\"flex-wrap\":\"nowrap|wrap|wrap-reverse\",float:\"left|right|none|inline-start|inline-end\",font:\"[[<'font-style'>||<font-variant-css21>||<'font-weight'>||<'font-stretch'>]? <'font-size'> [/ <'line-height'>]? <'font-family'>]|caption|icon|menu|message-box|small-caption|status-bar\",\"font-family\":\"[<family-name>|<generic-family>]#\",\"font-feature-settings\":\"normal|<feature-tag-value>#\",\"font-kerning\":\"auto|normal|none\",\"font-language-override\":\"normal|<string>\",\"font-optical-sizing\":\"auto|none\",\"font-variation-settings\":\"normal|[<string> <number>]#\",\"font-size\":\"<absolute-size>|<relative-size>|<length-percentage>\",\"font-size-adjust\":\"none|[ex-height|cap-height|ch-width|ic-width|ic-height]? [from-font|<number>]\",\"font-smooth\":\"auto|never|always|<absolute-size>|<length>\",\"font-stretch\":\"<font-stretch-absolute>\",\"font-style\":\"normal|italic|oblique <angle>?\",\"font-synthesis\":\"none|[weight||style||small-caps]\",\"font-variant\":\"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]\",\"font-variant-alternates\":\"normal|[stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )]\",\"font-variant-caps\":\"normal|small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps\",\"font-variant-east-asian\":\"normal|[<east-asian-variant-values>||<east-asian-width-values>||ruby]\",\"font-variant-ligatures\":\"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>]\",\"font-variant-numeric\":\"normal|[<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero]\",\"font-variant-position\":\"normal|sub|super\",\"font-weight\":\"<font-weight-absolute>|bolder|lighter\",\"forced-color-adjust\":\"auto|none\",gap:\"<'row-gap'> <'column-gap'>?\",grid:\"<'grid-template'>|<'grid-template-rows'> / [auto-flow&&dense?] <'grid-auto-columns'>?|[auto-flow&&dense?] <'grid-auto-rows'>? / <'grid-template-columns'>\",\"grid-area\":\"<grid-line> [/ <grid-line>]{0,3}\",\"grid-auto-columns\":\"<track-size>+\",\"grid-auto-flow\":\"[row|column]||dense\",\"grid-auto-rows\":\"<track-size>+\",\"grid-column\":\"<grid-line> [/ <grid-line>]?\",\"grid-column-end\":\"<grid-line>\",\"grid-column-gap\":\"<length-percentage>\",\"grid-column-start\":\"<grid-line>\",\"grid-gap\":\"<'grid-row-gap'> <'grid-column-gap'>?\",\"grid-row\":\"<grid-line> [/ <grid-line>]?\",\"grid-row-end\":\"<grid-line>\",\"grid-row-gap\":\"<length-percentage>\",\"grid-row-start\":\"<grid-line>\",\"grid-template\":\"none|[<'grid-template-rows'> / <'grid-template-columns'>]|[<line-names>? <string> <track-size>? <line-names>?]+ [/ <explicit-track-list>]?\",\"grid-template-areas\":\"none|<string>+\",\"grid-template-columns\":\"none|<track-list>|<auto-track-list>|subgrid <line-name-list>?\",\"grid-template-rows\":\"none|<track-list>|<auto-track-list>|subgrid <line-name-list>?\",\"hanging-punctuation\":\"none|[first||[force-end|allow-end]||last]\",height:\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )\",\"hyphenate-character\":\"auto|<string>\",hyphens:\"none|manual|auto\",\"image-orientation\":\"from-image|<angle>|[<angle>? flip]\",\"image-rendering\":\"auto|crisp-edges|pixelated|optimizeSpeed|optimizeQuality|<-non-standard-image-rendering>\",\"image-resolution\":\"[from-image||<resolution>]&&snap?\",\"ime-mode\":\"auto|normal|active|inactive|disabled\",\"initial-letter\":\"normal|[<number> <integer>?]\",\"initial-letter-align\":\"[auto|alphabetic|hanging|ideographic]\",\"inline-size\":\"<'width'>\",\"input-security\":\"auto|none\",inset:\"<'top'>{1,4}\",\"inset-block\":\"<'top'>{1,2}\",\"inset-block-end\":\"<'top'>\",\"inset-block-start\":\"<'top'>\",\"inset-inline\":\"<'top'>{1,2}\",\"inset-inline-end\":\"<'top'>\",\"inset-inline-start\":\"<'top'>\",isolation:\"auto|isolate\",\"justify-content\":\"normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]\",\"justify-items\":\"normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]|legacy|legacy&&[left|right|center]\",\"justify-self\":\"auto|normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]\",\"justify-tracks\":\"[normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]]#\",left:\"<length>|<percentage>|auto\",\"letter-spacing\":\"normal|<length-percentage>\",\"line-break\":\"auto|loose|normal|strict|anywhere\",\"line-clamp\":\"none|<integer>\",\"line-height\":\"normal|<number>|<length>|<percentage>\",\"line-height-step\":\"<length>\",\"list-style\":\"<'list-style-type'>||<'list-style-position'>||<'list-style-image'>\",\"list-style-image\":\"<image>|none\",\"list-style-position\":\"inside|outside\",\"list-style-type\":\"<counter-style>|<string>|none\",margin:\"[<length>|<percentage>|auto]{1,4}\",\"margin-block\":\"<'margin-left'>{1,2}\",\"margin-block-end\":\"<'margin-left'>\",\"margin-block-start\":\"<'margin-left'>\",\"margin-bottom\":\"<length>|<percentage>|auto\",\"margin-inline\":\"<'margin-left'>{1,2}\",\"margin-inline-end\":\"<'margin-left'>\",\"margin-inline-start\":\"<'margin-left'>\",\"margin-left\":\"<length>|<percentage>|auto\",\"margin-right\":\"<length>|<percentage>|auto\",\"margin-top\":\"<length>|<percentage>|auto\",\"margin-trim\":\"none|in-flow|all\",mask:\"<mask-layer>#\",\"mask-border\":\"<'mask-border-source'>||<'mask-border-slice'> [/ <'mask-border-width'>? [/ <'mask-border-outset'>]?]?||<'mask-border-repeat'>||<'mask-border-mode'>\",\"mask-border-mode\":\"luminance|alpha\",\"mask-border-outset\":\"[<length>|<number>]{1,4}\",\"mask-border-repeat\":\"[stretch|repeat|round|space]{1,2}\",\"mask-border-slice\":\"<number-percentage>{1,4} fill?\",\"mask-border-source\":\"none|<image>\",\"mask-border-width\":\"[<length-percentage>|<number>|auto]{1,4}\",\"mask-clip\":\"[<geometry-box>|no-clip]#\",\"mask-composite\":\"<compositing-operator>#\",\"mask-image\":\"<mask-reference>#\",\"mask-mode\":\"<masking-mode>#\",\"mask-origin\":\"<geometry-box>#\",\"mask-position\":\"<position>#\",\"mask-repeat\":\"<repeat-style>#\",\"mask-size\":\"<bg-size>#\",\"mask-type\":\"luminance|alpha\",\"masonry-auto-flow\":\"[pack|next]||[definite-first|ordered]\",\"math-style\":\"normal|compact\",\"max-block-size\":\"<'max-width'>\",\"max-height\":\"none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )\",\"max-inline-size\":\"<'max-width'>\",\"max-lines\":\"none|<integer>\",\"max-width\":\"none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|<-non-standard-width>\",\"min-block-size\":\"<'min-width'>\",\"min-height\":\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )\",\"min-inline-size\":\"<'min-width'>\",\"min-width\":\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|<-non-standard-width>\",\"mix-blend-mode\":\"<blend-mode>|plus-lighter\",\"object-fit\":\"fill|contain|cover|none|scale-down\",\"object-position\":\"<position>\",offset:\"[<'offset-position'>? [<'offset-path'> [<'offset-distance'>||<'offset-rotate'>]?]?]! [/ <'offset-anchor'>]?\",\"offset-anchor\":\"auto|<position>\",\"offset-distance\":\"<length-percentage>\",\"offset-path\":\"none|ray( [<angle>&&<size>&&contain?] )|<path()>|<url>|[<basic-shape>||<geometry-box>]\",\"offset-position\":\"auto|<position>\",\"offset-rotate\":\"[auto|reverse]||<angle>\",opacity:\"<alpha-value>\",order:\"<integer>\",orphans:\"<integer>\",outline:\"[<'outline-color'>||<'outline-style'>||<'outline-width'>]\",\"outline-color\":\"<color>|invert\",\"outline-offset\":\"<length>\",\"outline-style\":\"auto|<'border-style'>\",\"outline-width\":\"<line-width>\",overflow:\"[visible|hidden|clip|scroll|auto]{1,2}|<-non-standard-overflow>\",\"overflow-anchor\":\"auto|none\",\"overflow-block\":\"visible|hidden|clip|scroll|auto\",\"overflow-clip-box\":\"padding-box|content-box\",\"overflow-clip-margin\":\"<visual-box>||<length [0,∞]>\",\"overflow-inline\":\"visible|hidden|clip|scroll|auto\",\"overflow-wrap\":\"normal|break-word|anywhere\",\"overflow-x\":\"visible|hidden|clip|scroll|auto\",\"overflow-y\":\"visible|hidden|clip|scroll|auto\",\"overscroll-behavior\":\"[contain|none|auto]{1,2}\",\"overscroll-behavior-block\":\"contain|none|auto\",\"overscroll-behavior-inline\":\"contain|none|auto\",\"overscroll-behavior-x\":\"contain|none|auto\",\"overscroll-behavior-y\":\"contain|none|auto\",padding:\"[<length>|<percentage>]{1,4}\",\"padding-block\":\"<'padding-left'>{1,2}\",\"padding-block-end\":\"<'padding-left'>\",\"padding-block-start\":\"<'padding-left'>\",\"padding-bottom\":\"<length>|<percentage>\",\"padding-inline\":\"<'padding-left'>{1,2}\",\"padding-inline-end\":\"<'padding-left'>\",\"padding-inline-start\":\"<'padding-left'>\",\"padding-left\":\"<length>|<percentage>\",\"padding-right\":\"<length>|<percentage>\",\"padding-top\":\"<length>|<percentage>\",\"page-break-after\":\"auto|always|avoid|left|right|recto|verso\",\"page-break-before\":\"auto|always|avoid|left|right|recto|verso\",\"page-break-inside\":\"auto|avoid\",\"paint-order\":\"normal|[fill||stroke||markers]\",perspective:\"none|<length>\",\"perspective-origin\":\"<position>\",\"place-content\":\"<'align-content'> <'justify-content'>?\",\"place-items\":\"<'align-items'> <'justify-items'>?\",\"place-self\":\"<'align-self'> <'justify-self'>?\",\"pointer-events\":\"auto|none|visiblePainted|visibleFill|visibleStroke|visible|painted|fill|stroke|all|inherit\",position:\"static|relative|absolute|sticky|fixed|-webkit-sticky\",quotes:\"none|auto|[<string> <string>]+\",resize:\"none|both|horizontal|vertical|block|inline\",right:\"<length>|<percentage>|auto\",rotate:\"none|<angle>|[x|y|z|<number>{3}]&&<angle>\",\"row-gap\":\"normal|<length-percentage>\",\"ruby-align\":\"start|center|space-between|space-around\",\"ruby-merge\":\"separate|collapse|auto\",\"ruby-position\":\"[alternate||[over|under]]|inter-character\",scale:\"none|<number>{1,3}\",\"scrollbar-color\":\"auto|<color>{2}\",\"scrollbar-gutter\":\"auto|stable&&both-edges?\",\"scrollbar-width\":\"auto|thin|none\",\"scroll-behavior\":\"auto|smooth\",\"scroll-margin\":\"<length>{1,4}\",\"scroll-margin-block\":\"<length>{1,2}\",\"scroll-margin-block-start\":\"<length>\",\"scroll-margin-block-end\":\"<length>\",\"scroll-margin-bottom\":\"<length>\",\"scroll-margin-inline\":\"<length>{1,2}\",\"scroll-margin-inline-start\":\"<length>\",\"scroll-margin-inline-end\":\"<length>\",\"scroll-margin-left\":\"<length>\",\"scroll-margin-right\":\"<length>\",\"scroll-margin-top\":\"<length>\",\"scroll-padding\":\"[auto|<length-percentage>]{1,4}\",\"scroll-padding-block\":\"[auto|<length-percentage>]{1,2}\",\"scroll-padding-block-start\":\"auto|<length-percentage>\",\"scroll-padding-block-end\":\"auto|<length-percentage>\",\"scroll-padding-bottom\":\"auto|<length-percentage>\",\"scroll-padding-inline\":\"[auto|<length-percentage>]{1,2}\",\"scroll-padding-inline-start\":\"auto|<length-percentage>\",\"scroll-padding-inline-end\":\"auto|<length-percentage>\",\"scroll-padding-left\":\"auto|<length-percentage>\",\"scroll-padding-right\":\"auto|<length-percentage>\",\"scroll-padding-top\":\"auto|<length-percentage>\",\"scroll-snap-align\":\"[none|start|end|center]{1,2}\",\"scroll-snap-coordinate\":\"none|<position>#\",\"scroll-snap-destination\":\"<position>\",\"scroll-snap-points-x\":\"none|repeat( <length-percentage> )\",\"scroll-snap-points-y\":\"none|repeat( <length-percentage> )\",\"scroll-snap-stop\":\"normal|always\",\"scroll-snap-type\":\"none|[x|y|block|inline|both] [mandatory|proximity]?\",\"scroll-snap-type-x\":\"none|mandatory|proximity\",\"scroll-snap-type-y\":\"none|mandatory|proximity\",\"shape-image-threshold\":\"<alpha-value>\",\"shape-margin\":\"<length-percentage>\",\"shape-outside\":\"none|[<shape-box>||<basic-shape>]|<image>\",\"tab-size\":\"<integer>|<length>\",\"table-layout\":\"auto|fixed\",\"text-align\":\"start|end|left|right|center|justify|match-parent\",\"text-align-last\":\"auto|start|end|left|right|center|justify\",\"text-combine-upright\":\"none|all|[digits <integer>?]\",\"text-decoration\":\"<'text-decoration-line'>||<'text-decoration-style'>||<'text-decoration-color'>||<'text-decoration-thickness'>\",\"text-decoration-color\":\"<color>\",\"text-decoration-line\":\"none|[underline||overline||line-through||blink]|spelling-error|grammar-error\",\"text-decoration-skip\":\"none|[objects||[spaces|[leading-spaces||trailing-spaces]]||edges||box-decoration]\",\"text-decoration-skip-ink\":\"auto|all|none\",\"text-decoration-style\":\"solid|double|dotted|dashed|wavy\",\"text-decoration-thickness\":\"auto|from-font|<length>|<percentage>\",\"text-emphasis\":\"<'text-emphasis-style'>||<'text-emphasis-color'>\",\"text-emphasis-color\":\"<color>\",\"text-emphasis-position\":\"[over|under]&&[right|left]\",\"text-emphasis-style\":\"none|[[filled|open]||[dot|circle|double-circle|triangle|sesame]]|<string>\",\"text-indent\":\"<length-percentage>&&hanging?&&each-line?\",\"text-justify\":\"auto|inter-character|inter-word|none\",\"text-orientation\":\"mixed|upright|sideways\",\"text-overflow\":\"[clip|ellipsis|<string>]{1,2}\",\"text-rendering\":\"auto|optimizeSpeed|optimizeLegibility|geometricPrecision\",\"text-shadow\":\"none|<shadow-t>#\",\"text-size-adjust\":\"none|auto|<percentage>\",\"text-transform\":\"none|capitalize|uppercase|lowercase|full-width|full-size-kana\",\"text-underline-offset\":\"auto|<length>|<percentage>\",\"text-underline-position\":\"auto|from-font|[under||[left|right]]\",top:\"<length>|<percentage>|auto\",\"touch-action\":\"auto|none|[[pan-x|pan-left|pan-right]||[pan-y|pan-up|pan-down]||pinch-zoom]|manipulation\",transform:\"none|<transform-list>\",\"transform-box\":\"content-box|border-box|fill-box|stroke-box|view-box\",\"transform-origin\":\"[<length-percentage>|left|center|right|top|bottom]|[[<length-percentage>|left|center|right]&&[<length-percentage>|top|center|bottom]] <length>?\",\"transform-style\":\"flat|preserve-3d\",transition:\"<single-transition>#\",\"transition-delay\":\"<time>#\",\"transition-duration\":\"<time>#\",\"transition-property\":\"none|<single-transition-property>#\",\"transition-timing-function\":\"<easing-function>#\",translate:\"none|<length-percentage> [<length-percentage> <length>?]?\",\"unicode-bidi\":\"normal|embed|isolate|bidi-override|isolate-override|plaintext|-moz-isolate|-moz-isolate-override|-moz-plaintext|-webkit-isolate|-webkit-isolate-override|-webkit-plaintext\",\"user-select\":\"auto|text|none|contain|all\",\"vertical-align\":\"baseline|sub|super|text-top|text-bottom|middle|top|bottom|<percentage>|<length>\",visibility:\"visible|hidden|collapse\",\"white-space\":\"normal|pre|nowrap|pre-wrap|pre-line|break-spaces\",widows:\"<integer>\",width:\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|fill|stretch|intrinsic|-moz-max-content|-webkit-max-content|-moz-fit-content|-webkit-fit-content\",\"will-change\":\"auto|<animateable-feature>#\",\"word-break\":\"normal|break-all|keep-all|break-word\",\"word-spacing\":\"normal|<length>\",\"word-wrap\":\"normal|break-word\",\"writing-mode\":\"horizontal-tb|vertical-rl|vertical-lr|sideways-rl|sideways-lr|<svg-writing-mode>\",\"z-index\":\"auto|<integer>\",zoom:\"normal|reset|<number>|<percentage>\",\"-moz-background-clip\":\"padding|border\",\"-moz-border-radius-bottomleft\":\"<'border-bottom-left-radius'>\",\"-moz-border-radius-bottomright\":\"<'border-bottom-right-radius'>\",\"-moz-border-radius-topleft\":\"<'border-top-left-radius'>\",\"-moz-border-radius-topright\":\"<'border-bottom-right-radius'>\",\"-moz-control-character-visibility\":\"visible|hidden\",\"-moz-osx-font-smoothing\":\"auto|grayscale\",\"-moz-user-select\":\"none|text|all|-moz-none\",\"-ms-flex-align\":\"start|end|center|baseline|stretch\",\"-ms-flex-item-align\":\"auto|start|end|center|baseline|stretch\",\"-ms-flex-line-pack\":\"start|end|center|justify|distribute|stretch\",\"-ms-flex-negative\":\"<'flex-shrink'>\",\"-ms-flex-pack\":\"start|end|center|justify|distribute\",\"-ms-flex-order\":\"<integer>\",\"-ms-flex-positive\":\"<'flex-grow'>\",\"-ms-flex-preferred-size\":\"<'flex-basis'>\",\"-ms-interpolation-mode\":\"nearest-neighbor|bicubic\",\"-ms-grid-column-align\":\"start|end|center|stretch\",\"-ms-grid-row-align\":\"start|end|center|stretch\",\"-ms-hyphenate-limit-last\":\"none|always|column|page|spread\",\"-webkit-background-clip\":\"[<box>|border|padding|content|text]#\",\"-webkit-column-break-after\":\"always|auto|avoid\",\"-webkit-column-break-before\":\"always|auto|avoid\",\"-webkit-column-break-inside\":\"always|auto|avoid\",\"-webkit-font-smoothing\":\"auto|none|antialiased|subpixel-antialiased\",\"-webkit-mask-box-image\":\"[<url>|<gradient>|none] [<length-percentage>{4} <-webkit-mask-box-repeat>{2}]?\",\"-webkit-print-color-adjust\":\"economy|exact\",\"-webkit-text-security\":\"none|circle|disc|square\",\"-webkit-user-drag\":\"none|element|auto\",\"-webkit-user-select\":\"auto|none|text|all\",\"alignment-baseline\":\"auto|baseline|before-edge|text-before-edge|middle|central|after-edge|text-after-edge|ideographic|alphabetic|hanging|mathematical\",\"baseline-shift\":\"baseline|sub|super|<svg-length>\",behavior:\"<url>+\",\"clip-rule\":\"nonzero|evenodd\",cue:\"<'cue-before'> <'cue-after'>?\",\"cue-after\":\"<url> <decibel>?|none\",\"cue-before\":\"<url> <decibel>?|none\",\"dominant-baseline\":\"auto|use-script|no-change|reset-size|ideographic|alphabetic|hanging|mathematical|central|middle|text-after-edge|text-before-edge\",fill:\"<paint>\",\"fill-opacity\":\"<number-zero-one>\",\"fill-rule\":\"nonzero|evenodd\",\"glyph-orientation-horizontal\":\"<angle>\",\"glyph-orientation-vertical\":\"<angle>\",kerning:\"auto|<svg-length>\",marker:\"none|<url>\",\"marker-end\":\"none|<url>\",\"marker-mid\":\"none|<url>\",\"marker-start\":\"none|<url>\",pause:\"<'pause-before'> <'pause-after'>?\",\"pause-after\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",\"pause-before\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",rest:\"<'rest-before'> <'rest-after'>?\",\"rest-after\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",\"rest-before\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",\"shape-rendering\":\"auto|optimizeSpeed|crispEdges|geometricPrecision\",src:\"[<url> [format( <string># )]?|local( <family-name> )]#\",speak:\"auto|none|normal\",\"speak-as\":\"normal|spell-out||digits||[literal-punctuation|no-punctuation]\",stroke:\"<paint>\",\"stroke-dasharray\":\"none|[<svg-length>+]#\",\"stroke-dashoffset\":\"<svg-length>\",\"stroke-linecap\":\"butt|round|square\",\"stroke-linejoin\":\"miter|round|bevel\",\"stroke-miterlimit\":\"<number-one-or-greater>\",\"stroke-opacity\":\"<number-zero-one>\",\"stroke-width\":\"<svg-length>\",\"text-anchor\":\"start|middle|end\",\"unicode-range\":\"<urange>#\",\"voice-balance\":\"<number>|left|center|right|leftwards|rightwards\",\"voice-duration\":\"auto|<time>\",\"voice-family\":\"[[<family-name>|<generic-voice>] ,]* [<family-name>|<generic-voice>]|preserve\",\"voice-pitch\":\"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]\",\"voice-range\":\"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]\",\"voice-rate\":\"[normal|x-slow|slow|medium|fast|x-fast]||<percentage>\",\"voice-stress\":\"normal|strong|moderate|none|reduced\",\"voice-volume\":\"silent|[[x-soft|soft|medium|loud|x-loud]||<decibel>]\"},atrules:{charset:{prelude:\"<string>\",descriptors:null},\"counter-style\":{prelude:\"<counter-style-name>\",descriptors:{\"additive-symbols\":\"[<integer>&&<symbol>]#\",fallback:\"<counter-style-name>\",negative:\"<symbol> <symbol>?\",pad:\"<integer>&&<symbol>\",prefix:\"<symbol>\",range:\"[[<integer>|infinite]{2}]#|auto\",\"speak-as\":\"auto|bullets|numbers|words|spell-out|<counter-style-name>\",suffix:\"<symbol>\",symbols:\"<symbol>+\",system:\"cyclic|numeric|alphabetic|symbolic|additive|[fixed <integer>?]|[extends <counter-style-name>]\"}},document:{prelude:\"[<url>|url-prefix( <string> )|domain( <string> )|media-document( <string> )|regexp( <string> )]#\",descriptors:null},\"font-face\":{prelude:null,descriptors:{\"ascent-override\":\"normal|<percentage>\",\"descent-override\":\"normal|<percentage>\",\"font-display\":\"[auto|block|swap|fallback|optional]\",\"font-family\":\"<family-name>\",\"font-feature-settings\":\"normal|<feature-tag-value>#\",\"font-variation-settings\":\"normal|[<string> <number>]#\",\"font-stretch\":\"<font-stretch-absolute>{1,2}\",\"font-style\":\"normal|italic|oblique <angle>{0,2}\",\"font-weight\":\"<font-weight-absolute>{1,2}\",\"font-variant\":\"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]\",\"line-gap-override\":\"normal|<percentage>\",\"size-adjust\":\"<percentage>\",src:\"[<url> [format( <string># )]?|local( <family-name> )]#\",\"unicode-range\":\"<urange>#\"}},\"font-feature-values\":{prelude:\"<family-name>#\",descriptors:null},import:{prelude:\"[<string>|<url>] [layer|layer( <layer-name> )]? [supports( [<supports-condition>|<declaration>] )]? <media-query-list>?\",descriptors:null},keyframes:{prelude:\"<keyframes-name>\",descriptors:null},layer:{prelude:\"[<layer-name>#|<layer-name>?]\",descriptors:null},media:{prelude:\"<media-query-list>\",descriptors:null},namespace:{prelude:\"<namespace-prefix>? [<string>|<url>]\",descriptors:null},page:{prelude:\"<page-selector-list>\",descriptors:{bleed:\"auto|<length>\",marks:\"none|[crop||cross]\",size:\"<length>{1,2}|auto|[<page-size>||[portrait|landscape]]\"}},property:{prelude:\"<custom-property-name>\",descriptors:{syntax:\"<string>\",inherits:\"true|false\",\"initial-value\":\"<string>\"}},\"scroll-timeline\":{prelude:\"<timeline-name>\",descriptors:null},supports:{prelude:\"<supports-condition>\",descriptors:null},viewport:{prelude:null,descriptors:{height:\"<viewport-length>{1,2}\",\"max-height\":\"<viewport-length>\",\"max-width\":\"<viewport-length>\",\"max-zoom\":\"auto|<number>|<percentage>\",\"min-height\":\"<viewport-length>\",\"min-width\":\"<viewport-length>\",\"min-zoom\":\"auto|<number>|<percentage>\",orientation:\"auto|portrait|landscape\",\"user-zoom\":\"zoom|fixed\",\"viewport-fit\":\"auto|contain|cover\",width:\"<viewport-length>{1,2}\",zoom:\"auto|<number>|<percentage>\"}}}}\nconst PLUSSIGN$5=0x002B\nconst HYPHENMINUS$2=0x002D\nconst N=0x006E\nconst DISALLOW_SIGN=true\nconst ALLOW_SIGN=false\nfunction checkInteger(offset,disallowSign){let pos=this.tokenStart+offset\nconst code=this.charCodeAt(pos)\nif(code===PLUSSIGN$5||code===HYPHENMINUS$2){disallowSign&&this.error(\"Number sign is not allowed\")\npos++}for(;pos<this.tokenEnd;pos++)isDigit$1(this.charCodeAt(pos))||this.error(\"Integer is expected\",pos)}function checkTokenIsInteger(disallowSign){return checkInteger.call(this,0,disallowSign)}function expectCharCode(offset,code){if(!this.cmpChar(this.tokenStart+offset,code)){let msg=\"\"\nswitch(code){case N:msg=\"N is expected\"\nbreak\ncase HYPHENMINUS$2:msg=\"HyphenMinus is expected\"\nbreak}this.error(msg,this.tokenStart+offset)}}function consumeB(){let offset=0\nlet sign=0\nlet type=this.tokenType\nwhile(type===WhiteSpace$1||type===Comment$1)type=this.lookupType(++offset)\nif(type!==Number$3){if(!this.isDelim(PLUSSIGN$5,offset)&&!this.isDelim(HYPHENMINUS$2,offset))return null\nsign=this.isDelim(PLUSSIGN$5,offset)?PLUSSIGN$5:HYPHENMINUS$2\ndo{type=this.lookupType(++offset)}while(type===WhiteSpace$1||type===Comment$1)\nif(type!==Number$3){this.skip(offset)\ncheckTokenIsInteger.call(this,DISALLOW_SIGN)}}offset>0&&this.skip(offset)\nif(sign===0){type=this.charCodeAt(this.tokenStart)\ntype!==PLUSSIGN$5&&type!==HYPHENMINUS$2&&this.error(\"Number sign is expected\")}checkTokenIsInteger.call(this,sign!==0)\nreturn sign===HYPHENMINUS$2?\"-\"+this.consume(Number$3):this.consume(Number$3)}const name$1p=\"AnPlusB\"\nconst structure$D={a:[String,null],b:[String,null]}\nfunction parse$G(){const start=this.tokenStart\nlet a=null\nlet b=null\nif(this.tokenType===Number$3){checkTokenIsInteger.call(this,ALLOW_SIGN)\nb=this.consume(Number$3)}else if(this.tokenType===Ident&&this.cmpChar(this.tokenStart,HYPHENMINUS$2)){a=\"-1\"\nexpectCharCode.call(this,1,N)\nswitch(this.tokenEnd-this.tokenStart){case 2:this.next()\nb=consumeB.call(this)\nbreak\ncase 3:expectCharCode.call(this,2,HYPHENMINUS$2)\nthis.next()\nthis.skipSC()\ncheckTokenIsInteger.call(this,DISALLOW_SIGN)\nb=\"-\"+this.consume(Number$3)\nbreak\ndefault:expectCharCode.call(this,2,HYPHENMINUS$2)\ncheckInteger.call(this,3,DISALLOW_SIGN)\nthis.next()\nb=this.substrToCursor(start+2)}}else if(this.tokenType===Ident||this.isDelim(PLUSSIGN$5)&&this.lookupType(1)===Ident){let sign=0\na=\"1\"\nif(this.isDelim(PLUSSIGN$5)){sign=1\nthis.next()}expectCharCode.call(this,0,N)\nswitch(this.tokenEnd-this.tokenStart){case 1:this.next()\nb=consumeB.call(this)\nbreak\ncase 2:expectCharCode.call(this,1,HYPHENMINUS$2)\nthis.next()\nthis.skipSC()\ncheckTokenIsInteger.call(this,DISALLOW_SIGN)\nb=\"-\"+this.consume(Number$3)\nbreak\ndefault:expectCharCode.call(this,1,HYPHENMINUS$2)\ncheckInteger.call(this,2,DISALLOW_SIGN)\nthis.next()\nb=this.substrToCursor(start+sign+1)}}else if(this.tokenType===Dimension$1){const code=this.charCodeAt(this.tokenStart)\nconst sign=code===PLUSSIGN$5||code===HYPHENMINUS$2\nlet i=this.tokenStart+sign\nfor(;i<this.tokenEnd;i++)if(!isDigit$1(this.charCodeAt(i)))break\ni===this.tokenStart+sign&&this.error(\"Integer is expected\",this.tokenStart+sign)\nexpectCharCode.call(this,i-this.tokenStart,N)\na=this.substring(start,i)\nif(i+1===this.tokenEnd){this.next()\nb=consumeB.call(this)}else{expectCharCode.call(this,i-this.tokenStart+1,HYPHENMINUS$2)\nif(i+2===this.tokenEnd){this.next()\nthis.skipSC()\ncheckTokenIsInteger.call(this,DISALLOW_SIGN)\nb=\"-\"+this.consume(Number$3)}else{checkInteger.call(this,i-this.tokenStart+2,DISALLOW_SIGN)\nthis.next()\nb=this.substrToCursor(i+1)}}}else this.error()\na!==null&&a.charCodeAt(0)===PLUSSIGN$5&&(a=a.substr(1))\nb!==null&&b.charCodeAt(0)===PLUSSIGN$5&&(b=b.substr(1))\nreturn{type:\"AnPlusB\",loc:this.getLocation(start,this.tokenStart),a:a,b:b}}function generate$G(node){if(node.a){const a=(node.a===\"+1\"||node.a===\"1\"?\"n\":node.a===\"-1\"&&\"-n\")||node.a+\"n\"\nif(node.b){const b=node.b[0]===\"-\"||node.b[0]===\"+\"?node.b:\"+\"+node.b\nthis.tokenize(a+b)}else this.tokenize(a)}else this.tokenize(node.b)}var AnPlusB=Object.freeze({__proto__:null,generate:generate$G,name:name$1p,parse:parse$G,structure:structure$D})\nfunction consumeRaw$5(startToken){return this.Raw(startToken,this.consumeUntilLeftCurlyBracketOrSemicolon,true)}function isDeclarationBlockAtrule(){for(let offset=1,type;type=this.lookupType(offset);offset++){if(type===RightCurlyBracket)return true\nif(type===LeftCurlyBracket||type===AtKeyword)return false}return false}const name$1o=\"Atrule\"\nconst walkContext$9=\"atrule\"\nconst structure$C={name:String,prelude:[\"AtrulePrelude\",\"Raw\",null],block:[\"Block\",null]}\nfunction parse$F(){const start=this.tokenStart\nlet name\nlet nameLowerCase\nlet prelude=null\nlet block=null\nthis.eat(AtKeyword)\nname=this.substrToCursor(start+1)\nnameLowerCase=name.toLowerCase()\nthis.skipSC()\nif(this.eof===false&&this.tokenType!==LeftCurlyBracket&&this.tokenType!==Semicolon){prelude=this.parseAtrulePrelude?this.parseWithFallback(this.AtrulePrelude.bind(this,name),consumeRaw$5):consumeRaw$5.call(this,this.tokenIndex)\nthis.skipSC()}switch(this.tokenType){case Semicolon:this.next()\nbreak\ncase LeftCurlyBracket:block=hasOwnProperty.call(this.atrule,nameLowerCase)&&typeof this.atrule[nameLowerCase].block===\"function\"?this.atrule[nameLowerCase].block.call(this):this.Block(isDeclarationBlockAtrule.call(this))\nbreak}return{type:\"Atrule\",loc:this.getLocation(start,this.tokenStart),name:name,prelude:prelude,block:block}}function generate$F(node){this.token(AtKeyword,\"@\"+node.name)\nnode.prelude!==null&&this.node(node.prelude)\nnode.block?this.node(node.block):this.token(Semicolon,\";\")}var Atrule$1=Object.freeze({__proto__:null,generate:generate$F,name:name$1o,parse:parse$F,structure:structure$C,walkContext:walkContext$9})\nconst name$1n=\"AtrulePrelude\"\nconst walkContext$8=\"atrulePrelude\"\nconst structure$B={children:[[]]}\nfunction parse$E(name){let children=null\nname!==null&&(name=name.toLowerCase())\nthis.skipSC()\nchildren=hasOwnProperty.call(this.atrule,name)&&typeof this.atrule[name].prelude===\"function\"?this.atrule[name].prelude.call(this):this.readSequence(this.scope.AtrulePrelude)\nthis.skipSC()\nthis.eof!==true&&this.tokenType!==LeftCurlyBracket&&this.tokenType!==Semicolon&&this.error(\"Semicolon or block is expected\")\nreturn{type:\"AtrulePrelude\",loc:this.getLocationFromList(children),children:children}}function generate$E(node){this.children(node)}var AtrulePrelude=Object.freeze({__proto__:null,generate:generate$E,name:name$1n,parse:parse$E,structure:structure$B,walkContext:walkContext$8})\nconst DOLLARSIGN$1=0x0024\nconst ASTERISK$5=0x002A\nconst EQUALSSIGN=0x003D\nconst CIRCUMFLEXACCENT=0x005E\nconst VERTICALLINE$2=0x007C\nconst TILDE$2=0x007E\nfunction getAttributeName(){this.eof&&this.error(\"Unexpected end of input\")\nconst start=this.tokenStart\nlet expectIdent=false\nif(this.isDelim(ASTERISK$5)){expectIdent=true\nthis.next()}else this.isDelim(VERTICALLINE$2)||this.eat(Ident)\nif(this.isDelim(VERTICALLINE$2))if(this.charCodeAt(this.tokenStart+1)!==EQUALSSIGN){this.next()\nthis.eat(Ident)}else expectIdent&&this.error(\"Identifier is expected\",this.tokenEnd)\nelse expectIdent&&this.error(\"Vertical line is expected\")\nreturn{type:\"Identifier\",loc:this.getLocation(start,this.tokenStart),name:this.substrToCursor(start)}}function getOperator(){const start=this.tokenStart\nconst code=this.charCodeAt(start)\ncode!==EQUALSSIGN&&code!==TILDE$2&&code!==CIRCUMFLEXACCENT&&code!==DOLLARSIGN$1&&code!==ASTERISK$5&&code!==VERTICALLINE$2&&this.error(\"Attribute selector (=, ~=, ^=, $=, *=, |=) is expected\")\nthis.next()\nif(code!==EQUALSSIGN){this.isDelim(EQUALSSIGN)||this.error(\"Equal sign is expected\")\nthis.next()}return this.substrToCursor(start)}const name$1m=\"AttributeSelector\"\nconst structure$A={name:\"Identifier\",matcher:[String,null],value:[\"String\",\"Identifier\",null],flags:[String,null]}\nfunction parse$D(){const start=this.tokenStart\nlet name\nlet matcher=null\nlet value=null\nlet flags=null\nthis.eat(LeftSquareBracket)\nthis.skipSC()\nname=getAttributeName.call(this)\nthis.skipSC()\nif(this.tokenType!==RightSquareBracket){if(this.tokenType!==Ident){matcher=getOperator.call(this)\nthis.skipSC()\nvalue=this.tokenType===String$2?this.String():this.Identifier()\nthis.skipSC()}if(this.tokenType===Ident){flags=this.consume(Ident)\nthis.skipSC()}}this.eat(RightSquareBracket)\nreturn{type:\"AttributeSelector\",loc:this.getLocation(start,this.tokenStart),name:name,matcher:matcher,value:value,flags:flags}}function generate$D(node){this.token(Delim,\"[\")\nthis.node(node.name)\nif(node.matcher!==null){this.tokenize(node.matcher)\nthis.node(node.value)}node.flags!==null&&this.token(Ident,node.flags)\nthis.token(Delim,\"]\")}var AttributeSelector$1=Object.freeze({__proto__:null,generate:generate$D,name:name$1m,parse:parse$D,structure:structure$A})\nfunction consumeRaw$4(startToken){return this.Raw(startToken,null,true)}function consumeRule(){return this.parseWithFallback(this.Rule,consumeRaw$4)}function consumeRawDeclaration(startToken){return this.Raw(startToken,this.consumeUntilSemicolonIncluded,true)}function consumeDeclaration(){if(this.tokenType===Semicolon)return consumeRawDeclaration.call(this,this.tokenIndex)\nconst node=this.parseWithFallback(this.Declaration,consumeRawDeclaration)\nthis.tokenType===Semicolon&&this.next()\nreturn node}const name$1l=\"Block\"\nconst walkContext$7=\"block\"\nconst structure$z={children:[[\"Atrule\",\"Rule\",\"Declaration\"]]}\nfunction parse$C(isDeclaration){const consumer=isDeclaration?consumeDeclaration:consumeRule\nconst start=this.tokenStart\nlet children=this.createList()\nthis.eat(LeftCurlyBracket)\nscan:while(!this.eof)switch(this.tokenType){case RightCurlyBracket:break scan\ncase WhiteSpace$1:case Comment$1:this.next()\nbreak\ncase AtKeyword:children.push(this.parseWithFallback(this.Atrule,consumeRaw$4))\nbreak\ndefault:children.push(consumer.call(this))}this.eof||this.eat(RightCurlyBracket)\nreturn{type:\"Block\",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$C(node){this.token(LeftCurlyBracket,\"{\")\nthis.children(node,(prev=>{prev.type===\"Declaration\"&&this.token(Semicolon,\";\")}))\nthis.token(RightCurlyBracket,\"}\")}var Block=Object.freeze({__proto__:null,generate:generate$C,name:name$1l,parse:parse$C,structure:structure$z,walkContext:walkContext$7})\nconst name$1k=\"Brackets\"\nconst structure$y={children:[[]]}\nfunction parse$B(readSequence,recognizer){const start=this.tokenStart\nlet children=null\nthis.eat(LeftSquareBracket)\nchildren=readSequence.call(this,recognizer)\nthis.eof||this.eat(RightSquareBracket)\nreturn{type:\"Brackets\",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$B(node){this.token(Delim,\"[\")\nthis.children(node)\nthis.token(Delim,\"]\")}var Brackets=Object.freeze({__proto__:null,generate:generate$B,name:name$1k,parse:parse$B,structure:structure$y})\nconst name$1j=\"CDC\"\nconst structure$x=[]\nfunction parse$A(){const start=this.tokenStart\nthis.eat(CDC$1)\nreturn{type:\"CDC\",loc:this.getLocation(start,this.tokenStart)}}function generate$A(){this.token(CDC$1,\"--\\x3e\")}var CDC=Object.freeze({__proto__:null,generate:generate$A,name:name$1j,parse:parse$A,structure:structure$x})\nconst name$1i=\"CDO\"\nconst structure$w=[]\nfunction parse$z(){const start=this.tokenStart\nthis.eat(CDO$1)\nreturn{type:\"CDO\",loc:this.getLocation(start,this.tokenStart)}}function generate$z(){this.token(CDO$1,\"\\x3c!--\")}var CDO=Object.freeze({__proto__:null,generate:generate$z,name:name$1i,parse:parse$z,structure:structure$w})\nconst FULLSTOP$2=0x002E\nconst name$1h=\"ClassSelector\"\nconst structure$v={name:String}\nfunction parse$y(){this.eatDelim(FULLSTOP$2)\nreturn{type:\"ClassSelector\",loc:this.getLocation(this.tokenStart-1,this.tokenEnd),name:this.consume(Ident)}}function generate$y(node){this.token(Delim,\".\")\nthis.token(Ident,node.name)}var ClassSelector=Object.freeze({__proto__:null,generate:generate$y,name:name$1h,parse:parse$y,structure:structure$v})\nconst PLUSSIGN$4=0x002B\nconst SOLIDUS$5=0x002F\nconst GREATERTHANSIGN$1=0x003E\nconst TILDE$1=0x007E\nconst name$1g=\"Combinator\"\nconst structure$u={name:String}\nfunction parse$x(){const start=this.tokenStart\nlet name\nswitch(this.tokenType){case WhiteSpace$1:name=\" \"\nbreak\ncase Delim:switch(this.charCodeAt(this.tokenStart)){case GREATERTHANSIGN$1:case PLUSSIGN$4:case TILDE$1:this.next()\nbreak\ncase SOLIDUS$5:this.next()\nthis.eatIdent(\"deep\")\nthis.eatDelim(SOLIDUS$5)\nbreak\ndefault:this.error(\"Combinator is expected\")}name=this.substrToCursor(start)\nbreak}return{type:\"Combinator\",loc:this.getLocation(start,this.tokenStart),name:name}}function generate$x(node){this.tokenize(node.name)}var Combinator=Object.freeze({__proto__:null,generate:generate$x,name:name$1g,parse:parse$x,structure:structure$u})\nconst ASTERISK$4=0x002A\nconst SOLIDUS$4=0x002F\nconst name$1f=\"Comment\"\nconst structure$t={value:String}\nfunction parse$w(){const start=this.tokenStart\nlet end=this.tokenEnd\nthis.eat(Comment$1)\nend-start+2>=2&&this.charCodeAt(end-2)===ASTERISK$4&&this.charCodeAt(end-1)===SOLIDUS$4&&(end-=2)\nreturn{type:\"Comment\",loc:this.getLocation(start,this.tokenStart),value:this.substring(start+2,end)}}function generate$w(node){this.token(Comment$1,\"/*\"+node.value+\"*/\")}var Comment=Object.freeze({__proto__:null,generate:generate$w,name:name$1f,parse:parse$w,structure:structure$t})\nconst EXCLAMATIONMARK$1=0x0021\nconst NUMBERSIGN$2=0x0023\nconst DOLLARSIGN=0x0024\nconst AMPERSAND=0x0026\nconst ASTERISK$3=0x002A\nconst PLUSSIGN$3=0x002B\nconst SOLIDUS$3=0x002F\nfunction consumeValueRaw(startToken){return this.Raw(startToken,this.consumeUntilExclamationMarkOrSemicolon,true)}function consumeCustomPropertyRaw(startToken){return this.Raw(startToken,this.consumeUntilExclamationMarkOrSemicolon,false)}function consumeValue(){const startValueToken=this.tokenIndex\nconst value=this.Value()\nvalue.type!==\"Raw\"&&this.eof===false&&this.tokenType!==Semicolon&&this.isDelim(EXCLAMATIONMARK$1)===false&&this.isBalanceEdge(startValueToken)===false&&this.error()\nreturn value}const name$1e=\"Declaration\"\nconst walkContext$6=\"declaration\"\nconst structure$s={important:[Boolean,String],property:String,value:[\"Value\",\"Raw\"]}\nfunction parse$v(){const start=this.tokenStart\nconst startToken=this.tokenIndex\nconst property=readProperty.call(this)\nconst customProperty=isCustomProperty(property)\nconst parseValue=customProperty?this.parseCustomProperty:this.parseValue\nconst consumeRaw=customProperty?consumeCustomPropertyRaw:consumeValueRaw\nlet important=false\nlet value\nthis.skipSC()\nthis.eat(Colon)\nconst valueStart=this.tokenIndex\ncustomProperty||this.skipSC()\nvalue=parseValue?this.parseWithFallback(consumeValue,consumeRaw):consumeRaw.call(this,this.tokenIndex)\nif(customProperty&&value.type===\"Value\"&&value.children.isEmpty)for(let offset=valueStart-this.tokenIndex;offset<=0;offset++)if(this.lookupType(offset)===WhiteSpace$1){value.children.appendData({type:\"WhiteSpace\",loc:null,value:\" \"})\nbreak}if(this.isDelim(EXCLAMATIONMARK$1)){important=getImportant.call(this)\nthis.skipSC()}this.eof===false&&this.tokenType!==Semicolon&&this.isBalanceEdge(startToken)===false&&this.error()\nreturn{type:\"Declaration\",loc:this.getLocation(start,this.tokenStart),important:important,property:property,value:value}}function generate$v(node){this.token(Ident,node.property)\nthis.token(Colon,\":\")\nthis.node(node.value)\nif(node.important){this.token(Delim,\"!\")\nthis.token(Ident,node.important===true?\"important\":node.important)}}function readProperty(){const start=this.tokenStart\nif(this.tokenType===Delim)switch(this.charCodeAt(this.tokenStart)){case ASTERISK$3:case DOLLARSIGN:case PLUSSIGN$3:case NUMBERSIGN$2:case AMPERSAND:this.next()\nbreak\ncase SOLIDUS$3:this.next()\nthis.isDelim(SOLIDUS$3)&&this.next()\nbreak}this.tokenType===Hash$1?this.eat(Hash$1):this.eat(Ident)\nreturn this.substrToCursor(start)}function getImportant(){this.eat(Delim)\nthis.skipSC()\nconst important=this.consume(Ident)\nreturn important===\"important\"||important}var Declaration=Object.freeze({__proto__:null,generate:generate$v,name:name$1e,parse:parse$v,structure:structure$s,walkContext:walkContext$6})\nfunction consumeRaw$3(startToken){return this.Raw(startToken,this.consumeUntilSemicolonIncluded,true)}const name$1d=\"DeclarationList\"\nconst structure$r={children:[[\"Declaration\"]]}\nfunction parse$u(){const children=this.createList()\nwhile(!this.eof)switch(this.tokenType){case WhiteSpace$1:case Comment$1:case Semicolon:this.next()\nbreak\ndefault:children.push(this.parseWithFallback(this.Declaration,consumeRaw$3))}return{type:\"DeclarationList\",loc:this.getLocationFromList(children),children:children}}function generate$u(node){this.children(node,(prev=>{prev.type===\"Declaration\"&&this.token(Semicolon,\";\")}))}var DeclarationList=Object.freeze({__proto__:null,generate:generate$u,name:name$1d,parse:parse$u,structure:structure$r})\nconst name$1c=\"Dimension\"\nconst structure$q={value:String,unit:String}\nfunction parse$t(){const start=this.tokenStart\nconst value=this.consumeNumber(Dimension$1)\nreturn{type:\"Dimension\",loc:this.getLocation(start,this.tokenStart),value:value,unit:this.substring(start+value.length,this.tokenStart)}}function generate$t(node){this.token(Dimension$1,node.value+node.unit)}var Dimension=Object.freeze({__proto__:null,generate:generate$t,name:name$1c,parse:parse$t,structure:structure$q})\nconst name$1b=\"Function\"\nconst walkContext$5=\"function\"\nconst structure$p={name:String,children:[[]]}\nfunction parse$s(readSequence,recognizer){const start=this.tokenStart\nconst name=this.consumeFunctionName()\nconst nameLowerCase=name.toLowerCase()\nlet children\nchildren=recognizer.hasOwnProperty(nameLowerCase)?recognizer[nameLowerCase].call(this,recognizer):readSequence.call(this,recognizer)\nthis.eof||this.eat(RightParenthesis)\nreturn{type:\"Function\",loc:this.getLocation(start,this.tokenStart),name:name,children:children}}function generate$s(node){this.token(Function$1,node.name+\"(\")\nthis.children(node)\nthis.token(RightParenthesis,\")\")}var Function=Object.freeze({__proto__:null,generate:generate$s,name:name$1b,parse:parse$s,structure:structure$p,walkContext:walkContext$5})\nconst xxx=\"XXX\"\nconst name$1a=\"Hash\"\nconst structure$o={value:String}\nfunction parse$r(){const start=this.tokenStart\nthis.eat(Hash$1)\nreturn{type:\"Hash\",loc:this.getLocation(start,this.tokenStart),value:this.substrToCursor(start+1)}}function generate$r(node){this.token(Hash$1,\"#\"+node.value)}var Hash=Object.freeze({__proto__:null,generate:generate$r,name:name$1a,parse:parse$r,structure:structure$o,xxx:xxx})\nconst name$19=\"Identifier\"\nconst structure$n={name:String}\nfunction parse$q(){return{type:\"Identifier\",loc:this.getLocation(this.tokenStart,this.tokenEnd),name:this.consume(Ident)}}function generate$q(node){this.token(Ident,node.name)}var Identifier=Object.freeze({__proto__:null,generate:generate$q,name:name$19,parse:parse$q,structure:structure$n})\nconst name$18=\"IdSelector\"\nconst structure$m={name:String}\nfunction parse$p(){const start=this.tokenStart\nthis.eat(Hash$1)\nreturn{type:\"IdSelector\",loc:this.getLocation(start,this.tokenStart),name:this.substrToCursor(start+1)}}function generate$p(node){this.token(Delim,\"#\"+node.name)}var IdSelector=Object.freeze({__proto__:null,generate:generate$p,name:name$18,parse:parse$p,structure:structure$m})\nconst name$17=\"MediaFeature\"\nconst structure$l={name:String,value:[\"Identifier\",\"Number\",\"Dimension\",\"Ratio\",null]}\nfunction parse$o(){const start=this.tokenStart\nlet name\nlet value=null\nthis.eat(LeftParenthesis)\nthis.skipSC()\nname=this.consume(Ident)\nthis.skipSC()\nif(this.tokenType!==RightParenthesis){this.eat(Colon)\nthis.skipSC()\nswitch(this.tokenType){case Number$3:value=this.lookupNonWSType(1)===Delim?this.Ratio():this.Number()\nbreak\ncase Dimension$1:value=this.Dimension()\nbreak\ncase Ident:value=this.Identifier()\nbreak\ndefault:this.error(\"Number, dimension, ratio or identifier is expected\")}this.skipSC()}this.eat(RightParenthesis)\nreturn{type:\"MediaFeature\",loc:this.getLocation(start,this.tokenStart),name:name,value:value}}function generate$o(node){this.token(LeftParenthesis,\"(\")\nthis.token(Ident,node.name)\nif(node.value!==null){this.token(Colon,\":\")\nthis.node(node.value)}this.token(RightParenthesis,\")\")}var MediaFeature=Object.freeze({__proto__:null,generate:generate$o,name:name$17,parse:parse$o,structure:structure$l})\nconst name$16=\"MediaQuery\"\nconst structure$k={children:[[\"Identifier\",\"MediaFeature\",\"WhiteSpace\"]]}\nfunction parse$n(){const children=this.createList()\nlet child=null\nthis.skipSC()\nscan:while(!this.eof){switch(this.tokenType){case Comment$1:case WhiteSpace$1:this.next()\ncontinue\ncase Ident:child=this.Identifier()\nbreak\ncase LeftParenthesis:child=this.MediaFeature()\nbreak\ndefault:break scan}children.push(child)}child===null&&this.error(\"Identifier or parenthesis is expected\")\nreturn{type:\"MediaQuery\",loc:this.getLocationFromList(children),children:children}}function generate$n(node){this.children(node)}var MediaQuery=Object.freeze({__proto__:null,generate:generate$n,name:name$16,parse:parse$n,structure:structure$k})\nconst name$15=\"MediaQueryList\"\nconst structure$j={children:[[\"MediaQuery\"]]}\nfunction parse$m(){const children=this.createList()\nthis.skipSC()\nwhile(!this.eof){children.push(this.MediaQuery())\nif(this.tokenType!==Comma)break\nthis.next()}return{type:\"MediaQueryList\",loc:this.getLocationFromList(children),children:children}}function generate$m(node){this.children(node,(()=>this.token(Comma,\",\")))}var MediaQueryList=Object.freeze({__proto__:null,generate:generate$m,name:name$15,parse:parse$m,structure:structure$j})\nconst name$14=\"Nth\"\nconst structure$i={nth:[\"AnPlusB\",\"Identifier\"],selector:[\"SelectorList\",null]}\nfunction parse$l(){this.skipSC()\nconst start=this.tokenStart\nlet end=start\nlet selector=null\nlet nth\nnth=this.lookupValue(0,\"odd\")||this.lookupValue(0,\"even\")?this.Identifier():this.AnPlusB()\nend=this.tokenStart\nthis.skipSC()\nif(this.lookupValue(0,\"of\")){this.next()\nselector=this.SelectorList()\nend=this.tokenStart}return{type:\"Nth\",loc:this.getLocation(start,end),nth:nth,selector:selector}}function generate$l(node){this.node(node.nth)\nif(node.selector!==null){this.token(Ident,\"of\")\nthis.node(node.selector)}}var Nth=Object.freeze({__proto__:null,generate:generate$l,name:name$14,parse:parse$l,structure:structure$i})\nconst name$13=\"Number\"\nconst structure$h={value:String}\nfunction parse$k(){return{type:\"Number\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consume(Number$3)}}function generate$k(node){this.token(Number$3,node.value)}var Number$2=Object.freeze({__proto__:null,generate:generate$k,name:name$13,parse:parse$k,structure:structure$h})\nconst name$12=\"Operator\"\nconst structure$g={value:String}\nfunction parse$j(){const start=this.tokenStart\nthis.next()\nreturn{type:\"Operator\",loc:this.getLocation(start,this.tokenStart),value:this.substrToCursor(start)}}function generate$j(node){this.tokenize(node.value)}var Operator=Object.freeze({__proto__:null,generate:generate$j,name:name$12,parse:parse$j,structure:structure$g})\nconst name$11=\"Parentheses\"\nconst structure$f={children:[[]]}\nfunction parse$i(readSequence,recognizer){const start=this.tokenStart\nlet children=null\nthis.eat(LeftParenthesis)\nchildren=readSequence.call(this,recognizer)\nthis.eof||this.eat(RightParenthesis)\nreturn{type:\"Parentheses\",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$i(node){this.token(LeftParenthesis,\"(\")\nthis.children(node)\nthis.token(RightParenthesis,\")\")}var Parentheses=Object.freeze({__proto__:null,generate:generate$i,name:name$11,parse:parse$i,structure:structure$f})\nconst name$10=\"Percentage\"\nconst structure$e={value:String}\nfunction parse$h(){return{type:\"Percentage\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consumeNumber(Percentage$1)}}function generate$h(node){this.token(Percentage$1,node.value+\"%\")}var Percentage=Object.freeze({__proto__:null,generate:generate$h,name:name$10,parse:parse$h,structure:structure$e})\nconst name$$=\"PseudoClassSelector\"\nconst walkContext$4=\"function\"\nconst structure$d={name:String,children:[[\"Raw\"],null]}\nfunction parse$g(){const start=this.tokenStart\nlet children=null\nlet name\nlet nameLowerCase\nthis.eat(Colon)\nif(this.tokenType===Function$1){name=this.consumeFunctionName()\nnameLowerCase=name.toLowerCase()\nif(hasOwnProperty.call(this.pseudo,nameLowerCase)){this.skipSC()\nchildren=this.pseudo[nameLowerCase].call(this)\nthis.skipSC()}else{children=this.createList()\nchildren.push(this.Raw(this.tokenIndex,null,false))}this.eat(RightParenthesis)}else name=this.consume(Ident)\nreturn{type:\"PseudoClassSelector\",loc:this.getLocation(start,this.tokenStart),name:name,children:children}}function generate$g(node){this.token(Colon,\":\")\nif(node.children===null)this.token(Ident,node.name)\nelse{this.token(Function$1,node.name+\"(\")\nthis.children(node)\nthis.token(RightParenthesis,\")\")}}var PseudoClassSelector=Object.freeze({__proto__:null,generate:generate$g,name:name$$,parse:parse$g,structure:structure$d,walkContext:walkContext$4})\nconst name$_=\"PseudoElementSelector\"\nconst walkContext$3=\"function\"\nconst structure$c={name:String,children:[[\"Raw\"],null]}\nfunction parse$f(){const start=this.tokenStart\nlet children=null\nlet name\nlet nameLowerCase\nthis.eat(Colon)\nthis.eat(Colon)\nif(this.tokenType===Function$1){name=this.consumeFunctionName()\nnameLowerCase=name.toLowerCase()\nif(hasOwnProperty.call(this.pseudo,nameLowerCase)){this.skipSC()\nchildren=this.pseudo[nameLowerCase].call(this)\nthis.skipSC()}else{children=this.createList()\nchildren.push(this.Raw(this.tokenIndex,null,false))}this.eat(RightParenthesis)}else name=this.consume(Ident)\nreturn{type:\"PseudoElementSelector\",loc:this.getLocation(start,this.tokenStart),name:name,children:children}}function generate$f(node){this.token(Colon,\":\")\nthis.token(Colon,\":\")\nif(node.children===null)this.token(Ident,node.name)\nelse{this.token(Function$1,node.name+\"(\")\nthis.children(node)\nthis.token(RightParenthesis,\")\")}}var PseudoElementSelector=Object.freeze({__proto__:null,generate:generate$f,name:name$_,parse:parse$f,structure:structure$c,walkContext:walkContext$3})\nconst SOLIDUS$2=0x002F\nconst FULLSTOP$1=0x002E\nfunction consumeNumber(){this.skipSC()\nconst value=this.consume(Number$3)\nfor(let i=0;i<value.length;i++){const code=value.charCodeAt(i)\nisDigit$1(code)||code===FULLSTOP$1||this.error(\"Unsigned number is expected\",this.tokenStart-value.length+i)}Number(value)===0&&this.error(\"Zero number is not allowed\",this.tokenStart-value.length)\nreturn value}const name$Z=\"Ratio\"\nconst structure$b={left:String,right:String}\nfunction parse$e(){const start=this.tokenStart\nconst left=consumeNumber.call(this)\nlet right\nthis.skipSC()\nthis.eatDelim(SOLIDUS$2)\nright=consumeNumber.call(this)\nreturn{type:\"Ratio\",loc:this.getLocation(start,this.tokenStart),left:left,right:right}}function generate$e(node){this.token(Number$3,node.left)\nthis.token(Delim,\"/\")\nthis.token(Number$3,node.right)}var Ratio=Object.freeze({__proto__:null,generate:generate$e,name:name$Z,parse:parse$e,structure:structure$b})\nfunction getOffsetExcludeWS(){if(this.tokenIndex>0&&this.lookupType(-1)===WhiteSpace$1)return this.tokenIndex>1?this.getTokenStart(this.tokenIndex-1):this.firstCharOffset\nreturn this.tokenStart}const name$Y=\"Raw\"\nconst structure$a={value:String}\nfunction parse$d(startToken,consumeUntil,excludeWhiteSpace){const startOffset=this.getTokenStart(startToken)\nlet endOffset\nthis.skipUntilBalanced(startToken,consumeUntil||this.consumeUntilBalanceEnd)\nendOffset=excludeWhiteSpace&&this.tokenStart>startOffset?getOffsetExcludeWS.call(this):this.tokenStart\nreturn{type:\"Raw\",loc:this.getLocation(startOffset,endOffset),value:this.substring(startOffset,endOffset)}}function generate$d(node){this.tokenize(node.value)}var Raw=Object.freeze({__proto__:null,generate:generate$d,name:name$Y,parse:parse$d,structure:structure$a})\nfunction consumeRaw$2(startToken){return this.Raw(startToken,this.consumeUntilLeftCurlyBracket,true)}function consumePrelude(){const prelude=this.SelectorList()\nprelude.type!==\"Raw\"&&this.eof===false&&this.tokenType!==LeftCurlyBracket&&this.error()\nreturn prelude}const name$X=\"Rule\"\nconst walkContext$2=\"rule\"\nconst structure$9={prelude:[\"SelectorList\",\"Raw\"],block:[\"Block\"]}\nfunction parse$c(){const startToken=this.tokenIndex\nconst startOffset=this.tokenStart\nlet prelude\nlet block\nprelude=this.parseRulePrelude?this.parseWithFallback(consumePrelude,consumeRaw$2):consumeRaw$2.call(this,startToken)\nblock=this.Block(true)\nreturn{type:\"Rule\",loc:this.getLocation(startOffset,this.tokenStart),prelude:prelude,block:block}}function generate$c(node){this.node(node.prelude)\nthis.node(node.block)}var Rule=Object.freeze({__proto__:null,generate:generate$c,name:name$X,parse:parse$c,structure:structure$9,walkContext:walkContext$2})\nconst name$W=\"Selector\"\nconst structure$8={children:[[\"TypeSelector\",\"IdSelector\",\"ClassSelector\",\"AttributeSelector\",\"PseudoClassSelector\",\"PseudoElementSelector\",\"Combinator\",\"WhiteSpace\"]]}\nfunction parse$b(){const children=this.readSequence(this.scope.Selector)\nthis.getFirstListNode(children)===null&&this.error(\"Selector is expected\")\nreturn{type:\"Selector\",loc:this.getLocationFromList(children),children:children}}function generate$b(node){this.children(node)}var Selector=Object.freeze({__proto__:null,generate:generate$b,name:name$W,parse:parse$b,structure:structure$8})\nconst name$V=\"SelectorList\"\nconst walkContext$1=\"selector\"\nconst structure$7={children:[[\"Selector\",\"Raw\"]]}\nfunction parse$a(){const children=this.createList()\nwhile(!this.eof){children.push(this.Selector())\nif(this.tokenType===Comma){this.next()\ncontinue}break}return{type:\"SelectorList\",loc:this.getLocationFromList(children),children:children}}function generate$a(node){this.children(node,(()=>this.token(Comma,\",\")))}var SelectorList=Object.freeze({__proto__:null,generate:generate$a,name:name$V,parse:parse$a,structure:structure$7,walkContext:walkContext$1})\nconst REVERSE_SOLIDUS$1=0x005c\nconst QUOTATION_MARK$1=0x0022\nconst APOSTROPHE$1=0x0027\nfunction decode$1(str){const len=str.length\nconst firstChar=str.charCodeAt(0)\nconst start=firstChar===QUOTATION_MARK$1||firstChar===APOSTROPHE$1?1:0\nconst end=start===1&&len>1&&str.charCodeAt(len-1)===firstChar?len-2:len-1\nlet decoded=\"\"\nfor(let i=start;i<=end;i++){let code=str.charCodeAt(i)\nif(code===REVERSE_SOLIDUS$1){if(i===end){i!==len-1&&(decoded=str.substr(i+1))\nbreak}code=str.charCodeAt(++i)\nif(isValidEscape(REVERSE_SOLIDUS$1,code)){const escapeStart=i-1\nconst escapeEnd=consumeEscaped(str,escapeStart)\ni=escapeEnd-1\ndecoded+=decodeEscaped(str.substring(escapeStart+1,escapeEnd))}else code===0x000d&&str.charCodeAt(i+1)===0x000a&&i++}else decoded+=str[i]}return decoded}function encode$1(str,apostrophe){const quote=apostrophe?\"'\":'\"'\nconst quoteCode=apostrophe?APOSTROPHE$1:QUOTATION_MARK$1\nlet encoded=\"\"\nlet wsBeforeHexIsNeeded=false\nfor(let i=0;i<str.length;i++){const code=str.charCodeAt(i)\nif(code===0x0000){encoded+=\"�\"\ncontinue}if(code<=0x001f||code===0x007F){encoded+=\"\\\\\"+code.toString(16)\nwsBeforeHexIsNeeded=true\ncontinue}if(code===quoteCode||code===REVERSE_SOLIDUS$1){encoded+=\"\\\\\"+str.charAt(i)\nwsBeforeHexIsNeeded=false}else{wsBeforeHexIsNeeded&&(isHexDigit(code)||isWhiteSpace$1(code))&&(encoded+=\" \")\nencoded+=str.charAt(i)\nwsBeforeHexIsNeeded=false}}return quote+encoded+quote}const name$U=\"String\"\nconst structure$6={value:String}\nfunction parse$9(){return{type:\"String\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:decode$1(this.consume(String$2))}}function generate$9(node){this.token(String$2,encode$1(node.value))}var String$1=Object.freeze({__proto__:null,generate:generate$9,name:name$U,parse:parse$9,structure:structure$6})\nconst EXCLAMATIONMARK=0x0021\nfunction consumeRaw$1(startToken){return this.Raw(startToken,null,false)}const name$T=\"StyleSheet\"\nconst walkContext=\"stylesheet\"\nconst structure$5={children:[[\"Comment\",\"CDO\",\"CDC\",\"Atrule\",\"Rule\",\"Raw\"]]}\nfunction parse$8(){const start=this.tokenStart\nconst children=this.createList()\nlet child\nwhile(!this.eof){switch(this.tokenType){case WhiteSpace$1:this.next()\ncontinue\ncase Comment$1:if(this.charCodeAt(this.tokenStart+2)!==EXCLAMATIONMARK){this.next()\ncontinue}child=this.Comment()\nbreak\ncase CDO$1:child=this.CDO()\nbreak\ncase CDC$1:child=this.CDC()\nbreak\ncase AtKeyword:child=this.parseWithFallback(this.Atrule,consumeRaw$1)\nbreak\ndefault:child=this.parseWithFallback(this.Rule,consumeRaw$1)}children.push(child)}return{type:\"StyleSheet\",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$8(node){this.children(node)}var StyleSheet=Object.freeze({__proto__:null,generate:generate$8,name:name$T,parse:parse$8,structure:structure$5,walkContext:walkContext})\nconst ASTERISK$2=0x002A\nconst VERTICALLINE$1=0x007C\nfunction eatIdentifierOrAsterisk(){this.tokenType!==Ident&&this.isDelim(ASTERISK$2)===false&&this.error(\"Identifier or asterisk is expected\")\nthis.next()}const name$S=\"TypeSelector\"\nconst structure$4={name:String}\nfunction parse$7(){const start=this.tokenStart\nif(this.isDelim(VERTICALLINE$1)){this.next()\neatIdentifierOrAsterisk.call(this)}else{eatIdentifierOrAsterisk.call(this)\nif(this.isDelim(VERTICALLINE$1)){this.next()\neatIdentifierOrAsterisk.call(this)}}return{type:\"TypeSelector\",loc:this.getLocation(start,this.tokenStart),name:this.substrToCursor(start)}}function generate$7(node){this.tokenize(node.name)}var TypeSelector=Object.freeze({__proto__:null,generate:generate$7,name:name$S,parse:parse$7,structure:structure$4})\nconst PLUSSIGN$2=0x002B\nconst HYPHENMINUS$1=0x002D\nconst QUESTIONMARK=0x003F\nfunction eatHexSequence(offset,allowDash){let len=0\nfor(let pos=this.tokenStart+offset;pos<this.tokenEnd;pos++){const code=this.charCodeAt(pos)\nif(code===HYPHENMINUS$1&&allowDash&&len!==0){eatHexSequence.call(this,offset+len+1,false)\nreturn-1}isHexDigit(code)||this.error(allowDash&&len!==0?\"Hyphen minus\"+(len<6?\" or hex digit\":\"\")+\" is expected\":len<6?\"Hex digit is expected\":\"Unexpected input\",pos);++len>6&&this.error(\"Too many hex digits\",pos)}this.next()\nreturn len}function eatQuestionMarkSequence(max){let count=0\nwhile(this.isDelim(QUESTIONMARK)){++count>max&&this.error(\"Too many question marks\")\nthis.next()}}function startsWith(code){this.charCodeAt(this.tokenStart)!==code&&this.error((code===PLUSSIGN$2?\"Plus sign\":\"Hyphen minus\")+\" is expected\")}function scanUnicodeRange(){let hexLength=0\nswitch(this.tokenType){case Number$3:hexLength=eatHexSequence.call(this,1,true)\nif(this.isDelim(QUESTIONMARK)){eatQuestionMarkSequence.call(this,6-hexLength)\nbreak}if(this.tokenType===Dimension$1||this.tokenType===Number$3){startsWith.call(this,HYPHENMINUS$1)\neatHexSequence.call(this,1,false)\nbreak}break\ncase Dimension$1:hexLength=eatHexSequence.call(this,1,true)\nhexLength>0&&eatQuestionMarkSequence.call(this,6-hexLength)\nbreak\ndefault:this.eatDelim(PLUSSIGN$2)\nif(this.tokenType===Ident){hexLength=eatHexSequence.call(this,0,true)\nhexLength>0&&eatQuestionMarkSequence.call(this,6-hexLength)\nbreak}if(this.isDelim(QUESTIONMARK)){this.next()\neatQuestionMarkSequence.call(this,5)\nbreak}this.error(\"Hex digit or question mark is expected\")}}const name$R=\"UnicodeRange\"\nconst structure$3={value:String}\nfunction parse$6(){const start=this.tokenStart\nthis.eatIdent(\"u\")\nscanUnicodeRange.call(this)\nreturn{type:\"UnicodeRange\",loc:this.getLocation(start,this.tokenStart),value:this.substrToCursor(start)}}function generate$6(node){this.tokenize(node.value)}var UnicodeRange=Object.freeze({__proto__:null,generate:generate$6,name:name$R,parse:parse$6,structure:structure$3})\nconst SPACE$1=0x0020\nconst REVERSE_SOLIDUS=0x005c\nconst QUOTATION_MARK=0x0022\nconst APOSTROPHE=0x0027\nconst LEFTPARENTHESIS=0x0028\nconst RIGHTPARENTHESIS=0x0029\nfunction decode(str){const len=str.length\nlet start=4\nlet end=str.charCodeAt(len-1)===RIGHTPARENTHESIS?len-2:len-1\nlet decoded=\"\"\nwhile(start<end&&isWhiteSpace$1(str.charCodeAt(start)))start++\nwhile(start<end&&isWhiteSpace$1(str.charCodeAt(end)))end--\nfor(let i=start;i<=end;i++){let code=str.charCodeAt(i)\nif(code===REVERSE_SOLIDUS){if(i===end){i!==len-1&&(decoded=str.substr(i+1))\nbreak}code=str.charCodeAt(++i)\nif(isValidEscape(REVERSE_SOLIDUS,code)){const escapeStart=i-1\nconst escapeEnd=consumeEscaped(str,escapeStart)\ni=escapeEnd-1\ndecoded+=decodeEscaped(str.substring(escapeStart+1,escapeEnd))}else code===0x000d&&str.charCodeAt(i+1)===0x000a&&i++}else decoded+=str[i]}return decoded}function encode(str){let encoded=\"\"\nlet wsBeforeHexIsNeeded=false\nfor(let i=0;i<str.length;i++){const code=str.charCodeAt(i)\nif(code===0x0000){encoded+=\"�\"\ncontinue}if(code<=0x001f||code===0x007F){encoded+=\"\\\\\"+code.toString(16)\nwsBeforeHexIsNeeded=true\ncontinue}if(code===SPACE$1||code===REVERSE_SOLIDUS||code===QUOTATION_MARK||code===APOSTROPHE||code===LEFTPARENTHESIS||code===RIGHTPARENTHESIS){encoded+=\"\\\\\"+str.charAt(i)\nwsBeforeHexIsNeeded=false}else{wsBeforeHexIsNeeded&&isHexDigit(code)&&(encoded+=\" \")\nencoded+=str.charAt(i)\nwsBeforeHexIsNeeded=false}}return\"url(\"+encoded+\")\"}const name$Q=\"Url\"\nconst structure$2={value:String}\nfunction parse$5(){const start=this.tokenStart\nlet value\nswitch(this.tokenType){case Url$2:value=decode(this.consume(Url$2))\nbreak\ncase Function$1:this.cmpStr(this.tokenStart,this.tokenEnd,\"url(\")||this.error(\"Function name must be `url`\")\nthis.eat(Function$1)\nthis.skipSC()\nvalue=decode$1(this.consume(String$2))\nthis.skipSC()\nthis.eof||this.eat(RightParenthesis)\nbreak\ndefault:this.error(\"Url or Function is expected\")}return{type:\"Url\",loc:this.getLocation(start,this.tokenStart),value:value}}function generate$5(node){this.token(Url$2,encode(node.value))}var Url$1=Object.freeze({__proto__:null,generate:generate$5,name:name$Q,parse:parse$5,structure:structure$2})\nconst name$P=\"Value\"\nconst structure$1={children:[[]]}\nfunction parse$4(){const start=this.tokenStart\nconst children=this.readSequence(this.scope.Value)\nreturn{type:\"Value\",loc:this.getLocation(start,this.tokenStart),children:children}}function generate$4(node){this.children(node)}var Value=Object.freeze({__proto__:null,generate:generate$4,name:name$P,parse:parse$4,structure:structure$1})\nconst SPACE=Object.freeze({type:\"WhiteSpace\",loc:null,value:\" \"})\nconst name$O=\"WhiteSpace\"\nconst structure={value:String}\nfunction parse$3(){this.eat(WhiteSpace$1)\nreturn SPACE}function generate$3(node){this.token(WhiteSpace$1,node.value)}var WhiteSpace=Object.freeze({__proto__:null,generate:generate$3,name:name$O,parse:parse$3,structure:structure})\nvar node$1=Object.freeze({__proto__:null,AnPlusB:AnPlusB,Atrule:Atrule$1,AtrulePrelude:AtrulePrelude,AttributeSelector:AttributeSelector$1,Block:Block,Brackets:Brackets,CDC:CDC,CDO:CDO,ClassSelector:ClassSelector,Combinator:Combinator,Comment:Comment,Declaration:Declaration,DeclarationList:DeclarationList,Dimension:Dimension,Function:Function,Hash:Hash,IdSelector:IdSelector,Identifier:Identifier,MediaFeature:MediaFeature,MediaQuery:MediaQuery,MediaQueryList:MediaQueryList,Nth:Nth,Number:Number$2,Operator:Operator,Parentheses:Parentheses,Percentage:Percentage,PseudoClassSelector:PseudoClassSelector,PseudoElementSelector:PseudoElementSelector,Ratio:Ratio,Raw:Raw,Rule:Rule,Selector:Selector,SelectorList:SelectorList,String:String$1,StyleSheet:StyleSheet,TypeSelector:TypeSelector,UnicodeRange:UnicodeRange,Url:Url$1,Value:Value,WhiteSpace:WhiteSpace})\nvar lexerConfig={generic:true,...definitions,node:node$1}\nconst NUMBERSIGN$1=0x0023\nconst ASTERISK$1=0x002A\nconst PLUSSIGN$1=0x002B\nconst HYPHENMINUS=0x002D\nconst SOLIDUS$1=0x002F\nconst U=0x0075\nfunction defaultRecognizer(context){switch(this.tokenType){case Hash$1:return this.Hash()\ncase Comma:return this.Operator()\ncase LeftParenthesis:return this.Parentheses(this.readSequence,context.recognizer)\ncase LeftSquareBracket:return this.Brackets(this.readSequence,context.recognizer)\ncase String$2:return this.String()\ncase Dimension$1:return this.Dimension()\ncase Percentage$1:return this.Percentage()\ncase Number$3:return this.Number()\ncase Function$1:return this.cmpStr(this.tokenStart,this.tokenEnd,\"url(\")?this.Url():this.Function(this.readSequence,context.recognizer)\ncase Url$2:return this.Url()\ncase Ident:return this.cmpChar(this.tokenStart,U)&&this.cmpChar(this.tokenStart+1,PLUSSIGN$1)?this.UnicodeRange():this.Identifier()\ncase Delim:{const code=this.charCodeAt(this.tokenStart)\nif(code===SOLIDUS$1||code===ASTERISK$1||code===PLUSSIGN$1||code===HYPHENMINUS)return this.Operator()\ncode===NUMBERSIGN$1&&this.error(\"Hex or identifier is expected\",this.tokenStart+1)\nbreak}}}var atrulePrelude={getNode:defaultRecognizer}\nconst NUMBERSIGN=0x0023\nconst ASTERISK=0x002A\nconst PLUSSIGN=0x002B\nconst SOLIDUS=0x002F\nconst FULLSTOP=0x002E\nconst GREATERTHANSIGN=0x003E\nconst VERTICALLINE=0x007C\nconst TILDE=0x007E\nfunction onWhiteSpace(next,children){children.last!==null&&children.last.type!==\"Combinator\"&&next!==null&&next.type!==\"Combinator\"&&children.push({type:\"Combinator\",loc:null,name:\" \"})}function getNode(){switch(this.tokenType){case LeftSquareBracket:return this.AttributeSelector()\ncase Hash$1:return this.IdSelector()\ncase Colon:return this.lookupType(1)===Colon?this.PseudoElementSelector():this.PseudoClassSelector()\ncase Ident:return this.TypeSelector()\ncase Number$3:case Percentage$1:return this.Percentage()\ncase Dimension$1:this.charCodeAt(this.tokenStart)===FULLSTOP&&this.error(\"Identifier is expected\",this.tokenStart+1)\nbreak\ncase Delim:{const code=this.charCodeAt(this.tokenStart)\nswitch(code){case PLUSSIGN:case GREATERTHANSIGN:case TILDE:case SOLIDUS:return this.Combinator()\ncase FULLSTOP:return this.ClassSelector()\ncase ASTERISK:case VERTICALLINE:return this.TypeSelector()\ncase NUMBERSIGN:return this.IdSelector()}break}}}var selector$1={onWhiteSpace:onWhiteSpace,getNode:getNode}\nfunction expressionFn(){return this.createSingleNodeList(this.Raw(this.tokenIndex,null,false))}function varFn(){const children=this.createList()\nthis.skipSC()\nchildren.push(this.Identifier())\nthis.skipSC()\nif(this.tokenType===Comma){children.push(this.Operator())\nconst startIndex=this.tokenIndex\nconst value=this.parseCustomProperty?this.Value(null):this.Raw(this.tokenIndex,this.consumeUntilExclamationMarkOrSemicolon,false)\nif(value.type===\"Value\"&&value.children.isEmpty)for(let offset=startIndex-this.tokenIndex;offset<=0;offset++)if(this.lookupType(offset)===WhiteSpace$1){value.children.appendData({type:\"WhiteSpace\",loc:null,value:\" \"})\nbreak}children.push(value)}return children}function isPlusMinusOperator(node){return node!==null&&node.type===\"Operator\"&&(node.value[node.value.length-1]===\"-\"||node.value[node.value.length-1]===\"+\")}var value={getNode:defaultRecognizer,onWhiteSpace(next,children){isPlusMinusOperator(next)&&(next.value=\" \"+next.value)\nisPlusMinusOperator(children.last)&&(children.last.value+=\" \")},expression:expressionFn,var:varFn}\nvar scope=Object.freeze({__proto__:null,AtrulePrelude:atrulePrelude,Selector:selector$1,Value:value})\nvar fontFace={parse:{prelude:null,block(){return this.Block(true)}}}\nvar importAtrule={parse:{prelude(){const children=this.createList()\nthis.skipSC()\nswitch(this.tokenType){case String$2:children.push(this.String())\nbreak\ncase Url$2:case Function$1:children.push(this.Url())\nbreak\ndefault:this.error(\"String or url() is expected\")}this.lookupNonWSType(0)!==Ident&&this.lookupNonWSType(0)!==LeftParenthesis||children.push(this.MediaQueryList())\nreturn children},block:null}}\nvar media={parse:{prelude(){return this.createSingleNodeList(this.MediaQueryList())},block(){return this.Block(false)}}}\nvar page={parse:{prelude(){return this.createSingleNodeList(this.SelectorList())},block(){return this.Block(true)}}}\nfunction consumeRaw(){return this.createSingleNodeList(this.Raw(this.tokenIndex,null,false))}function parentheses(){this.skipSC()\nif(this.tokenType===Ident&&this.lookupNonWSType(1)===Colon)return this.createSingleNodeList(this.Declaration())\nreturn readSequence.call(this)}function readSequence(){const children=this.createList()\nlet child\nthis.skipSC()\nscan:while(!this.eof){switch(this.tokenType){case Comment$1:case WhiteSpace$1:this.next()\ncontinue\ncase Function$1:child=this.Function(consumeRaw,this.scope.AtrulePrelude)\nbreak\ncase Ident:child=this.Identifier()\nbreak\ncase LeftParenthesis:child=this.Parentheses(parentheses,this.scope.AtrulePrelude)\nbreak\ndefault:break scan}children.push(child)}return children}var supports={parse:{prelude(){const children=readSequence.call(this)\nthis.getFirstListNode(children)===null&&this.error(\"Condition is expected\")\nreturn children},block(){return this.Block(false)}}}\nvar atrule={\"font-face\":fontFace,import:importAtrule,media:media,page:page,supports:supports}\nconst selectorList={parse(){return this.createSingleNodeList(this.SelectorList())}}\nconst selector={parse(){return this.createSingleNodeList(this.Selector())}}\nconst identList={parse(){return this.createSingleNodeList(this.Identifier())}}\nconst nth={parse(){return this.createSingleNodeList(this.Nth())}}\nvar pseudo={dir:identList,has:selectorList,lang:identList,matches:selectorList,is:selectorList,\"-moz-any\":selectorList,\"-webkit-any\":selectorList,where:selectorList,not:selectorList,\"nth-child\":nth,\"nth-last-child\":nth,\"nth-last-of-type\":nth,\"nth-of-type\":nth,slotted:selector}\nvar node=Object.freeze({__proto__:null,AnPlusB:parse$G,Atrule:parse$F,AtrulePrelude:parse$E,AttributeSelector:parse$D,Block:parse$C,Brackets:parse$B,CDC:parse$A,CDO:parse$z,ClassSelector:parse$y,Combinator:parse$x,Comment:parse$w,Declaration:parse$v,DeclarationList:parse$u,Dimension:parse$t,Function:parse$s,Hash:parse$r,IdSelector:parse$p,Identifier:parse$q,MediaFeature:parse$o,MediaQuery:parse$n,MediaQueryList:parse$m,Nth:parse$l,Number:parse$k,Operator:parse$j,Parentheses:parse$i,Percentage:parse$h,PseudoClassSelector:parse$g,PseudoElementSelector:parse$f,Ratio:parse$e,Raw:parse$d,Rule:parse$c,Selector:parse$b,SelectorList:parse$a,String:parse$9,StyleSheet:parse$8,TypeSelector:parse$7,UnicodeRange:parse$6,Url:parse$5,Value:parse$4,WhiteSpace:parse$3})\nvar parserConfig={parseContext:{default:\"StyleSheet\",stylesheet:\"StyleSheet\",atrule:\"Atrule\",atrulePrelude(options){return this.AtrulePrelude(options.atrule?String(options.atrule):null)},mediaQueryList:\"MediaQueryList\",mediaQuery:\"MediaQuery\",rule:\"Rule\",selectorList:\"SelectorList\",selector:\"Selector\",block(){return this.Block(true)},declarationList:\"DeclarationList\",declaration:\"Declaration\",value:\"Value\"},scope:scope,atrule:atrule,pseudo:pseudo,node:node}\nvar walkerConfig={node:node$1}\nvar syntax$1=createSyntax$1({...lexerConfig,...parserConfig,...walkerConfig})\nfunction clone(node){const result={}\nfor(const key in node){let value=node[key]\nvalue&&(Array.isArray(value)||value instanceof List?value=value.map(clone):value.constructor===Object&&(value=clone(value)))\nresult[key]=value}return result}const{tokenize:tokenize$1,parse:parse$2,generate:generate$2,lexer:lexer$1,createLexer:createLexer,walk:walk$1,find:find$1,findLast:findLast$1,findAll:findAll$1,toPlainObject:toPlainObject$1,fromPlainObject:fromPlainObject$1,fork:fork}=syntax$1\nconst{hasOwnProperty:hasOwnProperty$4}=Object.prototype\nfunction buildMap(list,caseInsensitive){const map=Object.create(null)\nif(!Array.isArray(list))return null\nfor(let name of list){caseInsensitive&&(name=name.toLowerCase())\nmap[name]=true}return map}function buildList(data){if(!data)return null\nconst tags=buildMap(data.tags,true)\nconst ids=buildMap(data.ids)\nconst classes=buildMap(data.classes)\nif(tags===null&&ids===null&&classes===null)return null\nreturn{tags:tags,ids:ids,classes:classes}}function buildIndex(data){let scopes=false\nif(data.scopes&&Array.isArray(data.scopes)){scopes=Object.create(null)\nfor(let i=0;i<data.scopes.length;i++){const list=data.scopes[i]\nif(!list||!Array.isArray(list))throw new Error(\"Wrong usage format\")\nfor(const name of list){if(hasOwnProperty$4.call(scopes,name))throw new Error(`Class can't be used for several scopes: ${name}`)\nscopes[name]=i+1}}}return{whitelist:buildList(data),blacklist:buildList(data.blacklist),scopes:scopes}}function hasNoChildren(node){return!node||!node.children||node.children.isEmpty}function isNodeChildrenList(node,list){return node!==null&&node.children===list}function cleanAtrule(node,item,list){if(node.block){this.stylesheet!==null&&(this.stylesheet.firstAtrulesAllowed=false)\nif(hasNoChildren(node.block)){list.remove(item)\nreturn}}switch(node.name){case\"charset\":if(hasNoChildren(node.prelude)){list.remove(item)\nreturn}if(item.prev){list.remove(item)\nreturn}break\ncase\"import\":if(this.stylesheet===null||!this.stylesheet.firstAtrulesAllowed){list.remove(item)\nreturn}list.prevUntil(item.prev,(function(rule){if(rule.type===\"Atrule\"&&(rule.name===\"import\"||rule.name===\"charset\"))return\nthis.root.firstAtrulesAllowed=false\nlist.remove(item)\nreturn true}),this)\nbreak\ndefault:{const name=keyword(node.name).basename\nname!==\"keyframes\"&&name!==\"media\"&&name!==\"supports\"||(hasNoChildren(node.prelude)||hasNoChildren(node.block))&&list.remove(item)}}}function cleanComment(data,item,list){list.remove(item)}function cleanDeclartion(node,item,list){if(node.value.children&&node.value.children.isEmpty){list.remove(item)\nreturn}property(node.property).custom&&/\\S/.test(node.value.value)&&(node.value.value=node.value.value.trim())}function cleanRaw(node,item,list){(isNodeChildrenList(this.stylesheet,list)||isNodeChildrenList(this.block,list))&&list.remove(item)}const{hasOwnProperty:hasOwnProperty$3}=Object.prototype\nconst skipUsageFilteringAtrule=new Set([\"keyframes\"])\nfunction cleanUnused(selectorList,usageData){selectorList.children.forEach(((selector,item,list)=>{let shouldRemove=false\nwalk$1(selector,(function(node){if(this.selector===null||this.selector===selectorList)switch(node.type){case\"SelectorList\":this.function!==null&&this.function.name.toLowerCase()===\"not\"||cleanUnused(node,usageData)&&(shouldRemove=true)\nbreak\ncase\"ClassSelector\":usageData.whitelist===null||usageData.whitelist.classes===null||hasOwnProperty$3.call(usageData.whitelist.classes,node.name)||(shouldRemove=true)\nusageData.blacklist!==null&&usageData.blacklist.classes!==null&&hasOwnProperty$3.call(usageData.blacklist.classes,node.name)&&(shouldRemove=true)\nbreak\ncase\"IdSelector\":usageData.whitelist===null||usageData.whitelist.ids===null||hasOwnProperty$3.call(usageData.whitelist.ids,node.name)||(shouldRemove=true)\nusageData.blacklist!==null&&usageData.blacklist.ids!==null&&hasOwnProperty$3.call(usageData.blacklist.ids,node.name)&&(shouldRemove=true)\nbreak\ncase\"TypeSelector\":if(node.name.charAt(node.name.length-1)!==\"*\"){usageData.whitelist===null||usageData.whitelist.tags===null||hasOwnProperty$3.call(usageData.whitelist.tags,node.name.toLowerCase())||(shouldRemove=true)\nusageData.blacklist!==null&&usageData.blacklist.tags!==null&&hasOwnProperty$3.call(usageData.blacklist.tags,node.name.toLowerCase())&&(shouldRemove=true)}break}}))\nshouldRemove&&list.remove(item)}))\nreturn selectorList.children.isEmpty}function cleanRule(node,item,list,options){if(hasNoChildren(node.prelude)||hasNoChildren(node.block)){list.remove(item)\nreturn}if(this.atrule&&skipUsageFilteringAtrule.has(keyword(this.atrule.name).basename))return\nconst{usage:usage}=options\nif(usage&&(usage.whitelist!==null||usage.blacklist!==null)){cleanUnused(node.prelude,usage)\nif(hasNoChildren(node.prelude)){list.remove(item)\nreturn}}}function cleanTypeSelector(node,item,list){const name=item.data.name\nif(name!==\"*\")return\nconst nextType=item.next&&item.next.data.type\nnextType!==\"IdSelector\"&&nextType!==\"ClassSelector\"&&nextType!==\"AttributeSelector\"&&nextType!==\"PseudoClassSelector\"&&nextType!==\"PseudoElementSelector\"||list.remove(item)}function cleanWhitespace(node,item,list){list.remove(item)}const handlers$2={Atrule:cleanAtrule,Comment:cleanComment,Declaration:cleanDeclartion,Raw:cleanRaw,Rule:cleanRule,TypeSelector:cleanTypeSelector,WhiteSpace:cleanWhitespace}\nfunction clean(ast,options){walk$1(ast,{leave(node,item,list){handlers$2.hasOwnProperty(node.type)&&handlers$2[node.type].call(this,node,item,list,options)}})}function compressKeyframes(node){node.block.children.forEach((rule=>{rule.prelude.children.forEach((simpleselector=>{simpleselector.children.forEach(((data,item)=>{data.type===\"Percentage\"&&data.value===\"100\"?item.data={type:\"TypeSelector\",loc:data.loc,name:\"to\"}:data.type===\"TypeSelector\"&&data.name===\"from\"&&(item.data={type:\"Percentage\",loc:data.loc,value:\"0\"})}))}))}))}function Atrule(node){keyword(node.name).basename===\"keyframes\"&&compressKeyframes(node)}const blockUnquoteRx=/^(-?\\d|--)|[\\u0000-\\u002c\\u002e\\u002f\\u003A-\\u0040\\u005B-\\u005E\\u0060\\u007B-\\u009f]/\nfunction canUnquote(value){if(value===\"\"||value===\"-\")return false\nreturn!blockUnquoteRx.test(value)}function AttributeSelector(node){const attrValue=node.value\nif(!attrValue||attrValue.type!==\"String\")return\ncanUnquote(attrValue.value)&&(node.value={type:\"Identifier\",loc:attrValue.loc,name:attrValue.value})}function compressFont(node){const list=node.children\nlist.forEachRight((function(node,item){if(node.type===\"Identifier\")if(node.name===\"bold\")item.data={type:\"Number\",loc:node.loc,value:\"700\"}\nelse if(node.name===\"normal\"){const prev=item.prev\nprev&&prev.data.type===\"Operator\"&&prev.data.value===\"/\"&&this.remove(prev)\nthis.remove(item)}}))\nlist.isEmpty&&list.insert(list.createItem({type:\"Identifier\",name:\"normal\"}))}function compressFontWeight(node){const value=node.children.head.data\nif(value.type===\"Identifier\")switch(value.name){case\"normal\":node.children.head.data={type:\"Number\",loc:value.loc,value:\"400\"}\nbreak\ncase\"bold\":node.children.head.data={type:\"Number\",loc:value.loc,value:\"700\"}\nbreak}}function compressBackground(node){function flush(){buffer.length||buffer.unshift({type:\"Number\",loc:null,value:\"0\"},{type:\"Number\",loc:null,value:\"0\"})\nnewValue.push.apply(newValue,buffer)\nbuffer=[]}let newValue=[]\nlet buffer=[]\nnode.children.forEach((node=>{if(node.type===\"Operator\"&&node.value===\",\"){flush()\nnewValue.push(node)\nreturn}if(node.type===\"Identifier\"&&(node.name===\"transparent\"||node.name===\"none\"||node.name===\"repeat\"||node.name===\"scroll\"))return\nbuffer.push(node)}))\nflush()\nnode.children=(new List).fromArray(newValue)}function compressBorder(node){node.children.forEach(((node,item,list)=>{node.type===\"Identifier\"&&node.name.toLowerCase()===\"none\"&&(list.head===list.tail?item.data={type:\"Number\",loc:node.loc,value:\"0\"}:list.remove(item))}))}const handlers$1={font:compressFont,\"font-weight\":compressFontWeight,background:compressBackground,border:compressBorder,outline:compressBorder}\nfunction compressValue(node){if(!this.declaration)return\nconst property$1=property(this.declaration.property)\nhandlers$1.hasOwnProperty(property$1.basename)&&handlers$1[property$1.basename](node)}const OMIT_PLUSSIGN=/^(?:\\+|(-))?0*(\\d*)(?:\\.0*|(\\.\\d*?)0*)?$/\nfunction packNumber(value,item){const regexp=OMIT_PLUSSIGN\nvalue=String(value).replace(regexp,\"$1$2$3\")\nvalue!==\"\"&&value!==\"-\"||(value=\"0\")\nreturn value}function Number$1(node){node.value=packNumber(node.value)}const MATH_FUNCTIONS=new Set([\"calc\",\"min\",\"max\",\"clamp\"])\nconst LENGTH_UNIT=new Set([\"px\",\"mm\",\"cm\",\"in\",\"pt\",\"pc\",\"em\",\"ex\",\"ch\",\"rem\",\"vh\",\"vw\",\"vmin\",\"vmax\",\"vm\"])\nfunction compressDimension(node,item){const value=packNumber(node.value)\nnode.value=value\nif(value===\"0\"&&this.declaration!==null&&this.atrulePrelude===null){const unit=node.unit.toLowerCase()\nif(!LENGTH_UNIT.has(unit))return\nif(this.declaration.property===\"-ms-flex\"||this.declaration.property===\"flex\")return\nif(this.function&&MATH_FUNCTIONS.has(this.function.name))return\nitem.data={type:\"Number\",loc:node.loc,value:value}}}const blacklist=new Set([\"width\",\"min-width\",\"max-width\",\"height\",\"min-height\",\"max-height\",\"flex\",\"-ms-flex\"])\nfunction compressPercentage(node,item){node.value=packNumber(node.value)\nif(node.value===\"0\"&&this.declaration&&!blacklist.has(this.declaration.property)){item.data={type:\"Number\",loc:node.loc,value:node.value}\nlexer$1.matchDeclaration(this.declaration).isType(item.data,\"length\")||(item.data=node)}}function Url(node){node.value=node.value.replace(/\\\\/g,\"/\")}const NAME_TO_HEX={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgrey:\"a9a9a9\",darkgreen:\"006400\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",grey:\"808080\",green:\"008000\",greenyellow:\"adff2f\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgrey:\"d3d3d3\",lightgreen:\"90ee90\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"639\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"}\nconst HEX_TO_NAME={800000:\"maroon\",800080:\"purple\",808000:\"olive\",808080:\"gray\",\"00ffff\":\"cyan\",f0ffff:\"azure\",f5f5dc:\"beige\",ffe4c4:\"bisque\",\"000000\":\"black\",\"0000ff\":\"blue\",a52a2a:\"brown\",ff7f50:\"coral\",ffd700:\"gold\",\"008000\":\"green\",\"4b0082\":\"indigo\",fffff0:\"ivory\",f0e68c:\"khaki\",\"00ff00\":\"lime\",faf0e6:\"linen\",\"000080\":\"navy\",ffa500:\"orange\",da70d6:\"orchid\",cd853f:\"peru\",ffc0cb:\"pink\",dda0dd:\"plum\",f00:\"red\",ff0000:\"red\",fa8072:\"salmon\",a0522d:\"sienna\",c0c0c0:\"silver\",fffafa:\"snow\",d2b48c:\"tan\",\"008080\":\"teal\",ff6347:\"tomato\",ee82ee:\"violet\",f5deb3:\"wheat\",ffffff:\"white\",ffff00:\"yellow\"}\nfunction hueToRgb(p,q,t){t<0&&(t+=1)\nt>1&&(t-=1)\nif(t<1/6)return p+6*(q-p)*t\nif(t<.5)return q\nif(t<2/3)return p+(q-p)*(2/3-t)*6\nreturn p}function hslToRgb(h,s,l,a){let r\nlet g\nlet b\nif(s===0)r=g=b=l\nelse{const q=l<0.5?l*(1+s):l+s-l*s\nconst p=2*l-q\nr=hueToRgb(p,q,h+1/3)\ng=hueToRgb(p,q,h)\nb=hueToRgb(p,q,h-1/3)}return[Math.round(r*255),Math.round(g*255),Math.round(b*255),a]}function toHex(value){value=value.toString(16)\nreturn value.length===1?\"0\"+value:value}function parseFunctionArgs(functionArgs,count,rgb){let cursor=functionArgs.head\nlet args=[]\nlet wasValue=false\nwhile(cursor!==null){const{type:type,value:value}=cursor.data\nswitch(type){case\"Number\":case\"Percentage\":if(wasValue)return\nwasValue=true\nargs.push({type:type,value:Number(value)})\nbreak\ncase\"Operator\":if(value===\",\"){if(!wasValue)return\nwasValue=false}else if(wasValue||value!==\"+\")return\nbreak\ndefault:return}cursor=cursor.next}if(args.length!==count)return\nif(args.length===4){if(args[3].type!==\"Number\")return\nargs[3].type=\"Alpha\"}if(rgb){if(args[0].type!==args[1].type||args[0].type!==args[2].type)return}else{if(args[0].type!==\"Number\"||args[1].type!==\"Percentage\"||args[2].type!==\"Percentage\")return\nargs[0].type=\"Angle\"}return args.map((function(arg){let value=Math.max(0,arg.value)\nswitch(arg.type){case\"Number\":value=Math.min(value,255)\nbreak\ncase\"Percentage\":value=Math.min(value,100)/100\nif(!rgb)return value\nvalue*=255\nbreak\ncase\"Angle\":return(value%360+360)%360/360\ncase\"Alpha\":return Math.min(value,1)}return Math.round(value)}))}function compressFunction(node,item){let functionName=node.name\nlet args\nif(functionName===\"rgba\"||functionName===\"hsla\"){args=parseFunctionArgs(node.children,4,functionName===\"rgba\")\nif(!args)return\nif(functionName===\"hsla\"){args=hslToRgb(...args)\nnode.name=\"rgba\"}if(args[3]===0){const scopeFunctionName=this.function&&this.function.name\nif(args[0]===0&&args[1]===0&&args[2]===0||!/^(?:to|from|color-stop)$|gradient$/i.test(scopeFunctionName)){item.data={type:\"Identifier\",loc:node.loc,name:\"transparent\"}\nreturn}}if(args[3]!==1){node.children.forEach(((node,item,list)=>{if(node.type===\"Operator\"){node.value!==\",\"&&list.remove(item)\nreturn}item.data={type:\"Number\",loc:node.loc,value:packNumber(args.shift())}}))\nreturn}functionName=\"rgb\"}if(functionName===\"hsl\"){args=args||parseFunctionArgs(node.children,3,false)\nif(!args)return\nargs=hslToRgb(...args)\nfunctionName=\"rgb\"}if(functionName===\"rgb\"){args=args||parseFunctionArgs(node.children,3,true)\nif(!args)return\nitem.data={type:\"Hash\",loc:node.loc,value:toHex(args[0])+toHex(args[1])+toHex(args[2])}\ncompressHex(item.data,item)}}function compressIdent(node,item){if(this.declaration===null)return\nlet color=node.name.toLowerCase()\nif(NAME_TO_HEX.hasOwnProperty(color)&&lexer$1.matchDeclaration(this.declaration).isType(node,\"color\")){const hex=NAME_TO_HEX[color]\nif(hex.length+1<=color.length)item.data={type:\"Hash\",loc:node.loc,value:hex}\nelse{color===\"grey\"&&(color=\"gray\")\nnode.name=color}}}function compressHex(node,item){let color=node.value.toLowerCase()\ncolor.length===6&&color[0]===color[1]&&color[2]===color[3]&&color[4]===color[5]&&(color=color[0]+color[2]+color[4])\nHEX_TO_NAME[color]?item.data={type:\"Identifier\",loc:node.loc,name:HEX_TO_NAME[color]}:node.value=color}const handlers={Atrule:Atrule,AttributeSelector:AttributeSelector,Value:compressValue,Dimension:compressDimension,Percentage:compressPercentage,Number:Number$1,Url:Url,Hash:compressHex,Identifier:compressIdent,Function:compressFunction}\nfunction replace(ast){walk$1(ast,{leave(node,item,list){handlers.hasOwnProperty(node.type)&&handlers[node.type].call(this,node,item,list)}})}class Index{constructor(){this.map=new Map}resolve(str){let index=this.map.get(str)\nif(index===void 0){index=this.map.size+1\nthis.map.set(str,index)}return index}}function createDeclarationIndexer(){const ids=new Index\nreturn function markDeclaration(node){const id=generate$2(node)\nnode.id=ids.resolve(id)\nnode.length=id.length\nnode.fingerprint=null\nreturn node}}function ensureSelectorList(node){if(node.type===\"Raw\")return parse$2(node.value,{context:\"selectorList\"})\nreturn node}function maxSpecificity(a,b){for(let i=0;i<3;i++)if(a[i]!==b[i])return a[i]>b[i]?a:b\nreturn a}function maxSelectorListSpecificity(selectorList){return ensureSelectorList(selectorList).children.reduce(((result,node)=>maxSpecificity(specificity(node),result)),[0,0,0])}function specificity(simpleSelector){let A=0\nlet B=0\nlet C=0\nsimpleSelector.children.forEach((node=>{switch(node.type){case\"IdSelector\":A++\nbreak\ncase\"ClassSelector\":case\"AttributeSelector\":B++\nbreak\ncase\"PseudoClassSelector\":switch(node.name.toLowerCase()){case\"not\":case\"has\":case\"is\":case\"matches\":case\"-webkit-any\":case\"-moz-any\":{const[a,b,c]=maxSelectorListSpecificity(node.children.first)\nA+=a\nB+=b\nC+=c\nbreak}case\"nth-child\":case\"nth-last-child\":{const arg=node.children.first\nif(arg.type===\"Nth\"&&arg.selector){const[a,b,c]=maxSelectorListSpecificity(arg.selector)\nA+=a\nB+=b+1\nC+=c}else B++\nbreak}case\"where\":break\ncase\"before\":case\"after\":case\"first-line\":case\"first-letter\":C++\nbreak\ndefault:B++}break\ncase\"TypeSelector\":node.name.endsWith(\"*\")||C++\nbreak\ncase\"PseudoElementSelector\":C++\nbreak}}))\nreturn[A,B,C]}const nonFreezePseudoElements=new Set([\"first-letter\",\"first-line\",\"after\",\"before\"])\nconst nonFreezePseudoClasses=new Set([\"link\",\"visited\",\"hover\",\"active\",\"first-letter\",\"first-line\",\"after\",\"before\"])\nfunction processSelector(node,usageData){const pseudos=new Set\nnode.prelude.children.forEach((function(simpleSelector){let tagName=\"*\"\nlet scope=0\nsimpleSelector.children.forEach((function(node){switch(node.type){case\"ClassSelector\":if(usageData&&usageData.scopes){const classScope=usageData.scopes[node.name]||0\nif(scope!==0&&classScope!==scope)throw new Error(\"Selector can't has classes from different scopes: \"+generate$2(simpleSelector))\nscope=classScope}break\ncase\"PseudoClassSelector\":{const name=node.name.toLowerCase()\nnonFreezePseudoClasses.has(name)||pseudos.add(`:${name}`)\nbreak}case\"PseudoElementSelector\":{const name=node.name.toLowerCase()\nnonFreezePseudoElements.has(name)||pseudos.add(`::${name}`)\nbreak}case\"TypeSelector\":tagName=node.name.toLowerCase()\nbreak\ncase\"AttributeSelector\":node.flags&&pseudos.add(`[${node.flags.toLowerCase()}]`)\nbreak\ncase\"Combinator\":tagName=\"*\"\nbreak}}))\nsimpleSelector.compareMarker=specificity(simpleSelector).toString()\nsimpleSelector.id=null\nsimpleSelector.id=generate$2(simpleSelector)\nscope&&(simpleSelector.compareMarker+=\":\"+scope)\ntagName!==\"*\"&&(simpleSelector.compareMarker+=\",\"+tagName)}))\nnode.pseudoSignature=pseudos.size>0&&[...pseudos].sort().join(\",\")}function prepare(ast,options){const markDeclaration=createDeclarationIndexer()\nwalk$1(ast,{visit:\"Rule\",enter(node){node.block.children.forEach(markDeclaration)\nprocessSelector(node,options.usage)}})\nwalk$1(ast,{visit:\"Atrule\",enter(node){if(node.prelude){node.prelude.id=null\nnode.prelude.id=generate$2(node.prelude)}if(keyword(node.name).basename===\"keyframes\"){node.block.avoidRulesMerge=true\nnode.block.children.forEach((function(rule){rule.prelude.children.forEach((function(simpleselector){simpleselector.compareMarker=simpleselector.id}))}))}}})\nreturn{declaration:markDeclaration}}const{hasOwnProperty:hasOwnProperty$2}=Object.prototype\nfunction addRuleToMap(map,item,list,single){const node=item.data\nconst name=keyword(node.name).basename\nconst id=node.name.toLowerCase()+\"/\"+(node.prelude?node.prelude.id:null)\nhasOwnProperty$2.call(map,name)||(map[name]=Object.create(null))\nsingle&&delete map[name][id]\nhasOwnProperty$2.call(map[name],id)||(map[name][id]=new List)\nmap[name][id].append(list.remove(item))}function relocateAtrules(ast,options){const collected=Object.create(null)\nlet topInjectPoint=null\nast.children.forEach((function(node,item,list){if(node.type===\"Atrule\"){const name=keyword(node.name).basename\nswitch(name){case\"keyframes\":addRuleToMap(collected,item,list,true)\nreturn\ncase\"media\":if(options.forceMediaMerge){addRuleToMap(collected,item,list,false)\nreturn}break}topInjectPoint===null&&name!==\"charset\"&&name!==\"import\"&&(topInjectPoint=item)}else topInjectPoint===null&&(topInjectPoint=item)}))\nfor(const atrule in collected)for(const id in collected[atrule])ast.children.insertList(collected[atrule][id],atrule===\"media\"?null:topInjectPoint)}function isMediaRule(node){return node.type===\"Atrule\"&&node.name===\"media\"}function processAtrule(node,item,list){if(!isMediaRule(node))return\nconst prev=item.prev&&item.prev.data\nif(!prev||!isMediaRule(prev))return\nif(node.prelude&&prev.prelude&&node.prelude.id===prev.prelude.id){prev.block.children.appendList(node.block.children)\nlist.remove(item)}}function rejoinAtrule(ast,options){relocateAtrules(ast,options)\nwalk$1(ast,{visit:\"Atrule\",reverse:true,enter:processAtrule})}const{hasOwnProperty:hasOwnProperty$1}=Object.prototype\nfunction isEqualSelectors(a,b){let cursor1=a.head\nlet cursor2=b.head\nwhile(cursor1!==null&&cursor2!==null&&cursor1.data.id===cursor2.data.id){cursor1=cursor1.next\ncursor2=cursor2.next}return cursor1===null&&cursor2===null}function isEqualDeclarations(a,b){let cursor1=a.head\nlet cursor2=b.head\nwhile(cursor1!==null&&cursor2!==null&&cursor1.data.id===cursor2.data.id){cursor1=cursor1.next\ncursor2=cursor2.next}return cursor1===null&&cursor2===null}function compareDeclarations(declarations1,declarations2){const result={eq:[],ne1:[],ne2:[],ne2overrided:[]}\nconst fingerprints=Object.create(null)\nconst declarations2hash=Object.create(null)\nfor(let cursor=declarations2.head;cursor;cursor=cursor.next)declarations2hash[cursor.data.id]=true\nfor(let cursor=declarations1.head;cursor;cursor=cursor.next){const data=cursor.data\ndata.fingerprint&&(fingerprints[data.fingerprint]=data.important)\nif(declarations2hash[data.id]){declarations2hash[data.id]=false\nresult.eq.push(data)}else result.ne1.push(data)}for(let cursor=declarations2.head;cursor;cursor=cursor.next){const data=cursor.data\nif(declarations2hash[data.id]){(!hasOwnProperty$1.call(fingerprints,data.fingerprint)||!fingerprints[data.fingerprint]&&data.important)&&result.ne2.push(data)\nresult.ne2overrided.push(data)}}return result}function addSelectors(dest,source){source.forEach((sourceData=>{const newStr=sourceData.id\nlet cursor=dest.head\nwhile(cursor){const nextStr=cursor.data.id\nif(nextStr===newStr)return\nif(nextStr>newStr)break\ncursor=cursor.next}dest.insert(dest.createItem(sourceData),cursor)}))\nreturn dest}function hasSimilarSelectors(selectors1,selectors2){let cursor1=selectors1.head\nwhile(cursor1!==null){let cursor2=selectors2.head\nwhile(cursor2!==null){if(cursor1.data.compareMarker===cursor2.data.compareMarker)return true\ncursor2=cursor2.next}cursor1=cursor1.next}return false}function unsafeToSkipNode(node){switch(node.type){case\"Rule\":return hasSimilarSelectors(node.prelude.children,this)\ncase\"Atrule\":if(node.block)return node.block.children.some(unsafeToSkipNode,this)\nbreak\ncase\"Declaration\":return false}return true}function processRule$5(node,item,list){const selectors=node.prelude.children\nconst declarations=node.block.children\nlist.prevUntil(item.prev,(function(prev){if(prev.type!==\"Rule\")return unsafeToSkipNode.call(selectors,prev)\nconst prevSelectors=prev.prelude.children\nconst prevDeclarations=prev.block.children\nif(node.pseudoSignature===prev.pseudoSignature){if(isEqualSelectors(prevSelectors,selectors)){prevDeclarations.appendList(declarations)\nlist.remove(item)\nreturn true}if(isEqualDeclarations(declarations,prevDeclarations)){addSelectors(prevSelectors,selectors)\nlist.remove(item)\nreturn true}}return hasSimilarSelectors(selectors,prevSelectors)}))}function initialMergeRule(ast){walk$1(ast,{visit:\"Rule\",enter:processRule$5})}function processRule$4(node,item,list){const selectors=node.prelude.children\nwhile(selectors.head!==selectors.tail){const newSelectors=new List\nnewSelectors.insert(selectors.remove(selectors.head))\nlist.insert(list.createItem({type:\"Rule\",loc:node.loc,prelude:{type:\"SelectorList\",loc:node.prelude.loc,children:newSelectors},block:{type:\"Block\",loc:node.block.loc,children:node.block.children.copy()},pseudoSignature:node.pseudoSignature}),item)}}function disjoinRule(ast){walk$1(ast,{visit:\"Rule\",reverse:true,enter:processRule$4})}const REPLACE=1\nconst REMOVE=2\nconst TOP=0\nconst RIGHT=1\nconst BOTTOM=2\nconst LEFT=3\nconst SIDES=[\"top\",\"right\",\"bottom\",\"left\"]\nconst SIDE={\"margin-top\":\"top\",\"margin-right\":\"right\",\"margin-bottom\":\"bottom\",\"margin-left\":\"left\",\"padding-top\":\"top\",\"padding-right\":\"right\",\"padding-bottom\":\"bottom\",\"padding-left\":\"left\",\"border-top-color\":\"top\",\"border-right-color\":\"right\",\"border-bottom-color\":\"bottom\",\"border-left-color\":\"left\",\"border-top-width\":\"top\",\"border-right-width\":\"right\",\"border-bottom-width\":\"bottom\",\"border-left-width\":\"left\",\"border-top-style\":\"top\",\"border-right-style\":\"right\",\"border-bottom-style\":\"bottom\",\"border-left-style\":\"left\"}\nconst MAIN_PROPERTY={margin:\"margin\",\"margin-top\":\"margin\",\"margin-right\":\"margin\",\"margin-bottom\":\"margin\",\"margin-left\":\"margin\",padding:\"padding\",\"padding-top\":\"padding\",\"padding-right\":\"padding\",\"padding-bottom\":\"padding\",\"padding-left\":\"padding\",\"border-color\":\"border-color\",\"border-top-color\":\"border-color\",\"border-right-color\":\"border-color\",\"border-bottom-color\":\"border-color\",\"border-left-color\":\"border-color\",\"border-width\":\"border-width\",\"border-top-width\":\"border-width\",\"border-right-width\":\"border-width\",\"border-bottom-width\":\"border-width\",\"border-left-width\":\"border-width\",\"border-style\":\"border-style\",\"border-top-style\":\"border-style\",\"border-right-style\":\"border-style\",\"border-bottom-style\":\"border-style\",\"border-left-style\":\"border-style\"}\nclass TRBL{constructor(name){this.name=name\nthis.loc=null\nthis.iehack=void 0\nthis.sides={top:null,right:null,bottom:null,left:null}}getValueSequence(declaration,count){const values=[]\nlet iehack=\"\"\nconst hasBadValues=declaration.value.type!==\"Value\"||declaration.value.children.some((function(child){let special=false\nswitch(child.type){case\"Identifier\":switch(child.name){case\"\\\\0\":case\"\\\\9\":iehack=child.name\nreturn\ncase\"inherit\":case\"initial\":case\"unset\":case\"revert\":special=child.name\nbreak}break\ncase\"Dimension\":switch(child.unit){case\"rem\":case\"vw\":case\"vh\":case\"vmin\":case\"vmax\":case\"vm\":special=child.unit\nbreak}break\ncase\"Hash\":case\"Number\":case\"Percentage\":break\ncase\"Function\":if(child.name===\"var\")return true\nspecial=child.name\nbreak\ndefault:return true}values.push({node:child,special:special,important:declaration.important})}))\nif(hasBadValues||values.length>count)return false\nif(typeof this.iehack===\"string\"&&this.iehack!==iehack)return false\nthis.iehack=iehack\nreturn values}canOverride(side,value){const currentValue=this.sides[side]\nreturn!currentValue||value.important&&!currentValue.important}add(name,declaration){function attemptToAdd(){const sides=this.sides\nconst side=SIDE[name]\nif(side){if(side in sides===false)return false\nconst values=this.getValueSequence(declaration,1)\nif(!values||!values.length)return false\nfor(const key in sides)if(sides[key]!==null&&sides[key].special!==values[0].special)return false\nif(!this.canOverride(side,values[0]))return true\nsides[side]=values[0]\nreturn true}if(name===this.name){const values=this.getValueSequence(declaration,4)\nif(!values||!values.length)return false\nswitch(values.length){case 1:values[RIGHT]=values[TOP]\nvalues[BOTTOM]=values[TOP]\nvalues[LEFT]=values[TOP]\nbreak\ncase 2:values[BOTTOM]=values[TOP]\nvalues[LEFT]=values[RIGHT]\nbreak\ncase 3:values[LEFT]=values[RIGHT]\nbreak}for(let i=0;i<4;i++)for(const key in sides)if(sides[key]!==null&&sides[key].special!==values[i].special)return false\nfor(let i=0;i<4;i++)this.canOverride(SIDES[i],values[i])&&(sides[SIDES[i]]=values[i])\nreturn true}}if(!attemptToAdd.call(this))return false\nthis.loc||(this.loc=declaration.loc)\nreturn true}isOkToMinimize(){const top=this.sides.top\nconst right=this.sides.right\nconst bottom=this.sides.bottom\nconst left=this.sides.left\nif(top&&right&&bottom&&left){const important=top.important+right.important+bottom.important+left.important\nreturn important===0||important===4}return false}getValue(){const result=new List\nconst sides=this.sides\nconst values=[sides.top,sides.right,sides.bottom,sides.left]\nconst stringValues=[generate$2(sides.top.node),generate$2(sides.right.node),generate$2(sides.bottom.node),generate$2(sides.left.node)]\nif(stringValues[LEFT]===stringValues[RIGHT]){values.pop()\nif(stringValues[BOTTOM]===stringValues[TOP]){values.pop()\nstringValues[RIGHT]===stringValues[TOP]&&values.pop()}}for(let i=0;i<values.length;i++)result.appendData(values[i].node)\nthis.iehack&&result.appendData({type:\"Identifier\",loc:null,name:this.iehack})\nreturn{type:\"Value\",loc:null,children:result}}getDeclaration(){return{type:\"Declaration\",loc:this.loc,important:this.sides.top.important,property:this.name,value:this.getValue()}}}function processRule$3(rule,shorts,shortDeclarations,lastShortSelector){const declarations=rule.block.children\nconst selector=rule.prelude.children.first.id\nrule.block.children.forEachRight((function(declaration,item){const property=declaration.property\nif(!MAIN_PROPERTY.hasOwnProperty(property))return\nconst key=MAIN_PROPERTY[property]\nlet shorthand\nlet operation\nif((!lastShortSelector||selector===lastShortSelector)&&key in shorts){operation=REMOVE\nshorthand=shorts[key]}if(!shorthand||!shorthand.add(property,declaration)){operation=REPLACE\nshorthand=new TRBL(key)\nif(!shorthand.add(property,declaration)){lastShortSelector=null\nreturn}}shorts[key]=shorthand\nshortDeclarations.push({operation:operation,block:declarations,item:item,shorthand:shorthand})\nlastShortSelector=selector}))\nreturn lastShortSelector}function processShorthands(shortDeclarations,markDeclaration){shortDeclarations.forEach((function(item){const shorthand=item.shorthand\nif(!shorthand.isOkToMinimize())return\nitem.operation===REPLACE?item.item.data=markDeclaration(shorthand.getDeclaration()):item.block.remove(item.item)}))}function restructBlock$1(ast,indexer){const stylesheetMap={}\nconst shortDeclarations=[]\nwalk$1(ast,{visit:\"Rule\",reverse:true,enter(node){const stylesheet=this.block||this.stylesheet\nconst ruleId=(node.pseudoSignature||\"\")+\"|\"+node.prelude.children.first.id\nlet ruleMap\nlet shorts\nif(stylesheetMap.hasOwnProperty(stylesheet.id))ruleMap=stylesheetMap[stylesheet.id]\nelse{ruleMap={lastShortSelector:null}\nstylesheetMap[stylesheet.id]=ruleMap}if(ruleMap.hasOwnProperty(ruleId))shorts=ruleMap[ruleId]\nelse{shorts={}\nruleMap[ruleId]=shorts}ruleMap.lastShortSelector=processRule$3.call(this,node,shorts,shortDeclarations,ruleMap.lastShortSelector)}})\nprocessShorthands(shortDeclarations,indexer.declaration)}let fingerprintId=1\nconst dontRestructure=new Set([\"src\"])\nconst DONT_MIX_VALUE={display:/table|ruby|flex|-(flex)?box$|grid|contents|run-in/i,\"text-align\":/^(start|end|match-parent|justify-all)$/i}\nconst SAFE_VALUES={cursor:[\"auto\",\"crosshair\",\"default\",\"move\",\"text\",\"wait\",\"help\",\"n-resize\",\"e-resize\",\"s-resize\",\"w-resize\",\"ne-resize\",\"nw-resize\",\"se-resize\",\"sw-resize\",\"pointer\",\"progress\",\"not-allowed\",\"no-drop\",\"vertical-text\",\"all-scroll\",\"col-resize\",\"row-resize\"],overflow:[\"hidden\",\"visible\",\"scroll\",\"auto\"],position:[\"static\",\"relative\",\"absolute\",\"fixed\"]}\nconst NEEDLESS_TABLE={\"border-width\":[\"border\"],\"border-style\":[\"border\"],\"border-color\":[\"border\"],\"border-top\":[\"border\"],\"border-right\":[\"border\"],\"border-bottom\":[\"border\"],\"border-left\":[\"border\"],\"border-top-width\":[\"border-top\",\"border-width\",\"border\"],\"border-right-width\":[\"border-right\",\"border-width\",\"border\"],\"border-bottom-width\":[\"border-bottom\",\"border-width\",\"border\"],\"border-left-width\":[\"border-left\",\"border-width\",\"border\"],\"border-top-style\":[\"border-top\",\"border-style\",\"border\"],\"border-right-style\":[\"border-right\",\"border-style\",\"border\"],\"border-bottom-style\":[\"border-bottom\",\"border-style\",\"border\"],\"border-left-style\":[\"border-left\",\"border-style\",\"border\"],\"border-top-color\":[\"border-top\",\"border-color\",\"border\"],\"border-right-color\":[\"border-right\",\"border-color\",\"border\"],\"border-bottom-color\":[\"border-bottom\",\"border-color\",\"border\"],\"border-left-color\":[\"border-left\",\"border-color\",\"border\"],\"margin-top\":[\"margin\"],\"margin-right\":[\"margin\"],\"margin-bottom\":[\"margin\"],\"margin-left\":[\"margin\"],\"padding-top\":[\"padding\"],\"padding-right\":[\"padding\"],\"padding-bottom\":[\"padding\"],\"padding-left\":[\"padding\"],\"font-style\":[\"font\"],\"font-variant\":[\"font\"],\"font-weight\":[\"font\"],\"font-size\":[\"font\"],\"font-family\":[\"font\"],\"list-style-type\":[\"list-style\"],\"list-style-position\":[\"list-style\"],\"list-style-image\":[\"list-style\"]}\nfunction getPropertyFingerprint(propertyName,declaration,fingerprints){const realName=property(propertyName).basename\nif(realName===\"background\")return propertyName+\":\"+generate$2(declaration.value)\nconst declarationId=declaration.id\nlet fingerprint=fingerprints[declarationId]\nif(!fingerprint){switch(declaration.value.type){case\"Value\":const special={}\nlet vendorId=\"\"\nlet iehack=\"\"\nlet raw=false\ndeclaration.value.children.forEach((function walk(node){switch(node.type){case\"Value\":case\"Brackets\":case\"Parentheses\":node.children.forEach(walk)\nbreak\ncase\"Raw\":raw=true\nbreak\ncase\"Identifier\":{const{name:name}=node\nvendorId||(vendorId=keyword(name).vendor);/\\\\[09]/.test(name)&&(iehack=RegExp.lastMatch)\nSAFE_VALUES.hasOwnProperty(realName)?SAFE_VALUES[realName].indexOf(name)===-1&&(special[name]=true):DONT_MIX_VALUE.hasOwnProperty(realName)&&DONT_MIX_VALUE[realName].test(name)&&(special[name]=true)\nbreak}case\"Function\":{let{name:name}=node\nvendorId||(vendorId=keyword(name).vendor)\nif(name===\"rect\"){const hasComma=node.children.some((node=>node.type===\"Operator\"&&node.value===\",\"))\nhasComma||(name=\"rect-backward\")}special[name+\"()\"]=true\nnode.children.forEach(walk)\nbreak}case\"Dimension\":{const{unit:unit}=node;/\\\\[09]/.test(unit)&&(iehack=RegExp.lastMatch)\nswitch(unit){case\"rem\":case\"vw\":case\"vh\":case\"vmin\":case\"vmax\":case\"vm\":special[unit]=true\nbreak}break}}}))\nfingerprint=raw?\"!\"+fingerprintId++:\"!\"+Object.keys(special).sort()+\"|\"+iehack+vendorId\nbreak\ncase\"Raw\":fingerprint=\"!\"+declaration.value.value\nbreak\ndefault:fingerprint=generate$2(declaration.value)}fingerprints[declarationId]=fingerprint}return propertyName+fingerprint}function needless(props,declaration,fingerprints){const property$1=property(declaration.property)\nif(NEEDLESS_TABLE.hasOwnProperty(property$1.basename)){const table=NEEDLESS_TABLE[property$1.basename]\nfor(const entry of table){const ppre=getPropertyFingerprint(property$1.prefix+entry,declaration,fingerprints)\nconst prev=props.hasOwnProperty(ppre)?props[ppre]:null\nif(prev&&(!declaration.important||prev.item.data.important))return prev}}}function processRule$2(rule,item,list,props,fingerprints){const declarations=rule.block.children\ndeclarations.forEachRight((function(declaration,declarationItem){const{property:property}=declaration\nconst fingerprint=getPropertyFingerprint(property,declaration,fingerprints)\nconst prev=props[fingerprint]\nif(prev&&!dontRestructure.has(property))if(declaration.important&&!prev.item.data.important){props[fingerprint]={block:declarations,item:declarationItem}\nprev.block.remove(prev.item)}else declarations.remove(declarationItem)\nelse{const prev=needless(props,declaration,fingerprints)\nif(prev)declarations.remove(declarationItem)\nelse{declaration.fingerprint=fingerprint\nprops[fingerprint]={block:declarations,item:declarationItem}}}}))\ndeclarations.isEmpty&&list.remove(item)}function restructBlock(ast){const stylesheetMap={}\nconst fingerprints=Object.create(null)\nwalk$1(ast,{visit:\"Rule\",reverse:true,enter(node,item,list){const stylesheet=this.block||this.stylesheet\nconst ruleId=(node.pseudoSignature||\"\")+\"|\"+node.prelude.children.first.id\nlet ruleMap\nlet props\nif(stylesheetMap.hasOwnProperty(stylesheet.id))ruleMap=stylesheetMap[stylesheet.id]\nelse{ruleMap={}\nstylesheetMap[stylesheet.id]=ruleMap}if(ruleMap.hasOwnProperty(ruleId))props=ruleMap[ruleId]\nelse{props={}\nruleMap[ruleId]=props}processRule$2.call(this,node,item,list,props,fingerprints)}})}function processRule$1(node,item,list){const selectors=node.prelude.children\nconst declarations=node.block.children\nconst nodeCompareMarker=selectors.first.compareMarker\nconst skippedCompareMarkers={}\nlist.nextUntil(item.next,(function(next,nextItem){if(next.type!==\"Rule\")return unsafeToSkipNode.call(selectors,next)\nif(node.pseudoSignature!==next.pseudoSignature)return true\nconst nextFirstSelector=next.prelude.children.head\nconst nextDeclarations=next.block.children\nconst nextCompareMarker=nextFirstSelector.data.compareMarker\nif(nextCompareMarker in skippedCompareMarkers)return true\nif(selectors.head===selectors.tail&&selectors.first.id===nextFirstSelector.data.id){declarations.appendList(nextDeclarations)\nlist.remove(nextItem)\nreturn}if(isEqualDeclarations(declarations,nextDeclarations)){const nextStr=nextFirstSelector.data.id\nselectors.some(((data,item)=>{const curStr=data.id\nif(nextStr<curStr){selectors.insert(nextFirstSelector,item)\nreturn true}if(!item.next){selectors.insert(nextFirstSelector)\nreturn true}}))\nlist.remove(nextItem)\nreturn}if(nextCompareMarker===nodeCompareMarker)return true\nskippedCompareMarkers[nextCompareMarker]=true}))}function mergeRule(ast){walk$1(ast,{visit:\"Rule\",enter:processRule$1})}function calcSelectorLength(list){return list.reduce(((res,data)=>res+data.id.length+1),0)-1}function calcDeclarationsLength(tokens){let length=0\nfor(const token of tokens)length+=token.length\nreturn length+tokens.length-1}function processRule(node,item,list){const avoidRulesMerge=this.block!==null&&this.block.avoidRulesMerge\nconst selectors=node.prelude.children\nconst block=node.block\nconst disallowDownMarkers=Object.create(null)\nlet allowMergeUp=true\nlet allowMergeDown=true\nlist.prevUntil(item.prev,(function(prev,prevItem){const prevBlock=prev.block\nconst prevType=prev.type\nif(prevType!==\"Rule\"){const unsafe=unsafeToSkipNode.call(selectors,prev)\n!unsafe&&prevType===\"Atrule\"&&prevBlock&&walk$1(prevBlock,{visit:\"Rule\",enter(node){node.prelude.children.forEach((data=>{disallowDownMarkers[data.compareMarker]=true}))}})\nreturn unsafe}if(node.pseudoSignature!==prev.pseudoSignature)return true\nconst prevSelectors=prev.prelude.children\nallowMergeDown=!prevSelectors.some((selector=>selector.compareMarker in disallowDownMarkers))\nif(!allowMergeDown&&!allowMergeUp)return true\nif(allowMergeUp&&isEqualSelectors(prevSelectors,selectors)){prevBlock.children.appendList(block.children)\nlist.remove(item)\nreturn true}const diff=compareDeclarations(block.children,prevBlock.children)\nif(diff.eq.length){if(!diff.ne1.length&&!diff.ne2.length){if(allowMergeDown){addSelectors(selectors,prevSelectors)\nlist.remove(prevItem)}return true}if(!avoidRulesMerge)if(diff.ne1.length&&!diff.ne2.length){const selectorLength=calcSelectorLength(selectors)\nconst blockLength=calcDeclarationsLength(diff.eq)\nif(allowMergeUp&&selectorLength<blockLength){addSelectors(prevSelectors,selectors)\nblock.children.fromArray(diff.ne1)}}else if(!diff.ne1.length&&diff.ne2.length){const selectorLength=calcSelectorLength(prevSelectors)\nconst blockLength=calcDeclarationsLength(diff.eq)\nif(allowMergeDown&&selectorLength<blockLength){addSelectors(selectors,prevSelectors)\nprevBlock.children.fromArray(diff.ne2)}}else{const newSelector={type:\"SelectorList\",loc:null,children:addSelectors(prevSelectors.copy(),selectors)}\nconst newBlockLength=calcSelectorLength(newSelector.children)+2\nconst blockLength=calcDeclarationsLength(diff.eq)\nif(blockLength>=newBlockLength){const newItem=list.createItem({type:\"Rule\",loc:null,prelude:newSelector,block:{type:\"Block\",loc:null,children:(new List).fromArray(diff.eq)},pseudoSignature:node.pseudoSignature})\nblock.children.fromArray(diff.ne1)\nprevBlock.children.fromArray(diff.ne2overrided)\nallowMergeUp?list.insert(newItem,prevItem):list.insert(newItem,item)\nreturn true}}}allowMergeUp&&(allowMergeUp=!prevSelectors.some((prevSelector=>selectors.some((selector=>selector.compareMarker===prevSelector.compareMarker)))))\nprevSelectors.forEach((data=>{disallowDownMarkers[data.compareMarker]=true}))}))}function restructRule(ast){walk$1(ast,{visit:\"Rule\",reverse:true,enter:processRule})}function restructure(ast,options){const indexer=prepare(ast,options)\noptions.logger(\"prepare\",ast)\nrejoinAtrule(ast,options)\noptions.logger(\"mergeAtrule\",ast)\ninitialMergeRule(ast)\noptions.logger(\"initialMergeRuleset\",ast)\ndisjoinRule(ast)\noptions.logger(\"disjoinRuleset\",ast)\nrestructBlock$1(ast,indexer)\noptions.logger(\"restructShorthand\",ast)\nrestructBlock(ast)\noptions.logger(\"restructBlock\",ast)\nmergeRule(ast)\noptions.logger(\"mergeRuleset\",ast)\nrestructRule(ast)\noptions.logger(\"restructRuleset\",ast)}function readChunk(input,specialComments){const children=new List\nlet nonSpaceTokenInBuffer=false\nlet protectedComment\ninput.nextUntil(input.head,((node,item,list)=>{if(node.type===\"Comment\"){if(!specialComments||node.value.charAt(0)!==\"!\"){list.remove(item)\nreturn}if(nonSpaceTokenInBuffer||protectedComment)return true\nlist.remove(item)\nprotectedComment=node\nreturn}node.type!==\"WhiteSpace\"&&(nonSpaceTokenInBuffer=true)\nchildren.insert(list.remove(item))}))\nreturn{comment:protectedComment,stylesheet:{type:\"StyleSheet\",loc:null,children:children}}}function compressChunk(ast,firstAtrulesAllowed,num,options){options.logger(`Compress block #${num}`,null,true)\nlet seed=1\nif(ast.type===\"StyleSheet\"){ast.firstAtrulesAllowed=firstAtrulesAllowed\nast.id=seed++}walk$1(ast,{visit:\"Atrule\",enter(node){node.block!==null&&(node.block.id=seed++)}})\noptions.logger(\"init\",ast)\nclean(ast,options)\noptions.logger(\"clean\",ast)\nreplace(ast)\noptions.logger(\"replace\",ast)\noptions.restructuring&&restructure(ast,options)\nreturn ast}function getCommentsOption(options){let comments=\"comments\"in options?options.comments:\"exclamation\"\ntypeof comments===\"boolean\"?comments=!!comments&&\"exclamation\":comments!==\"exclamation\"&&comments!==\"first-exclamation\"&&(comments=false)\nreturn comments}function getRestructureOption(options){if(\"restructure\"in options)return options.restructure\nreturn!(\"restructuring\"in options)||options.restructuring}function wrapBlock(block){return(new List).appendData({type:\"Rule\",loc:null,prelude:{type:\"SelectorList\",loc:null,children:(new List).appendData({type:\"Selector\",loc:null,children:(new List).appendData({type:\"TypeSelector\",loc:null,name:\"x\"})})},block:block})}function compress$1(ast,options){ast=ast||{type:\"StyleSheet\",loc:null,children:new List}\noptions=options||{}\nconst compressOptions={logger:typeof options.logger===\"function\"?options.logger:function(){},restructuring:getRestructureOption(options),forceMediaMerge:Boolean(options.forceMediaMerge),usage:!!options.usage&&buildIndex(options.usage)}\nconst output=new List\nlet specialComments=getCommentsOption(options)\nlet firstAtrulesAllowed=true\nlet input\nlet chunk\nlet chunkNum=1\nlet chunkChildren\noptions.clone&&(ast=clone(ast))\nif(ast.type===\"StyleSheet\"){input=ast.children\nast.children=output}else input=wrapBlock(ast)\ndo{chunk=readChunk(input,Boolean(specialComments))\ncompressChunk(chunk.stylesheet,firstAtrulesAllowed,chunkNum++,compressOptions)\nchunkChildren=chunk.stylesheet.children\nif(chunk.comment){output.isEmpty||output.insert(List.createItem({type:\"Raw\",value:\"\\n\"}))\noutput.insert(List.createItem(chunk.comment))\nchunkChildren.isEmpty||output.insert(List.createItem({type:\"Raw\",value:\"\\n\"}))}if(firstAtrulesAllowed&&!chunkChildren.isEmpty){const lastRule=chunkChildren.last;(lastRule.type!==\"Atrule\"||lastRule.name!==\"import\"&&lastRule.name!==\"charset\")&&(firstAtrulesAllowed=false)}specialComments!==\"exclamation\"&&(specialComments=false)\noutput.appendList(chunkChildren)}while(!input.isEmpty)\nreturn{ast:ast}}function encodeString(value){const stringApostrophe=encode$1(value,true)\nconst stringQuote=encode$1(value)\nreturn stringApostrophe.length<stringQuote.length?stringApostrophe:stringQuote}const{lexer:lexer,tokenize:tokenize,parse:parse$1,generate:generate$1,walk:walk,find:find,findLast:findLast,findAll:findAll,fromPlainObject:fromPlainObject,toPlainObject:toPlainObject}=fork({node:{String:{generate(node){this.token(String$2,encodeString(node.value))}},Url:{generate(node){const encodedUrl=encode(node.value)\nconst string=encodeString(node.value)\nthis.token(Url$2,encodedUrl.length<=string.length+5?encodedUrl:\"url(\"+string+\")\")}}}})\nvar syntax=Object.freeze({__proto__:null,compress:compress$1,find:find,findAll:findAll,findLast:findLast,fromPlainObject:fromPlainObject,generate:generate$1,lexer:lexer,parse:parse$1,specificity:specificity,toPlainObject:toPlainObject,tokenize:tokenize,walk:walk})\nconst{parse:parse,generate:generate,compress:compress}=syntax\nfunction debugOutput(name,options,startTime,data){options.debug&&console.error(`## ${name} done in %d ms\\n`,Date.now()-startTime)\nreturn data}function createDefaultLogger(level){let lastDebug\nreturn function logger(title,ast){let line=title\nast&&(line=`[${((Date.now()-lastDebug)/1000).toFixed(3)}s] ${line}`)\nif(level>1&&ast){let css=generate(ast)\nlevel===2&&css.length>256&&(css=css.substr(0,256)+\"...\")\nline+=`\\n ${css}\\n`}console.error(line)\nlastDebug=Date.now()}}function buildCompressOptions(options){options={...options}\ntypeof options.logger!==\"function\"&&options.debug&&(options.logger=createDefaultLogger(options.debug))\nreturn options}function runHandler(ast,options,handlers){Array.isArray(handlers)||(handlers=[handlers])\nhandlers.forEach((fn=>fn(ast,options)))}function minify(context,source,options){options=options||{}\nconst filename=options.filename||\"<unknown>\"\nlet result\nconst ast=debugOutput(\"parsing\",options,Date.now(),parse(source,{context:context,filename:filename,positions:Boolean(options.sourceMap)}))\noptions.beforeCompress&&debugOutput(\"beforeCompress\",options,Date.now(),runHandler(ast,options,options.beforeCompress))\nconst compressResult=debugOutput(\"compress\",options,Date.now(),compress(ast,buildCompressOptions(options)))\noptions.afterCompress&&debugOutput(\"afterCompress\",options,Date.now(),runHandler(compressResult,options,options.afterCompress))\nresult=options.sourceMap?debugOutput(\"generate(sourceMap: true)\",options,Date.now(),(()=>{const tmp=generate(compressResult.ast,{sourceMap:true})\ntmp.map._file=filename\ntmp.map.setSourceContent(filename,source)\nreturn tmp})()):debugOutput(\"generate\",options,Date.now(),{css:generate(compressResult.ast),map:null})\nreturn result}function minifyStylesheet(source,options){return minify(\"stylesheet\",source,options)}function minifyBlock(source,options){return minify(\"declarationList\",source,options)}const csstreeWalkSkip=walk$3.skip\nconst parseRule=(ruleNode,dynamic)=>{const declarations=[]\nruleNode.block.children.forEach((cssNode=>{cssNode.type===\"Declaration\"&&declarations.push({name:cssNode.property,value:generate$I(cssNode.value),important:cssNode.important===true})}))\nconst rules=[]\nwalk$3(ruleNode.prelude,(node=>{if(node.type===\"Selector\"){const newNode=clone$1(node)\nlet hasPseudoClasses=false\nwalk$3(newNode,((pseudoClassNode,item,list)=>{if(pseudoClassNode.type===\"PseudoClassSelector\"){hasPseudoClasses=true\nlist.remove(item)}}))\nrules.push({specificity:specificity(node),dynamic:hasPseudoClasses||dynamic,selector:generate$I(newNode),declarations:declarations})}}))\nreturn rules}\nconst parseStylesheet=(css,dynamic)=>{const rules=[]\nconst ast=parse$I(css,{parseValue:false,parseAtrulePrelude:false})\nwalk$3(ast,(cssNode=>{if(cssNode.type===\"Rule\"){rules.push(...parseRule(cssNode,dynamic||false))\nreturn csstreeWalkSkip}if(cssNode.type===\"Atrule\"){if([\"keyframes\",\"-webkit-keyframes\",\"-o-keyframes\",\"-moz-keyframes\"].includes(cssNode.name))return csstreeWalkSkip\nwalk$3(cssNode,(ruleNode=>{if(ruleNode.type===\"Rule\"){rules.push(...parseRule(ruleNode,dynamic||true))\nreturn csstreeWalkSkip}}))\nreturn csstreeWalkSkip}}))\nreturn rules}\nconst parseStyleDeclarations=css=>{const declarations=[]\nconst ast=parse$I(css,{context:\"declarationList\",parseValue:false})\nwalk$3(ast,(cssNode=>{cssNode.type===\"Declaration\"&&declarations.push({name:cssNode.property,value:generate$I(cssNode.value),important:cssNode.important===true})}))\nreturn declarations}\nconst computeOwnStyle=(stylesheet,node,parents)=>{const computedStyle={}\nconst importantStyles=new Map\nfor(const[name,value]of Object.entries(node.attributes))if(attrsGroups.presentation.has(name)){computedStyle[name]={type:\"static\",inherited:false,value:value}\nimportantStyles.set(name,false)}for(const{selector:selector,declarations:declarations,dynamic:dynamic}of stylesheet.rules)if(matches(node,selector,parents))for(const{name:name,value:value,important:important}of declarations){const computed=computedStyle[name]\nif(computed&&computed.type===\"dynamic\")continue\nif(dynamic){computedStyle[name]={type:\"dynamic\",inherited:false}\ncontinue}if(computed==null||important===true||importantStyles.get(name)===false){computedStyle[name]={type:\"static\",inherited:false,value:value}\nimportantStyles.set(name,important)}}const styleDeclarations=node.attributes.style==null?[]:parseStyleDeclarations(node.attributes.style)\nfor(const{name:name,value:value,important:important}of styleDeclarations){const computed=computedStyle[name]\nif(computed&&computed.type===\"dynamic\")continue\nif(computed==null||important===true||importantStyles.get(name)===false){computedStyle[name]={type:\"static\",inherited:false,value:value}\nimportantStyles.set(name,important)}}return computedStyle}\nconst compareSpecificity=(a,b)=>{for(let i=0;i<4;i+=1){if(a[i]<b[i])return-1\nif(a[i]>b[i])return 1}return 0}\nconst collectStylesheet=root=>{const rules=[]\nconst parents=new Map\nvisit(root,{element:{enter:(node,parentNode)=>{parents.set(node,parentNode)\nif(node.name!==\"style\")return\nif(node.attributes.type==null||node.attributes.type===\"\"||node.attributes.type===\"text/css\"){const dynamic=node.attributes.media!=null&&node.attributes.media!==\"all\"\nfor(const child of node.children)child.type!==\"text\"&&child.type!==\"cdata\"||rules.push(...parseStylesheet(child.value,dynamic))}}}})\nrules.sort(((a,b)=>compareSpecificity(a.specificity,b.specificity)))\nreturn{rules:rules,parents:parents}}\nconst computeStyle=(stylesheet,node)=>{const{parents:parents}=stylesheet\nconst computedStyles=computeOwnStyle(stylesheet,node,parents)\nlet parent=parents.get(node)\nwhile(parent!=null&&parent.type!==\"root\"){const inheritedStyles=computeOwnStyle(stylesheet,parent,parents)\nfor(const[name,computed]of Object.entries(inheritedStyles))computedStyles[name]==null&&inheritableAttrs.has(name)&&!presentationNonInheritableGroupAttrs.has(name)&&(computedStyles[name]={...computed,inherited:true})\nparent=parents.get(parent)}return computedStyles}\nconst includesAttrSelector=(selector,name,value=null,traversed=false)=>{const selectors=parse$1w(typeof selector===\"string\"?selector:generate$I(selector.data))\nfor(const subselector of selectors){const hasAttrSelector=subselector.some(((segment,index)=>{if(traversed){if(index===subselector.length-1)return false\nconst isNextTraversal=isTraversal$1(subselector[index+1])\nif(!isNextTraversal)return false}if(segment.type!==\"attribute\"||segment.name!==name)return false\nreturn value==null||segment.value===value}))\nif(hasAttrSelector)return true}return false}\nconst name$N=\"removeDeprecatedAttrs\"\nconst description$N=\"removes deprecated attributes\"\nfunction extractAttributesInStylesheet(stylesheet){const attributesInStylesheet=new Set\nstylesheet.rules.forEach((rule=>{const selectors=parse$1w(rule.selector)\nselectors.forEach((subselector=>{subselector.forEach((segment=>{if(segment.type!==\"attribute\")return\nattributesInStylesheet.add(segment.name)}))}))}))\nreturn attributesInStylesheet}function processAttributes(node,deprecatedAttrs,params,attributesInStylesheet){if(!deprecatedAttrs)return\ndeprecatedAttrs.safe&&deprecatedAttrs.safe.forEach((name=>{if(attributesInStylesheet.has(name))return\ndelete node.attributes[name]}))\nparams.removeUnsafe&&deprecatedAttrs.unsafe&&deprecatedAttrs.unsafe.forEach((name=>{if(attributesInStylesheet.has(name))return\ndelete node.attributes[name]}))}function fn$N(root,params){const stylesheet=collectStylesheet(root)\nconst attributesInStylesheet=extractAttributesInStylesheet(stylesheet)\nreturn{element:{enter:node=>{const elemConfig=elems[node.name]\nif(!elemConfig)return\nelemConfig.attrsGroups.has(\"core\")&&node.attributes[\"xml:lang\"]&&!attributesInStylesheet.has(\"xml:lang\")&&node.attributes[\"lang\"]&&delete node.attributes[\"xml:lang\"]\nelemConfig.attrsGroups.forEach((attrsGroup=>{processAttributes(node,attrsGroupsDeprecated[attrsGroup],params,attributesInStylesheet)}))\nprocessAttributes(node,elemConfig.deprecated,params,attributesInStylesheet)}}}}var removeDeprecatedAttrs=Object.freeze({__proto__:null,description:description$N,fn:fn$N,name:name$N})\nconst name$M=\"removeMetadata\"\nconst description$M=\"removes <metadata>\"\nconst fn$M=()=>({element:{enter:(node,parentNode)=>{node.name===\"metadata\"&&detachNodeFromParent(node,parentNode)}}})\nvar removeMetadata=Object.freeze({__proto__:null,description:description$M,fn:fn$M,name:name$M})\nconst name$L=\"removeEditorsNSData\"\nconst description$L=\"removes editors namespaces, elements and attributes\"\nconst fn$L=(_root,params)=>{let namespaces=[...editorNamespaces]\nArray.isArray(params.additionalNamespaces)&&(namespaces=[...editorNamespaces,...params.additionalNamespaces])\nconst prefixes=[]\nreturn{element:{enter:(node,parentNode)=>{if(node.name===\"svg\")for(const[name,value]of Object.entries(node.attributes))if(name.startsWith(\"xmlns:\")&&namespaces.includes(value)){prefixes.push(name.slice(6))\ndelete node.attributes[name]}for(const name of Object.keys(node.attributes))if(name.includes(\":\")){const[prefix]=name.split(\":\")\nprefixes.includes(prefix)&&delete node.attributes[name]}if(node.name.includes(\":\")){const[prefix]=node.name.split(\":\")\nprefixes.includes(prefix)&&detachNodeFromParent(node,parentNode)}}}}}\nvar removeEditorsNSData=Object.freeze({__proto__:null,description:description$L,fn:fn$L,name:name$L})\nconst name$K=\"cleanupAttrs\"\nconst description$K=\"cleanups attributes from newlines, trailing and repeating spaces\"\nconst regNewlinesNeedSpace=/(\\S)\\r?\\n(\\S)/g\nconst regNewlines=/\\r?\\n/g\nconst regSpaces=/\\s{2,}/g\nconst fn$K=(root,params)=>{const{newlines:newlines=true,trim:trim=true,spaces:spaces=true}=params\nreturn{element:{enter:node=>{for(const name of Object.keys(node.attributes)){if(newlines){node.attributes[name]=node.attributes[name].replace(regNewlinesNeedSpace,((match,p1,p2)=>p1+\" \"+p2))\nnode.attributes[name]=node.attributes[name].replace(regNewlines,\"\")}trim&&(node.attributes[name]=node.attributes[name].trim())\nspaces&&(node.attributes[name]=node.attributes[name].replace(regSpaces,\" \"))}}}}}\nvar cleanupAttrs=Object.freeze({__proto__:null,description:description$K,fn:fn$K,name:name$K})\nconst name$J=\"mergeStyles\"\nconst description$J=\"merge multiple style elements into one\"\nconst fn$J=()=>{let firstStyleElement=null\nlet collectedStyles=\"\"\nlet styleContentType=\"text\"\nreturn{element:{enter:(node,parentNode)=>{if(node.name===\"foreignObject\")return visitSkip\nif(node.name!==\"style\")return\nif(node.attributes.type!=null&&node.attributes.type!==\"\"&&node.attributes.type!==\"text/css\")return\nlet css=\"\"\nfor(const child of node.children){child.type===\"text\"&&(css+=child.value)\nif(child.type===\"cdata\"){styleContentType=\"cdata\"\ncss+=child.value}}if(css.trim().length===0){detachNodeFromParent(node,parentNode)\nreturn}if(node.attributes.media==null)collectedStyles+=css\nelse{collectedStyles+=`@media ${node.attributes.media}{${css}}`\ndelete node.attributes.media}if(firstStyleElement==null)firstStyleElement=node\nelse{detachNodeFromParent(node,parentNode)\nconst child={type:styleContentType,value:collectedStyles}\nfirstStyleElement.children=[child]}}}}}\nvar mergeStyles=Object.freeze({__proto__:null,description:description$J,fn:fn$J,name:name$J})\nconst name$I=\"inlineStyles\"\nconst description$I=\"inline styles (additional options)\"\nconst preservedPseudos=[...pseudoClasses.functional,...pseudoClasses.treeStructural]\nconst fn$I=(root,params)=>{const{onlyMatchedOnce:onlyMatchedOnce=true,removeMatchedSelectors:removeMatchedSelectors=true,useMqs:useMqs=[\"\",\"screen\"],usePseudos:usePseudos=[\"\"]}=params\nconst styles=[]\nconst selectors=[]\nreturn{element:{enter:(node,parentNode)=>{if(node.name===\"foreignObject\")return visitSkip\nif(node.name!==\"style\"||node.children.length===0)return\nif(node.attributes.type!=null&&node.attributes.type!==\"\"&&node.attributes.type!==\"text/css\")return\nconst cssText=node.children.filter((child=>child.type===\"text\"||child.type===\"cdata\")).map((child=>child.value)).join(\"\")\nlet cssAst=null\ntry{cssAst=parse$I(cssText,{parseValue:false,parseCustomProperty:false})}catch{return}cssAst.type===\"StyleSheet\"&&styles.push({node:node,parentNode:parentNode,cssAst:cssAst})\nwalk$3(cssAst,{visit:\"Rule\",enter(node){const atrule=this.atrule\nlet mediaQuery=\"\"\nif(atrule!=null){mediaQuery=atrule.name\natrule.prelude!=null&&(mediaQuery+=` ${generate$I(atrule.prelude)}`)}if(!useMqs.includes(mediaQuery))return\nnode.prelude.type===\"SelectorList\"&&node.prelude.children.forEach(((childNode,item)=>{if(childNode.type===\"Selector\"){const pseudos=[]\nchildNode.children.forEach(((grandchildNode,grandchildItem,grandchildList)=>{const isPseudo=grandchildNode.type===\"PseudoClassSelector\"||grandchildNode.type===\"PseudoElementSelector\"\nisPseudo&&!preservedPseudos.includes(grandchildNode.name)&&pseudos.push({item:grandchildItem,list:grandchildList})}))\nconst pseudoSelectors=generate$I({type:\"Selector\",children:(new List$1).fromArray(pseudos.map((pseudo=>pseudo.item.data)))})\nif(usePseudos.includes(pseudoSelectors))for(const pseudo of pseudos)pseudo.list.remove(pseudo.item)\nselectors.push({node:childNode,rule:node,item:item})}}))}})}},root:{exit:()=>{if(styles.length===0)return\nconst sortedSelectors=selectors.slice().sort(((a,b)=>{const aSpecificity=specificity(a.item.data)\nconst bSpecificity=specificity(b.item.data)\nreturn compareSpecificity(aSpecificity,bSpecificity)})).reverse()\nfor(const selector of sortedSelectors){const selectorText=generate$I(selector.item.data)\nconst matchedElements=[]\ntry{for(const node of querySelectorAll(root,selectorText))node.type===\"element\"&&matchedElements.push(node)}catch{continue}if(matchedElements.length===0)continue\nif(onlyMatchedOnce&&matchedElements.length>1)continue\nfor(const selectedEl of matchedElements){const styleDeclarationList=parse$I(selectedEl.attributes.style??\"\",{context:\"declarationList\",parseValue:false})\nif(styleDeclarationList.type!==\"DeclarationList\")continue\nconst styleDeclarationItems=new Map\nlet firstListItem\nwalk$3(styleDeclarationList,{visit:\"Declaration\",enter(node,item){firstListItem==null&&(firstListItem=item)\nstyleDeclarationItems.set(node.property.toLowerCase(),item)}})\nwalk$3(selector.rule,{visit:\"Declaration\",enter(ruleDeclaration){const property=ruleDeclaration.property\nattrsGroups.presentation.has(property)&&!selectors.some((selector=>includesAttrSelector(selector.item,property)))&&delete selectedEl.attributes[property]\nconst matchedItem=styleDeclarationItems.get(property)\nconst ruleDeclarationItem=styleDeclarationList.children.createItem(ruleDeclaration)\nif(matchedItem==null)styleDeclarationList.children.insert(ruleDeclarationItem,firstListItem)\nelse if(matchedItem.data.important!==true&&ruleDeclaration.important===true){styleDeclarationList.children.replace(matchedItem,ruleDeclarationItem)\nstyleDeclarationItems.set(property,ruleDeclarationItem)}}})\nconst newStyles=generate$I(styleDeclarationList)\nnewStyles.length!==0&&(selectedEl.attributes.style=newStyles)}removeMatchedSelectors&&matchedElements.length!==0&&selector.rule.prelude.type===\"SelectorList\"&&selector.rule.prelude.children.remove(selector.item)\nselector.matchedElements=matchedElements}if(!removeMatchedSelectors)return\nfor(const selector of sortedSelectors){if(selector.matchedElements==null)continue\nif(onlyMatchedOnce&&selector.matchedElements.length>1)continue\nfor(const selectedEl of selector.matchedElements){const classList=new Set(selectedEl.attributes.class==null?null:selectedEl.attributes.class.split(\" \"))\nfor(const child of selector.node.children)child.type!==\"ClassSelector\"||selectors.some((selector=>includesAttrSelector(selector.item,\"class\",child.name,true)))||classList.delete(child.name)\nclassList.size===0?delete selectedEl.attributes.class:selectedEl.attributes.class=Array.from(classList).join(\" \")\nconst firstSubSelector=selector.node.children.first\nfirstSubSelector?.type!==\"IdSelector\"||selectedEl.attributes.id!==firstSubSelector.name||selectors.some((selector=>includesAttrSelector(selector.item,\"id\",firstSubSelector.name,true)))||delete selectedEl.attributes.id}}for(const style of styles){walk$3(style.cssAst,{visit:\"Rule\",enter:function(node,item,list){node.type===\"Rule\"&&node.prelude.type===\"SelectorList\"&&node.prelude.children.isEmpty&&list.remove(item)}})\nif(style.cssAst.children.isEmpty)detachNodeFromParent(style.node,style.parentNode)\nelse{const firstChild=style.node.children[0]\nfirstChild.type!==\"text\"&&firstChild.type!==\"cdata\"||(firstChild.value=generate$I(style.cssAst))}}}}}}\nvar inlineStyles=Object.freeze({__proto__:null,description:description$I,fn:fn$I,name:name$I})\nconst regReferencesUrl=/\\burl\\(([\"'])?#(.+?)\\1\\)/g\nconst regReferencesHref=/^#(.+?)$/\nconst regReferencesBegin=/(\\w+)\\.[a-zA-Z]/\nconst encodeSVGDatauri=(str,type)=>{let prefix=\"data:image/svg+xml\"\nif(type&&type!==\"base64\")type===\"enc\"?str=prefix+\",\"+encodeURIComponent(str):type===\"unenc\"&&(str=prefix+\",\"+str)\nelse{prefix+=\";base64,\"\nstr=prefix+Buffer.from(str).toString(\"base64\")}return str}\nconst cleanupOutData=(data,params,command)=>{let str=\"\"\nlet delimiter\nlet prev\ndata.forEach(((item,i)=>{delimiter=\" \"\ni==0&&(delimiter=\"\")\nparams.noSpaceAfterFlags&&command==\"a\"\nconst itemStr=params.leadingZero?removeLeadingZero(item):item.toString()\nparams.negativeExtraSpace&&delimiter!=\"\"&&(item<0||itemStr.charAt(0)===\".\"&&prev%1!==0)&&(delimiter=\"\")\nprev=item\nstr+=delimiter+itemStr}))\nreturn str}\nconst removeLeadingZero=value=>{const strValue=value.toString()\nif(0<value&&value<1&&strValue.startsWith(\"0\"))return strValue.slice(1)\nif(-1<value&&value<0&&strValue[1]===\"0\")return strValue[0]+strValue.slice(2)\nreturn strValue}\nconst hasScriptsEventAttrs=[...attrsGroups.animationEvent,...attrsGroups.documentEvent,...attrsGroups.documentElementEvent,...attrsGroups.globalEvent,...attrsGroups.graphicalEvent]\nconst hasScripts=node=>{if(node.name===\"script\"&&node.children.length!==0)return true\nif(node.name===\"a\"){const hasJsLinks=Object.entries(node.attributes).some((([attrKey,attrValue])=>(attrKey===\"href\"||attrKey.endsWith(\":href\"))&&attrValue!=null&&attrValue.trimStart().toLowerCase().startsWith(\"javascript:\")))\nif(hasJsLinks)return true}return hasScriptsEventAttrs.some((attr=>node.attributes[attr]!=null))}\nconst includesUrlReference=body=>new RegExp(regReferencesUrl).test(body)\nconst includesCssVarReference=body=>/var\\s*\\(\\s*--/.test(body)\nconst findReferences=(attribute,value)=>{const results=[]\nif(referencesProps.has(attribute)){const matches=value.matchAll(regReferencesUrl)\nfor(const match of matches)results.push(match[2])}if(attribute===\"href\"||attribute.endsWith(\":href\")){const match=regReferencesHref.exec(value)\nmatch!=null&&results.push(match[1])}if(attribute===\"begin\"){const match=regReferencesBegin.exec(value)\nmatch!=null&&results.push(match[1])}return results.map((body=>decodeURI(body)))}\nconst toFixed=(num,precision)=>{const pow=10**precision\nreturn Math.round(num*pow)/pow}\nconst name$H=\"minifyStyles\"\nconst description$H=\"minifies styles and removes unused styles\"\nconst fn$H=(_root,{usage:usage,...params})=>{const styleElements=new Map\nconst elementsWithStyleAttributes=[]\nconst tagsUsage=new Set\nconst idsUsage=new Set\nconst classesUsage=new Set\nlet enableTagsUsage=true\nlet enableIdsUsage=true\nlet enableClassesUsage=true\nlet forceUsageDeoptimized=false\nif(typeof usage===\"boolean\"){enableTagsUsage=usage\nenableIdsUsage=usage\nenableClassesUsage=usage}else if(usage){enableTagsUsage=usage.tags==null||usage.tags\nenableIdsUsage=usage.ids==null||usage.ids\nenableClassesUsage=usage.classes==null||usage.classes\nforceUsageDeoptimized=usage.force!=null&&usage.force}let deoptimized=false\nreturn{element:{enter:(node,parentNode)=>{hasScripts(node)&&(deoptimized=true)\ntagsUsage.add(node.name)\nnode.attributes.id!=null&&idsUsage.add(node.attributes.id)\nif(node.attributes.class!=null)for(const className of node.attributes.class.split(/\\s+/))classesUsage.add(className)\nnode.name===\"style\"&&node.children.length!==0?styleElements.set(node,parentNode):node.attributes.style!=null&&elementsWithStyleAttributes.push(node)}},root:{exit:()=>{const cssoUsage={}\nif(!deoptimized||forceUsageDeoptimized){enableTagsUsage&&(cssoUsage.tags=Array.from(tagsUsage))\nenableIdsUsage&&(cssoUsage.ids=Array.from(idsUsage))\nenableClassesUsage&&(cssoUsage.classes=Array.from(classesUsage))}for(const[styleNode,styleNodeParent]of styleElements.entries())if(styleNode.children[0].type===\"text\"||styleNode.children[0].type===\"cdata\"){const cssText=styleNode.children[0].value\nconst minified=minifyStylesheet(cssText,{...params,usage:cssoUsage}).css\nif(minified.length===0){detachNodeFromParent(styleNode,styleNodeParent)\ncontinue}if(cssText.indexOf(\">\")>=0||cssText.indexOf(\"<\")>=0){styleNode.children[0].type=\"cdata\"\nstyleNode.children[0].value=minified}else{styleNode.children[0].type=\"text\"\nstyleNode.children[0].value=minified}}for(const node of elementsWithStyleAttributes){const elemStyle=node.attributes.style\nnode.attributes.style=minifyBlock(elemStyle,{...params}).css}}}}}\nvar minifyStyles=Object.freeze({__proto__:null,description:description$H,fn:fn$H,name:name$H})\nconst name$G=\"cleanupIds\"\nconst description$G=\"removes unused IDs and minifies used\"\nconst generateIdChars=[\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\"]\nconst maxIdIndex=generateIdChars.length-1\nconst hasStringPrefix=(string,prefixes)=>{for(const prefix of prefixes)if(string.startsWith(prefix))return true\nreturn false}\nconst generateId=currentId=>{if(currentId==null)return[0]\ncurrentId[currentId.length-1]+=1\nfor(let i=currentId.length-1;i>0;i--)if(currentId[i]>maxIdIndex){currentId[i]=0\ncurrentId[i-1]!==void 0&&currentId[i-1]++}if(currentId[0]>maxIdIndex){currentId[0]=0\ncurrentId.unshift(0)}return currentId}\nconst getIdString=arr=>arr.map((i=>generateIdChars[i])).join(\"\")\nconst fn$G=(_root,params)=>{const{remove:remove=true,minify:minify=true,preserve:preserve=[],preservePrefixes:preservePrefixes=[],force:force=false}=params\nconst preserveIds=new Set(Array.isArray(preserve)?preserve:preserve?[preserve]:[])\nconst preserveIdPrefixes=Array.isArray(preservePrefixes)?preservePrefixes:preservePrefixes?[preservePrefixes]:[]\nconst nodeById=new Map\nconst referencesById=new Map\nlet deoptimized=false\nreturn{element:{enter:node=>{if(!force){if(node.name===\"style\"&&node.children.length!==0||hasScripts(node)){deoptimized=true\nreturn}if(node.name===\"svg\"){let hasDefsOnly=true\nfor(const child of node.children)if(child.type!==\"element\"||child.name!==\"defs\"){hasDefsOnly=false\nbreak}if(hasDefsOnly)return visitSkip}}for(const[name,value]of Object.entries(node.attributes))if(name===\"id\"){const id=value\nnodeById.has(id)?delete node.attributes.id:nodeById.set(id,node)}else{const ids=findReferences(name,value)\nfor(const id of ids){let refs=referencesById.get(id)\nif(refs==null){refs=[]\nreferencesById.set(id,refs)}refs.push({element:node,name:name})}}}},root:{exit:()=>{if(deoptimized)return\nconst isIdPreserved=id=>preserveIds.has(id)||hasStringPrefix(id,preserveIdPrefixes)\nlet currentId=null\nfor(const[id,refs]of referencesById){const node=nodeById.get(id)\nif(node!=null){if(minify&&isIdPreserved(id)===false){let currentIdString\ndo{currentId=generateId(currentId)\ncurrentIdString=getIdString(currentId)}while(isIdPreserved(currentIdString)||referencesById.has(currentIdString)&&nodeById.get(currentIdString)==null)\nnode.attributes.id=currentIdString\nfor(const{element:element,name:name}of refs){const value=element.attributes[name]\nvalue.includes(\"#\")?element.attributes[name]=value.replace(`#${encodeURI(id)}`,`#${currentIdString}`).replace(`#${id}`,`#${currentIdString}`):element.attributes[name]=value.replace(`${id}.`,`${currentIdString}.`)}}nodeById.delete(id)}}if(remove)for(const[id,node]of nodeById)isIdPreserved(id)===false&&delete node.attributes.id}}}}\nvar cleanupIds=Object.freeze({__proto__:null,description:description$G,fn:fn$G,name:name$G})\nconst name$F=\"removeUselessDefs\"\nconst description$F=\"removes elements in <defs> without id\"\nconst fn$F=()=>({element:{enter:(node,parentNode)=>{if(node.name===\"defs\"||elemsGroups.nonRendering.has(node.name)&&node.attributes.id==null){const usefulNodes=[]\ncollectUsefulNodes(node,usefulNodes)\nusefulNodes.length===0&&detachNodeFromParent(node,parentNode)\nnode.children=usefulNodes}}}})\nconst collectUsefulNodes=(node,usefulNodes)=>{for(const child of node.children)child.type===\"element\"&&(child.attributes.id!=null||child.name===\"style\"?usefulNodes.push(child):collectUsefulNodes(child,usefulNodes))}\nvar removeUselessDefs=Object.freeze({__proto__:null,description:description$F,fn:fn$F,name:name$F})\nconst name$E=\"cleanupNumericValues\"\nconst description$E='rounds numeric values to the fixed precision, removes default \"px\" units'\nconst regNumericValues$3=/^([-+]?\\d*\\.?\\d+([eE][-+]?\\d+)?)(px|pt|pc|mm|cm|m|in|ft|em|ex|%)?$/\nconst absoluteLengths$1={cm:96/2.54,mm:96/25.4,in:96,pt:4/3,pc:16,px:1}\nconst fn$E=(_root,params)=>{const{floatPrecision:floatPrecision=3,leadingZero:leadingZero=true,defaultPx:defaultPx=true,convertToPx:convertToPx=true}=params\nreturn{element:{enter:node=>{if(node.attributes.viewBox!=null){const numbers=node.attributes.viewBox.trim().split(/(?:\\s,?|,)\\s*/g)\nnode.attributes.viewBox=numbers.map((value=>{const num=Number(value)\nreturn Number.isNaN(num)?value:Number(num.toFixed(floatPrecision))})).join(\" \")}for(const[name,value]of Object.entries(node.attributes)){if(name===\"version\")continue\nconst match=regNumericValues$3.exec(value)\nif(match){let num=Number(Number(match[1]).toFixed(floatPrecision))\nconst matchedUnit=match[3]||\"\"\nlet units=matchedUnit\nif(convertToPx&&units!==\"\"&&units in absoluteLengths$1){const pxNum=Number((absoluteLengths$1[units]*Number(match[1])).toFixed(floatPrecision))\nif(pxNum.toString().length<match[0].length){num=pxNum\nunits=\"px\"}}let str\nstr=leadingZero?removeLeadingZero(num):num.toString()\ndefaultPx&&units===\"px\"&&(units=\"\")\nnode.attributes[name]=str+units}}}}}}\nvar cleanupNumericValues=Object.freeze({__proto__:null,description:description$E,fn:fn$E,name:name$E})\nconst name$D=\"convertColors\"\nconst description$D=\"converts colors: rgb() to #rrggbb and #rrggbb to #rgb\"\nconst rNumber=\"([+-]?(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.?)%?)\"\nconst rComma=\"(?:\\\\s*,\\\\s*|\\\\s+)\"\nconst regRGB=new RegExp(\"^rgb\\\\(\\\\s*\"+rNumber+rComma+rNumber+rComma+rNumber+\"\\\\s*\\\\)$\")\nconst regHEX=/^#(([a-fA-F0-9])\\2){3}$/\nconst convertRgbToHex=([r,g,b])=>{const hexNumber=(256+r<<8|g)<<8|b\nreturn\"#\"+hexNumber.toString(16).slice(1).toUpperCase()}\nconst fn$D=(_root,params)=>{const{currentColor:currentColor=false,names2hex:names2hex=true,rgb2hex:rgb2hex=true,convertCase:convertCase=\"lower\",shorthex:shorthex=true,shortname:shortname=true}=params\nlet maskCounter=0\nreturn{element:{enter:node=>{node.name===\"mask\"&&maskCounter++\nfor(const[name,value]of Object.entries(node.attributes))if(colorsProps.has(name)){let val=value\nif(currentColor&&maskCounter===0){let matched\nmatched=typeof currentColor===\"string\"?val===currentColor:currentColor instanceof RegExp?currentColor.exec(val)!=null:val!==\"none\"\nmatched&&(val=\"currentColor\")}if(names2hex){const colorName=val.toLowerCase()\ncolorsNames[colorName]!=null&&(val=colorsNames[colorName])}if(rgb2hex){const match=val.match(regRGB)\nif(match!=null){const numbers=match.slice(1,4).map((m=>{let n\nn=m.indexOf(\"%\")>-1?Math.round(parseFloat(m)*2.55):Number(m)\nreturn Math.max(0,Math.min(n,255))}))\nval=convertRgbToHex(numbers)}}!convertCase||includesUrlReference(val)||includesCssVarReference(val)||val===\"currentColor\"||(convertCase===\"lower\"?val=val.toLowerCase():convertCase===\"upper\"&&(val=val.toUpperCase()))\nif(shorthex){const match=regHEX.exec(val)\nmatch!=null&&(val=\"#\"+match[0][1]+match[0][3]+match[0][5])}if(shortname){const colorName=val.toLowerCase()\ncolorsShortNames[colorName]!=null&&(val=colorsShortNames[colorName])}node.attributes[name]=val}},exit:node=>{node.name===\"mask\"&&maskCounter--}}}}\nvar convertColors=Object.freeze({__proto__:null,description:description$D,fn:fn$D,name:name$D})\nconst name$C=\"removeUnknownsAndDefaults\"\nconst description$C=\"removes unknown elements content and attributes, removes attrs with default values\"\nconst allowedChildrenPerElement=new Map\nconst allowedAttributesPerElement=new Map\nconst attributesDefaultsPerElement=new Map\nfor(const[name,config]of Object.entries(elems)){const allowedChildren=new Set\nif(config.content)for(const elementName of config.content)allowedChildren.add(elementName)\nif(config.contentGroups)for(const contentGroupName of config.contentGroups){const elemsGroup=elemsGroups[contentGroupName]\nif(elemsGroup)for(const elementName of elemsGroup)allowedChildren.add(elementName)}const allowedAttributes=new Set\nif(config.attrs)for(const attrName of config.attrs)allowedAttributes.add(attrName)\nconst attributesDefaults=new Map\nif(config.defaults)for(const[attrName,defaultValue]of Object.entries(config.defaults))attributesDefaults.set(attrName,defaultValue)\nfor(const attrsGroupName of config.attrsGroups){const attrsGroup=attrsGroups[attrsGroupName]\nif(attrsGroup)for(const attrName of attrsGroup)allowedAttributes.add(attrName)\nconst groupDefaults=attrsGroupsDefaults[attrsGroupName]\nif(groupDefaults)for(const[attrName,defaultValue]of Object.entries(groupDefaults))attributesDefaults.set(attrName,defaultValue)}allowedChildrenPerElement.set(name,allowedChildren)\nallowedAttributesPerElement.set(name,allowedAttributes)\nattributesDefaultsPerElement.set(name,attributesDefaults)}const fn$C=(root,params)=>{const{unknownContent:unknownContent=true,unknownAttrs:unknownAttrs=true,defaultAttrs:defaultAttrs=true,defaultMarkupDeclarations:defaultMarkupDeclarations=true,uselessOverrides:uselessOverrides=true,keepDataAttrs:keepDataAttrs=true,keepAriaAttrs:keepAriaAttrs=true,keepRoleAttr:keepRoleAttr=false}=params\nconst stylesheet=collectStylesheet(root)\nreturn{instruction:{enter:node=>{defaultMarkupDeclarations&&(node.value=node.value.replace(/\\s*standalone\\s*=\\s*([\"'])no\\1/,\"\"))}},element:{enter:(node,parentNode)=>{if(node.name.includes(\":\"))return\nif(node.name===\"foreignObject\")return visitSkip\nif(unknownContent&&parentNode.type===\"element\"){const allowedChildren=allowedChildrenPerElement.get(parentNode.name)\nif(allowedChildren==null||allowedChildren.size===0){if(allowedChildrenPerElement.get(node.name)==null){detachNodeFromParent(node,parentNode)\nreturn}}else if(allowedChildren.has(node.name)===false){detachNodeFromParent(node,parentNode)\nreturn}}const allowedAttributes=allowedAttributesPerElement.get(node.name)\nconst attributesDefaults=attributesDefaultsPerElement.get(node.name)\nconst computedParentStyle=parentNode.type===\"element\"?computeStyle(stylesheet,parentNode):null\nfor(const[name,value]of Object.entries(node.attributes)){if(keepDataAttrs&&name.startsWith(\"data-\"))continue\nif(keepAriaAttrs&&name.startsWith(\"aria-\"))continue\nif(keepRoleAttr&&name===\"role\")continue\nif(name===\"xmlns\")continue\nif(name.includes(\":\")){const[prefix]=name.split(\":\")\nif(prefix!==\"xml\"&&prefix!==\"xlink\")continue}unknownAttrs&&allowedAttributes&&allowedAttributes.has(name)===false&&delete node.attributes[name]\ndefaultAttrs&&node.attributes.id==null&&attributesDefaults&&attributesDefaults.get(name)===value&&(computedParentStyle?.[name]!=null||stylesheet.rules.some((rule=>includesAttrSelector(rule.selector,name)))||delete node.attributes[name])\nif(uselessOverrides&&node.attributes.id==null){const style=computedParentStyle?.[name]\npresentationNonInheritableGroupAttrs.has(name)===false&&style!=null&&style.type===\"static\"&&style.value===value&&delete node.attributes[name]}}}}}}\nvar removeUnknownsAndDefaults=Object.freeze({__proto__:null,description:description$C,fn:fn$C,name:name$C})\nconst name$B=\"removeNonInheritableGroupAttrs\"\nconst description$B=\"removes non-inheritable group's presentational attributes\"\nconst fn$B=()=>({element:{enter:node=>{if(node.name===\"g\")for(const name of Object.keys(node.attributes))!attrsGroups.presentation.has(name)||inheritableAttrs.has(name)||presentationNonInheritableGroupAttrs.has(name)||delete node.attributes[name]}}})\nvar removeNonInheritableGroupAttrs=Object.freeze({__proto__:null,description:description$B,fn:fn$B,name:name$B})\nconst name$A=\"removeUselessStrokeAndFill\"\nconst description$A=\"removes useless stroke and fill attributes\"\nconst fn$A=(root,params)=>{const{stroke:removeStroke=true,fill:removeFill=true,removeNone:removeNone=false}=params\nlet hasStyleOrScript=false\nvisit(root,{element:{enter:node=>{(node.name===\"style\"||hasScripts(node))&&(hasStyleOrScript=true)}}})\nif(hasStyleOrScript)return null\nconst stylesheet=collectStylesheet(root)\nreturn{element:{enter:(node,parentNode)=>{if(node.attributes.id!=null)return visitSkip\nif(!elemsGroups.shape.has(node.name))return\nconst computedStyle=computeStyle(stylesheet,node)\nconst stroke=computedStyle.stroke\nconst strokeOpacity=computedStyle[\"stroke-opacity\"]\nconst strokeWidth=computedStyle[\"stroke-width\"]\nconst markerEnd=computedStyle[\"marker-end\"]\nconst fill=computedStyle.fill\nconst fillOpacity=computedStyle[\"fill-opacity\"]\nconst computedParentStyle=parentNode.type===\"element\"?computeStyle(stylesheet,parentNode):null\nconst parentStroke=computedParentStyle==null?null:computedParentStyle.stroke\nif(removeStroke&&(stroke==null||stroke.type===\"static\"&&stroke.value==\"none\"||strokeOpacity!=null&&strokeOpacity.type===\"static\"&&strokeOpacity.value===\"0\"||strokeWidth!=null&&strokeWidth.type===\"static\"&&strokeWidth.value===\"0\")&&(strokeWidth!=null&&strokeWidth.type===\"static\"&&strokeWidth.value===\"0\"||markerEnd==null)){for(const name of Object.keys(node.attributes))name.startsWith(\"stroke\")&&delete node.attributes[name]\nparentStroke!=null&&parentStroke.type===\"static\"&&parentStroke.value!==\"none\"&&(node.attributes.stroke=\"none\")}if(removeFill&&(fill!=null&&fill.type===\"static\"&&fill.value===\"none\"||fillOpacity!=null&&fillOpacity.type===\"static\"&&fillOpacity.value===\"0\")){for(const name of Object.keys(node.attributes))name.startsWith(\"fill-\")&&delete node.attributes[name];(fill==null||fill.type===\"static\"&&fill.value!==\"none\")&&(node.attributes.fill=\"none\")}removeNone&&(stroke!=null&&node.attributes.stroke!==\"none\"||(fill==null||fill.type!==\"static\"||fill.value!==\"none\")&&node.attributes.fill!==\"none\"||detachNodeFromParent(node,parentNode))}}}}\nvar removeUselessStrokeAndFill=Object.freeze({__proto__:null,description:description$A,fn:fn$A,name:name$A})\nconst name$z=\"cleanupEnableBackground\"\nconst description$z=\"remove or cleanup enable-background attribute when possible\"\nconst regEnableBackground=/^new\\s0\\s0\\s([-+]?\\d*\\.?\\d+([eE][-+]?\\d+)?)\\s([-+]?\\d*\\.?\\d+([eE][-+]?\\d+)?)$/\nconst fn$z=root=>{let hasFilter=false\nvisit(root,{element:{enter:node=>{node.name===\"filter\"&&(hasFilter=true)}}})\nreturn{element:{enter:node=>{let newStyle=null\nlet enableBackgroundDeclaration=null\nif(node.attributes.style!=null){newStyle=parse$I(node.attributes.style,{context:\"declarationList\"})\nif(newStyle.type===\"DeclarationList\"){const enableBackgroundDeclarations=[]\nwalk$3(newStyle,((node,nodeItem)=>{if(node.type===\"Declaration\"&&node.property===\"enable-background\"){enableBackgroundDeclarations.push(nodeItem)\nenableBackgroundDeclaration=nodeItem}}))\nfor(let i=0;i<enableBackgroundDeclarations.length-1;i++)newStyle.children.remove(enableBackgroundDeclarations[i])}}if(!hasFilter){delete node.attributes[\"enable-background\"]\nif(newStyle?.type===\"DeclarationList\"){enableBackgroundDeclaration&&newStyle.children.remove(enableBackgroundDeclaration)\nnewStyle.children.isEmpty?delete node.attributes.style:node.attributes.style=generate$I(newStyle)}return}const hasDimensions=node.attributes.width!=null&&node.attributes.height!=null\nif((node.name===\"svg\"||node.name===\"mask\"||node.name===\"pattern\")&&hasDimensions){const attrValue=node.attributes[\"enable-background\"]\nconst attrCleaned=cleanupValue(attrValue,node.name,node.attributes.width,node.attributes.height)\nattrCleaned?node.attributes[\"enable-background\"]=attrCleaned:delete node.attributes[\"enable-background\"]\nif(newStyle?.type===\"DeclarationList\"&&enableBackgroundDeclaration){const styleValue=generate$I(enableBackgroundDeclaration.data.value)\nconst styleCleaned=cleanupValue(styleValue,node.name,node.attributes.width,node.attributes.height)\nstyleCleaned?enableBackgroundDeclaration.data.value={type:\"Raw\",value:styleCleaned}:newStyle.children.remove(enableBackgroundDeclaration)}}newStyle?.type===\"DeclarationList\"&&(newStyle.children.isEmpty?delete node.attributes.style:node.attributes.style=generate$I(newStyle))}}}}\nconst cleanupValue=(value,nodeName,width,height)=>{const match=regEnableBackground.exec(value)\nif(match!=null&&width===match[1]&&height===match[3])return nodeName===\"svg\"?void 0:\"new\"\nreturn value}\nvar cleanupEnableBackground=Object.freeze({__proto__:null,description:description$z,fn:fn$z,name:name$z})\nconst argsCountPerCommand={M:2,m:2,Z:0,z:0,L:2,l:2,H:1,h:1,V:1,v:1,C:6,c:6,S:4,s:4,Q:4,q:4,T:2,t:2,A:7,a:7}\nconst isCommand=c=>c in argsCountPerCommand\nconst isWhiteSpace=c=>c===\" \"||c===\"\\t\"||c===\"\\r\"||c===\"\\n\"\nconst isDigit=c=>{const codePoint=c.codePointAt(0)\nif(codePoint==null)return false\nreturn 48<=codePoint&&codePoint<=57}\nconst readNumber=(string,cursor)=>{let i=cursor\nlet value=\"\"\nlet state=\"none\"\nfor(;i<string.length;i+=1){const c=string[i]\nif(c===\"+\"||c===\"-\"){if(state===\"none\"){state=\"sign\"\nvalue+=c\ncontinue}if(state===\"e\"){state=\"exponent_sign\"\nvalue+=c\ncontinue}}if(isDigit(c)){if(state===\"none\"||state===\"sign\"||state===\"whole\"){state=\"whole\"\nvalue+=c\ncontinue}if(state===\"decimal_point\"||state===\"decimal\"){state=\"decimal\"\nvalue+=c\ncontinue}if(state===\"e\"||state===\"exponent_sign\"||state===\"exponent\"){state=\"exponent\"\nvalue+=c\ncontinue}}if(c===\".\"&&(state===\"none\"||state===\"sign\"||state===\"whole\")){state=\"decimal_point\"\nvalue+=c\ncontinue}if((c===\"E\"||c==\"e\")&&(state===\"whole\"||state===\"decimal_point\"||state===\"decimal\")){state=\"e\"\nvalue+=c\ncontinue}break}const number=Number.parseFloat(value)\nreturn Number.isNaN(number)?[cursor,null]:[i-1,number]}\nconst parsePathData=string=>{const pathData=[]\nlet command=null\nlet args=[]\nlet argsCount=0\nlet canHaveComma=false\nlet hadComma=false\nfor(let i=0;i<string.length;i+=1){const c=string.charAt(i)\nif(isWhiteSpace(c))continue\nif(canHaveComma&&c===\",\"){if(hadComma)break\nhadComma=true\ncontinue}if(isCommand(c)){if(hadComma)return pathData\nif(command==null){if(c!==\"M\"&&c!==\"m\")return pathData}else if(args.length!==0)return pathData\ncommand=c\nargs=[]\nargsCount=argsCountPerCommand[command]\ncanHaveComma=false\nargsCount===0&&pathData.push({command:command,args:args})\ncontinue}if(command==null)return pathData\nlet newCursor=i\nlet number=null\nif(command===\"A\"||command===\"a\"){const position=args.length\nposition!==0&&position!==1&&position!==2&&position!==5&&position!==6||([newCursor,number]=readNumber(string,i))\nif(position===3||position===4){c===\"0\"&&(number=0)\nc===\"1\"&&(number=1)}}else[newCursor,number]=readNumber(string,i)\nif(number==null)return pathData\nargs.push(number)\ncanHaveComma=true\nhadComma=false\ni=newCursor\nif(args.length===argsCount){if(command===\"A\"||command===\"a\"){args[0]=Math.abs(args[0])\nargs[1]=Math.abs(args[1])}pathData.push({command:command,args:args})\ncommand===\"M\"&&(command=\"L\")\ncommand===\"m\"&&(command=\"l\")\nargs=[]}}return pathData}\nconst roundAndStringify=(number,precision)=>{precision!=null&&(number=toFixed(number,precision))\nreturn{roundedStr:removeLeadingZero(number),rounded:number}}\nconst stringifyArgs=(command,args,precision,disableSpaceAfterFlags)=>{let result=\"\"\nlet previous\nfor(let i=0;i<args.length;i++){const{roundedStr:roundedStr,rounded:rounded}=roundAndStringify(args[i],precision)\n!disableSpaceAfterFlags||command!==\"A\"&&command!==\"a\"||i%7!==4&&i%7!==5?i===0||rounded<0?result+=roundedStr:Number.isInteger(previous)||isDigit(roundedStr[0])?result+=` ${roundedStr}`:result+=roundedStr:result+=roundedStr\nprevious=rounded}return result}\nconst stringifyPathData=({pathData:pathData,precision:precision,disableSpaceAfterFlags:disableSpaceAfterFlags})=>{if(pathData.length===1){const{command:command,args:args}=pathData[0]\nreturn command+stringifyArgs(command,args,precision,disableSpaceAfterFlags)}let result=\"\"\nlet prev={...pathData[0]}\npathData[1].command===\"L\"?prev.command=\"M\":pathData[1].command===\"l\"&&(prev.command=\"m\")\nfor(let i=1;i<pathData.length;i++){const{command:command,args:args}=pathData[i]\nif(prev.command===command&&prev.command!==\"M\"&&prev.command!==\"m\"||prev.command===\"M\"&&command===\"L\"||prev.command===\"m\"&&command===\"l\"){prev.args=[...prev.args,...args]\ni===pathData.length-1&&(result+=prev.command+stringifyArgs(prev.command,prev.args,precision,disableSpaceAfterFlags))}else{result+=prev.command+stringifyArgs(prev.command,prev.args,precision,disableSpaceAfterFlags)\ni===pathData.length-1?result+=command+stringifyArgs(command,args,precision,disableSpaceAfterFlags):prev={command:command,args:args}}}return result}\nconst nonRendering=elemsGroups.nonRendering\nconst name$y=\"removeHiddenElems\"\nconst description$y=\"removes hidden elements (zero sized, with absent attributes)\"\nconst fn$y=(root,params)=>{const{isHidden:isHidden=true,displayNone:displayNone=true,opacity0:opacity0=true,circleR0:circleR0=true,ellipseRX0:ellipseRX0=true,ellipseRY0:ellipseRY0=true,rectWidth0:rectWidth0=true,rectHeight0:rectHeight0=true,patternWidth0:patternWidth0=true,patternHeight0:patternHeight0=true,imageWidth0:imageWidth0=true,imageHeight0:imageHeight0=true,pathEmptyD:pathEmptyD=true,polylineEmptyPoints:polylineEmptyPoints=true,polygonEmptyPoints:polygonEmptyPoints=true}=params\nconst stylesheet=collectStylesheet(root)\nconst nonRenderedNodes=new Map\nconst removedDefIds=new Set\nconst allDefs=new Map\nconst allReferences=new Set\nconst referencesById=new Map\nlet deoptimized=false\nfunction canRemoveNonRenderingNode(node){if(allReferences.has(node.attributes.id))return false\nfor(const child of node.children)if(child.type===\"element\"&&!canRemoveNonRenderingNode(child))return false\nreturn true}function removeElement(node,parentNode){node.type===\"element\"&&node.attributes.id!=null&&parentNode.type===\"element\"&&parentNode.name===\"defs\"&&removedDefIds.add(node.attributes.id)\ndetachNodeFromParent(node,parentNode)}visit(root,{element:{enter:(node,parentNode)=>{if(nonRendering.has(node.name)){nonRenderedNodes.set(node,parentNode)\nreturn visitSkip}const computedStyle=computeStyle(stylesheet,node)\nif(opacity0&&computedStyle.opacity&&computedStyle.opacity.type===\"static\"&&computedStyle.opacity.value===\"0\"){if(node.name===\"path\"){nonRenderedNodes.set(node,parentNode)\nreturn visitSkip}removeElement(node,parentNode)}}}})\nreturn{element:{enter:(node,parentNode)=>{if(node.name===\"style\"&&node.children.length!==0||hasScripts(node)){deoptimized=true\nreturn}node.name===\"defs\"&&allDefs.set(node,parentNode)\nif(node.name===\"use\")for(const attr of Object.keys(node.attributes)){if(attr!==\"href\"&&!attr.endsWith(\":href\"))continue\nconst value=node.attributes[attr]\nconst id=value.slice(1)\nlet refs=referencesById.get(id)\nif(!refs){refs=[]\nreferencesById.set(id,refs)}refs.push({node:node,parentNode:parentNode})}if(circleR0&&node.name===\"circle\"&&node.children.length===0&&node.attributes.r===\"0\"){removeElement(node,parentNode)\nreturn}if(ellipseRX0&&node.name===\"ellipse\"&&node.children.length===0&&node.attributes.rx===\"0\"){removeElement(node,parentNode)\nreturn}if(ellipseRY0&&node.name===\"ellipse\"&&node.children.length===0&&node.attributes.ry===\"0\"){removeElement(node,parentNode)\nreturn}if(rectWidth0&&node.name===\"rect\"&&node.children.length===0&&node.attributes.width===\"0\"){removeElement(node,parentNode)\nreturn}if(rectHeight0&&rectWidth0&&node.name===\"rect\"&&node.children.length===0&&node.attributes.height===\"0\"){removeElement(node,parentNode)\nreturn}if(patternWidth0&&node.name===\"pattern\"&&node.attributes.width===\"0\"){removeElement(node,parentNode)\nreturn}if(patternHeight0&&node.name===\"pattern\"&&node.attributes.height===\"0\"){removeElement(node,parentNode)\nreturn}if(imageWidth0&&node.name===\"image\"&&node.attributes.width===\"0\"){removeElement(node,parentNode)\nreturn}if(imageHeight0&&node.name===\"image\"&&node.attributes.height===\"0\"){removeElement(node,parentNode)\nreturn}if(polylineEmptyPoints&&node.name===\"polyline\"&&node.attributes.points==null){removeElement(node,parentNode)\nreturn}if(polygonEmptyPoints&&node.name===\"polygon\"&&node.attributes.points==null){removeElement(node,parentNode)\nreturn}const computedStyle=computeStyle(stylesheet,node)\nif(isHidden&&computedStyle.visibility&&computedStyle.visibility.type===\"static\"&&computedStyle.visibility.value===\"hidden\"&&querySelector(node,\"[visibility=visible]\")==null){removeElement(node,parentNode)\nreturn}if(displayNone&&computedStyle.display&&computedStyle.display.type===\"static\"&&computedStyle.display.value===\"none\"&&node.name!==\"marker\"){removeElement(node,parentNode)\nreturn}if(pathEmptyD&&node.name===\"path\"){if(node.attributes.d==null){removeElement(node,parentNode)\nreturn}const pathData=parsePathData(node.attributes.d)\nif(pathData.length===0){removeElement(node,parentNode)\nreturn}if(pathData.length===1&&computedStyle[\"marker-start\"]==null&&computedStyle[\"marker-end\"]==null){removeElement(node,parentNode)\nreturn}}for(const[name,value]of Object.entries(node.attributes)){const ids=findReferences(name,value)\nfor(const id of ids)allReferences.add(id)}}},root:{exit:()=>{for(const id of removedDefIds){const refs=referencesById.get(id)\nif(refs)for(const{node:node,parentNode:parentNode}of refs)detachNodeFromParent(node,parentNode)}if(!deoptimized)for(const[nonRenderedNode,nonRenderedParent]of nonRenderedNodes.entries())canRemoveNonRenderingNode(nonRenderedNode)&&detachNodeFromParent(nonRenderedNode,nonRenderedParent)\nfor(const[node,parentNode]of allDefs.entries())node.children.length===0&&detachNodeFromParent(node,parentNode)}}}}\nvar removeHiddenElems=Object.freeze({__proto__:null,description:description$y,fn:fn$y,name:name$y})\nconst name$x=\"removeEmptyText\"\nconst description$x=\"removes empty <text> elements\"\nconst fn$x=(root,params)=>{const{text:text=true,tspan:tspan=true,tref:tref=true}=params\nreturn{element:{enter:(node,parentNode)=>{text&&node.name===\"text\"&&node.children.length===0&&detachNodeFromParent(node,parentNode)\ntspan&&node.name===\"tspan\"&&node.children.length===0&&detachNodeFromParent(node,parentNode)\ntref&&node.name===\"tref\"&&node.attributes[\"xlink:href\"]==null&&detachNodeFromParent(node,parentNode)}}}}\nvar removeEmptyText=Object.freeze({__proto__:null,description:description$x,fn:fn$x,name:name$x})\nconst name$w=\"convertShapeToPath\"\nconst description$w=\"converts basic shapes to more compact path form\"\nconst regNumber=/[-+]?(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][-+]?\\d+)?/g\nconst fn$w=(root,params)=>{const{convertArcs:convertArcs=false,floatPrecision:precision}=params\nreturn{element:{enter:(node,parentNode)=>{if(node.name===\"rect\"&&node.attributes.width!=null&&node.attributes.height!=null&&node.attributes.rx==null&&node.attributes.ry==null){const x=Number(node.attributes.x||\"0\")\nconst y=Number(node.attributes.y||\"0\")\nconst width=Number(node.attributes.width)\nconst height=Number(node.attributes.height)\nif(Number.isNaN(x-y+width-height))return\nconst pathData=[{command:\"M\",args:[x,y]},{command:\"H\",args:[x+width]},{command:\"V\",args:[y+height]},{command:\"H\",args:[x]},{command:\"z\",args:[]}]\nnode.name=\"path\"\nnode.attributes.d=stringifyPathData({pathData:pathData,precision:precision})\ndelete node.attributes.x\ndelete node.attributes.y\ndelete node.attributes.width\ndelete node.attributes.height}if(node.name===\"line\"){const x1=Number(node.attributes.x1||\"0\")\nconst y1=Number(node.attributes.y1||\"0\")\nconst x2=Number(node.attributes.x2||\"0\")\nconst y2=Number(node.attributes.y2||\"0\")\nif(Number.isNaN(x1-y1+x2-y2))return\nconst pathData=[{command:\"M\",args:[x1,y1]},{command:\"L\",args:[x2,y2]}]\nnode.name=\"path\"\nnode.attributes.d=stringifyPathData({pathData:pathData,precision:precision})\ndelete node.attributes.x1\ndelete node.attributes.y1\ndelete node.attributes.x2\ndelete node.attributes.y2}if((node.name===\"polyline\"||node.name===\"polygon\")&&node.attributes.points!=null){const coords=(node.attributes.points.match(regNumber)||[]).map(Number)\nif(coords.length<4){detachNodeFromParent(node,parentNode)\nreturn}const pathData=[]\nfor(let i=0;i<coords.length;i+=2)pathData.push({command:i===0?\"M\":\"L\",args:coords.slice(i,i+2)})\nnode.name===\"polygon\"&&pathData.push({command:\"z\",args:[]})\nnode.name=\"path\"\nnode.attributes.d=stringifyPathData({pathData:pathData,precision:precision})\ndelete node.attributes.points}if(node.name===\"circle\"&&convertArcs){const cx=Number(node.attributes.cx||\"0\")\nconst cy=Number(node.attributes.cy||\"0\")\nconst r=Number(node.attributes.r||\"0\")\nif(Number.isNaN(cx-cy+r))return\nconst pathData=[{command:\"M\",args:[cx,cy-r]},{command:\"A\",args:[r,r,0,1,0,cx,cy+r]},{command:\"A\",args:[r,r,0,1,0,cx,cy-r]},{command:\"z\",args:[]}]\nnode.name=\"path\"\nnode.attributes.d=stringifyPathData({pathData:pathData,precision:precision})\ndelete node.attributes.cx\ndelete node.attributes.cy\ndelete node.attributes.r}if(node.name===\"ellipse\"&&convertArcs){const ecx=Number(node.attributes.cx||\"0\")\nconst ecy=Number(node.attributes.cy||\"0\")\nconst rx=Number(node.attributes.rx||\"0\")\nconst ry=Number(node.attributes.ry||\"0\")\nif(Number.isNaN(ecx-ecy+rx-ry))return\nconst pathData=[{command:\"M\",args:[ecx,ecy-ry]},{command:\"A\",args:[rx,ry,0,1,0,ecx,ecy+ry]},{command:\"A\",args:[rx,ry,0,1,0,ecx,ecy-ry]},{command:\"z\",args:[]}]\nnode.name=\"path\"\nnode.attributes.d=stringifyPathData({pathData:pathData,precision:precision})\ndelete node.attributes.cx\ndelete node.attributes.cy\ndelete node.attributes.rx\ndelete node.attributes.ry}}}}}\nvar convertShapeToPath=Object.freeze({__proto__:null,description:description$w,fn:fn$w,name:name$w})\nconst name$v=\"convertEllipseToCircle\"\nconst description$v=\"converts non-eccentric <ellipse>s to <circle>s\"\nconst fn$v=()=>({element:{enter:node=>{if(node.name===\"ellipse\"){const rx=node.attributes.rx||\"0\"\nconst ry=node.attributes.ry||\"0\"\nif(rx===ry||rx===\"auto\"||ry===\"auto\"){node.name=\"circle\"\nconst radius=rx===\"auto\"?ry:rx\ndelete node.attributes.rx\ndelete node.attributes.ry\nnode.attributes.r=radius}}}}})\nvar convertEllipseToCircle=Object.freeze({__proto__:null,description:description$v,fn:fn$v,name:name$v})\nconst name$u=\"moveElemsAttrsToGroup\"\nconst description$u=\"Move common attributes of group children to the group\"\nconst fn$u=root=>{let deoptimizedWithStyles=false\nvisit(root,{element:{enter:node=>{node.name===\"style\"&&(deoptimizedWithStyles=true)}}})\nreturn{element:{exit:node=>{if(node.name!==\"g\"||node.children.length<=1)return\nif(deoptimizedWithStyles)return\nconst commonAttributes=new Map\nlet initial=true\nlet everyChildIsPath=true\nfor(const child of node.children)if(child.type===\"element\"){pathElems.has(child.name)||(everyChildIsPath=false)\nif(initial){initial=false\nfor(const[name,value]of Object.entries(child.attributes))inheritableAttrs.has(name)&&commonAttributes.set(name,value)}else for(const[name,value]of commonAttributes)child.attributes[name]!==value&&commonAttributes.delete(name)}node.attributes[\"filter\"]==null&&node.attributes[\"clip-path\"]==null&&node.attributes.mask==null||commonAttributes.delete(\"transform\")\neveryChildIsPath&&commonAttributes.delete(\"transform\")\nfor(const[name,value]of commonAttributes)name===\"transform\"?node.attributes.transform!=null?node.attributes.transform=`${node.attributes.transform} ${value}`:node.attributes.transform=value:node.attributes[name]=value\nfor(const child of node.children)if(child.type===\"element\")for(const[name]of commonAttributes)delete child.attributes[name]}}}}\nvar moveElemsAttrsToGroup=Object.freeze({__proto__:null,description:description$u,fn:fn$u,name:name$u})\nconst name$t=\"moveGroupAttrsToElems\"\nconst description$t=\"moves some group attributes to the content elements\"\nconst pathElemsWithGroupsAndText=[...pathElems,\"g\",\"text\"]\nconst fn$t=()=>({element:{enter:node=>{if(node.name===\"g\"&&node.children.length!==0&&node.attributes.transform!=null&&Object.entries(node.attributes).some((([name,value])=>referencesProps.has(name)&&includesUrlReference(value)))===false&&node.children.every((child=>child.type===\"element\"&&pathElemsWithGroupsAndText.includes(child.name)&&child.attributes.id==null))){for(const child of node.children){const value=node.attributes.transform\nchild.type===\"element\"&&(child.attributes.transform!=null?child.attributes.transform=`${value} ${child.attributes.transform}`:child.attributes.transform=value)}delete node.attributes.transform}}}})\nvar moveGroupAttrsToElems=Object.freeze({__proto__:null,description:description$t,fn:fn$t,name:name$t})\nconst name$s=\"collapseGroups\"\nconst description$s=\"collapses useless groups\"\nconst hasAnimatedAttr=(node,name)=>{if(node.type===\"element\"){if(elemsGroups.animation.has(node.name)&&node.attributes.attributeName===name)return true\nfor(const child of node.children)if(hasAnimatedAttr(child,name))return true}return false}\nconst fn$s=root=>{const stylesheet=collectStylesheet(root)\nreturn{element:{exit:(node,parentNode)=>{if(parentNode.type===\"root\"||parentNode.name===\"switch\")return\nif(node.name!==\"g\"||node.children.length===0)return\nif(Object.keys(node.attributes).length!==0&&node.children.length===1){const firstChild=node.children[0]\nconst nodeHasFilter=!!(node.attributes.filter||computeStyle(stylesheet,node).filter)\nif(firstChild.type===\"element\"&&firstChild.attributes.id==null&&!nodeHasFilter&&(node.attributes.class==null||firstChild.attributes.class==null)&&(node.attributes[\"clip-path\"]==null&&node.attributes.mask==null||firstChild.name===\"g\"&&node.attributes.transform==null&&firstChild.attributes.transform==null)){const newChildElemAttrs={...firstChild.attributes}\nfor(const[name,value]of Object.entries(node.attributes)){if(hasAnimatedAttr(firstChild,name))return\nif(newChildElemAttrs[name]==null)newChildElemAttrs[name]=value\nelse if(name===\"transform\")newChildElemAttrs[name]=value+\" \"+newChildElemAttrs[name]\nelse if(newChildElemAttrs[name]===\"inherit\")newChildElemAttrs[name]=value\nelse if(!inheritableAttrs.has(name)&&newChildElemAttrs[name]!==value)return}node.attributes={}\nfirstChild.attributes=newChildElemAttrs}}if(Object.keys(node.attributes).length===0){for(const child of node.children)if(child.type===\"element\"&&elemsGroups.animation.has(child.name))return\nconst index=parentNode.children.indexOf(node)\nparentNode.children.splice(index,1,...node.children)}}}}}\nvar collapseGroups=Object.freeze({__proto__:null,description:description$s,fn:fn$s,name:name$s})\nlet prevCtrlPoint\nconst path2js=path=>{if(path.pathJS)return path.pathJS\nconst pathData=[]\nconst newPathData=parsePathData(path.attributes.d)\nfor(const{command:command,args:args}of newPathData)pathData.push({command:command,args:args})\npathData.length&&pathData[0].command==\"m\"&&(pathData[0].command=\"M\")\npath.pathJS=pathData\nreturn pathData}\nconst convertRelativeToAbsolute=data=>{const newData=[]\nconst start=[0,0]\nconst cursor=[0,0]\nfor(let{command:command,args:args}of data){args=args.slice()\nif(command===\"m\"){args[0]+=cursor[0]\nargs[1]+=cursor[1]\ncommand=\"M\"}if(command===\"M\"){cursor[0]=args[0]\ncursor[1]=args[1]\nstart[0]=cursor[0]\nstart[1]=cursor[1]}if(command===\"h\"){args[0]+=cursor[0]\ncommand=\"H\"}command===\"H\"&&(cursor[0]=args[0])\nif(command===\"v\"){args[0]+=cursor[1]\ncommand=\"V\"}command===\"V\"&&(cursor[1]=args[0])\nif(command===\"l\"){args[0]+=cursor[0]\nargs[1]+=cursor[1]\ncommand=\"L\"}if(command===\"L\"){cursor[0]=args[0]\ncursor[1]=args[1]}if(command===\"c\"){args[0]+=cursor[0]\nargs[1]+=cursor[1]\nargs[2]+=cursor[0]\nargs[3]+=cursor[1]\nargs[4]+=cursor[0]\nargs[5]+=cursor[1]\ncommand=\"C\"}if(command===\"C\"){cursor[0]=args[4]\ncursor[1]=args[5]}if(command===\"s\"){args[0]+=cursor[0]\nargs[1]+=cursor[1]\nargs[2]+=cursor[0]\nargs[3]+=cursor[1]\ncommand=\"S\"}if(command===\"S\"){cursor[0]=args[2]\ncursor[1]=args[3]}if(command===\"q\"){args[0]+=cursor[0]\nargs[1]+=cursor[1]\nargs[2]+=cursor[0]\nargs[3]+=cursor[1]\ncommand=\"Q\"}if(command===\"Q\"){cursor[0]=args[2]\ncursor[1]=args[3]}if(command===\"t\"){args[0]+=cursor[0]\nargs[1]+=cursor[1]\ncommand=\"T\"}if(command===\"T\"){cursor[0]=args[0]\ncursor[1]=args[1]}if(command===\"a\"){args[5]+=cursor[0]\nargs[6]+=cursor[1]\ncommand=\"A\"}if(command===\"A\"){cursor[0]=args[5]\ncursor[1]=args[6]}if(command===\"z\"||command===\"Z\"){cursor[0]=start[0]\ncursor[1]=start[1]\ncommand=\"z\"}newData.push({command:command,args:args})}return newData}\nconst js2path=function(path,data,params){path.pathJS=data\nconst pathData=[]\nfor(const item of data){if(pathData.length!==0&&(item.command===\"M\"||item.command===\"m\")){const last=pathData[pathData.length-1]\nlast.command!==\"M\"&&last.command!==\"m\"||pathData.pop()}pathData.push({command:item.command,args:item.args})}path.attributes.d=stringifyPathData({pathData:pathData,precision:params.floatPrecision,disableSpaceAfterFlags:params.noSpaceAfterFlags})}\nfunction set(dest,source){dest[0]=source[source.length-2]\ndest[1]=source[source.length-1]\nreturn dest}const intersects=function(path1,path2){const points1=gatherPoints(convertRelativeToAbsolute(path1))\nconst points2=gatherPoints(convertRelativeToAbsolute(path2))\nif(points1.maxX<=points2.minX||points2.maxX<=points1.minX||points1.maxY<=points2.minY||points2.maxY<=points1.minY||points1.list.every((set1=>points2.list.every((set2=>set1.list[set1.maxX][0]<=set2.list[set2.minX][0]||set2.list[set2.maxX][0]<=set1.list[set1.minX][0]||set1.list[set1.maxY][1]<=set2.list[set2.minY][1]||set2.list[set2.maxY][1]<=set1.list[set1.minY][1])))))return false\nconst hullNest1=points1.list.map(convexHull)\nconst hullNest2=points2.list.map(convexHull)\nreturn hullNest1.some((function(hull1){if(hull1.list.length<3)return false\nreturn hullNest2.some((function(hull2){if(hull2.list.length<3)return false\nconst simplex=[getSupport(hull1,hull2,[1,0])]\nconst direction=minus(simplex[0])\nlet iterations=1e4\nwhile(true){if(iterations--==0){console.error(\"Error: infinite loop while processing mergePaths plugin.\")\nreturn true}simplex.push(getSupport(hull1,hull2,direction))\nif(dot(direction,simplex[simplex.length-1])<=0)return false\nif(processSimplex(simplex,direction))return true}}))}))\nfunction getSupport(a,b,direction){return sub(supportPoint(a,direction),supportPoint(b,minus(direction)))}function supportPoint(polygon,direction){let index=direction[1]>=0?direction[0]<0?polygon.maxY:polygon.maxX:direction[0]<0?polygon.minX:polygon.minY\nlet max=-1/0\nlet value\nwhile((value=dot(polygon.list[index],direction))>max){max=value\nindex=++index%polygon.list.length}return polygon.list[(index||polygon.list.length)-1]}}\nfunction processSimplex(simplex,direction){if(simplex.length==2){const a=simplex[1]\nconst b=simplex[0]\nconst AO=minus(simplex[1])\nconst AB=sub(b,a)\nif(dot(AO,AB)>0)set(direction,orth(AB,a))\nelse{set(direction,AO)\nsimplex.shift()}}else{const a=simplex[2]\nconst b=simplex[1]\nconst c=simplex[0]\nconst AB=sub(b,a)\nconst AC=sub(c,a)\nconst AO=minus(a)\nconst ACB=orth(AB,AC)\nconst ABC=orth(AC,AB)\nif(dot(ACB,AO)>0)if(dot(AB,AO)>0){set(direction,ACB)\nsimplex.shift()}else{set(direction,AO)\nsimplex.splice(0,2)}else{if(!(dot(ABC,AO)>0))return true\nif(dot(AC,AO)>0){set(direction,ABC)\nsimplex.splice(1,1)}else{set(direction,AO)\nsimplex.splice(0,2)}}}return false}function minus(v){return[-v[0],-v[1]]}function sub(v1,v2){return[v1[0]-v2[0],v1[1]-v2[1]]}function dot(v1,v2){return v1[0]*v2[0]+v1[1]*v2[1]}function orth(v,from){const o=[-v[1],v[0]]\nreturn dot(o,minus(from))<0?minus(o):o}function gatherPoints(pathData){const points={list:[],minX:0,minY:0,maxX:0,maxY:0}\nconst addPoint=(path,point)=>{if(!path.list.length||point[1]>path.list[path.maxY][1]){path.maxY=path.list.length\npoints.maxY=points.list.length?Math.max(point[1],points.maxY):point[1]}if(!path.list.length||point[0]>path.list[path.maxX][0]){path.maxX=path.list.length\npoints.maxX=points.list.length?Math.max(point[0],points.maxX):point[0]}if(!path.list.length||point[1]<path.list[path.minY][1]){path.minY=path.list.length\npoints.minY=points.list.length?Math.min(point[1],points.minY):point[1]}if(!path.list.length||point[0]<path.list[path.minX][0]){path.minX=path.list.length\npoints.minX=points.list.length?Math.min(point[0],points.minX):point[0]}path.list.push(point)}\nfor(let i=0;i<pathData.length;i+=1){const pathDataItem=pathData[i]\nlet subPath=points.list.length===0?{list:[],minX:0,minY:0,maxX:0,maxY:0}:points.list[points.list.length-1]\nconst prev=i===0?null:pathData[i-1]\nlet basePoint=subPath.list.length===0?null:subPath.list[subPath.list.length-1]\nconst data=pathDataItem.args\nlet ctrlPoint=basePoint\nconst toAbsolute=(n,i)=>n+(basePoint==null?0:basePoint[i%2])\nswitch(pathDataItem.command){case\"M\":subPath={list:[],minX:0,minY:0,maxX:0,maxY:0}\npoints.list.push(subPath)\nbreak\ncase\"H\":basePoint!=null&&addPoint(subPath,[data[0],basePoint[1]])\nbreak\ncase\"V\":basePoint!=null&&addPoint(subPath,[basePoint[0],data[0]])\nbreak\ncase\"Q\":addPoint(subPath,data.slice(0,2))\nprevCtrlPoint=[data[2]-data[0],data[3]-data[1]]\nbreak\ncase\"T\":if(basePoint!=null&&prev!=null&&(prev.command==\"Q\"||prev.command==\"T\")){ctrlPoint=[basePoint[0]+prevCtrlPoint[0],basePoint[1]+prevCtrlPoint[1]]\naddPoint(subPath,ctrlPoint)\nprevCtrlPoint=[data[0]-ctrlPoint[0],data[1]-ctrlPoint[1]]}break\ncase\"C\":basePoint!=null&&addPoint(subPath,[0.5*(basePoint[0]+data[0]),0.5*(basePoint[1]+data[1])])\naddPoint(subPath,[0.5*(data[0]+data[2]),0.5*(data[1]+data[3])])\naddPoint(subPath,[0.5*(data[2]+data[4]),0.5*(data[3]+data[5])])\nprevCtrlPoint=[data[4]-data[2],data[5]-data[3]]\nbreak\ncase\"S\":if(basePoint!=null&&prev!=null&&(prev.command==\"C\"||prev.command==\"S\")){addPoint(subPath,[basePoint[0]+0.5*prevCtrlPoint[0],basePoint[1]+0.5*prevCtrlPoint[1]])\nctrlPoint=[basePoint[0]+prevCtrlPoint[0],basePoint[1]+prevCtrlPoint[1]]}ctrlPoint!=null&&addPoint(subPath,[0.5*(ctrlPoint[0]+data[0]),0.5*(ctrlPoint[1]+data[1])])\naddPoint(subPath,[0.5*(data[0]+data[2]),0.5*(data[1]+data[3])])\nprevCtrlPoint=[data[2]-data[0],data[3]-data[1]]\nbreak\ncase\"A\":if(basePoint!=null){const curves=a2c.apply(0,basePoint.concat(data))\nfor(var cData;(cData=curves.splice(0,6).map(toAbsolute)).length;){basePoint!=null&&addPoint(subPath,[0.5*(basePoint[0]+cData[0]),0.5*(basePoint[1]+cData[1])])\naddPoint(subPath,[0.5*(cData[0]+cData[2]),0.5*(cData[1]+cData[3])])\naddPoint(subPath,[0.5*(cData[2]+cData[4]),0.5*(cData[3]+cData[5])])\ncurves.length&&addPoint(subPath,basePoint=cData.slice(-2))}}break}data.length>=2&&addPoint(subPath,data.slice(-2))}return points}function convexHull(points){points.list.sort((function(a,b){return a[0]==b[0]?a[1]-b[1]:a[0]-b[0]}))\nconst lower=[]\nlet minY=0\nlet bottom=0\nfor(let i=0;i<points.list.length;i++){while(lower.length>=2&&cross(lower[lower.length-2],lower[lower.length-1],points.list[i])<=0)lower.pop()\nif(points.list[i][1]<points.list[minY][1]){minY=i\nbottom=lower.length}lower.push(points.list[i])}const upper=[]\nlet maxY=points.list.length-1\nlet top=0\nfor(let i=points.list.length;i--;){while(upper.length>=2&&cross(upper[upper.length-2],upper[upper.length-1],points.list[i])<=0)upper.pop()\nif(points.list[i][1]>points.list[maxY][1]){maxY=i\ntop=upper.length}upper.push(points.list[i])}upper.pop()\nlower.pop()\nconst hullList=lower.concat(upper)\nconst hull={list:hullList,minX:0,maxX:lower.length,minY:bottom,maxY:(lower.length+top)%hullList.length}\nreturn hull}function cross(o,a,b){return(a[0]-o[0])*(b[1]-o[1])-(a[1]-o[1])*(b[0]-o[0])}const a2c=(x1,y1,rx,ry,angle,large_arc_flag,sweep_flag,x2,y2,recursive)=>{const _120=Math.PI*120/180\nconst rad=Math.PI/180*(+angle||0)\nlet res=[]\nconst rotateX=(x,y,rad)=>x*Math.cos(rad)-y*Math.sin(rad)\nconst rotateY=(x,y,rad)=>x*Math.sin(rad)+y*Math.cos(rad)\nif(recursive){f1=recursive[0]\nf2=recursive[1]\ncx=recursive[2]\ncy=recursive[3]}else{x1=rotateX(x1,y1,-rad)\ny1=rotateY(x1,y1,-rad)\nx2=rotateX(x2,y2,-rad)\ny2=rotateY(x2,y2,-rad)\nconst x=(x1-x2)/2\nconst y=(y1-y2)/2\nlet h=x*x/(rx*rx)+y*y/(ry*ry)\nif(h>1){h=Math.sqrt(h)\nrx*=h\nry*=h}const rx2=rx*rx\nconst ry2=ry*ry\nconst k=(large_arc_flag==sweep_flag?-1:1)*Math.sqrt(Math.abs((rx2*ry2-rx2*y*y-ry2*x*x)/(rx2*y*y+ry2*x*x)))\nvar cx=k*rx*y/ry+(x1+x2)/2\nvar cy=k*-ry*x/rx+(y1+y2)/2\nvar f1=Math.asin(Number(((y1-cy)/ry).toFixed(9)))\nvar f2=Math.asin(Number(((y2-cy)/ry).toFixed(9)))\nf1=x1<cx?Math.PI-f1:f1\nf2=x2<cx?Math.PI-f2:f2\nf1<0&&(f1=Math.PI*2+f1)\nf2<0&&(f2=Math.PI*2+f2)\nsweep_flag&&f1>f2&&(f1-=Math.PI*2)\n!sweep_flag&&f2>f1&&(f2-=Math.PI*2)}let df=f2-f1\nif(Math.abs(df)>_120){const f2old=f2\nconst x2old=x2\nconst y2old=y2\nf2=f1+_120*(sweep_flag&&f2>f1?1:-1)\nx2=cx+rx*Math.cos(f2)\ny2=cy+ry*Math.sin(f2)\nres=a2c(x2,y2,rx,ry,angle,0,sweep_flag,x2old,y2old,[f2,f2old,cx,cy])}df=f2-f1\nconst c1=Math.cos(f1)\nconst s1=Math.sin(f1)\nconst c2=Math.cos(f2)\nconst s2=Math.sin(f2)\nconst t=Math.tan(df/4)\nconst hx=4/3*rx*t\nconst hy=4/3*ry*t\nconst m=[-hx*s1,hy*c1,x2+hx*s2-x1,y2-hy*c2-y1,x2-x1,y2-y1]\nif(recursive)return m.concat(res)\n{res=m.concat(res)\nconst newres=[]\nfor(let i=0,n=res.length;i<n;i++)newres[i]=i%2?rotateY(res[i-1],res[i],rad):rotateX(res[i],res[i+1],rad)\nreturn newres}}\nconst transformTypes=new Set([\"matrix\",\"rotate\",\"scale\",\"skewX\",\"skewY\",\"translate\"])\nconst regTransformSplit=/\\s*(matrix|translate|scale|rotate|skewX|skewY)\\s*\\(\\s*(.+?)\\s*\\)[\\s,]*/\nconst regNumericValues$2=/[-+]?(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][-+]?\\d+)?/g\nconst transform2js=transformString=>{const transforms=[]\nlet currentTransform=null\nfor(const item of transformString.split(regTransformSplit)){if(!item)continue\nif(transformTypes.has(item)){currentTransform={name:item,data:[]}\ntransforms.push(currentTransform)}else{let num\nwhile(num=regNumericValues$2.exec(item)){num=Number(num)\ncurrentTransform!=null&&currentTransform.data.push(num)}}}return currentTransform==null||currentTransform.data.length==0?[]:transforms}\nconst transformsMultiply=transforms=>{const matrixData=transforms.map((transform=>{if(transform.name===\"matrix\")return transform.data\nreturn transformToMatrix(transform)}))\nconst matrixTransform={name:\"matrix\",data:matrixData.length>0?matrixData.reduce(multiplyTransformMatrices):[]}\nreturn matrixTransform}\nconst mth={rad:deg=>deg*Math.PI/180,deg:rad=>rad*180/Math.PI,cos:deg=>Math.cos(mth.rad(deg)),acos:(val,floatPrecision)=>toFixed(mth.deg(Math.acos(val)),floatPrecision),sin:deg=>Math.sin(mth.rad(deg)),asin:(val,floatPrecision)=>toFixed(mth.deg(Math.asin(val)),floatPrecision),tan:deg=>Math.tan(mth.rad(deg)),atan:(val,floatPrecision)=>toFixed(mth.deg(Math.atan(val)),floatPrecision)}\nconst getDecompositions=matrix=>{const decompositions=[]\nconst qrab=decomposeQRAB(matrix)\nconst qrcd=decomposeQRCD(matrix)\nqrab&&decompositions.push(qrab)\nqrcd&&decompositions.push(qrcd)\nreturn decompositions}\nconst decomposeQRAB=matrix=>{const data=matrix.data\nconst[a,b,c,d,e,f]=data\nconst delta=a*d-b*c\nif(delta===0)return\nconst r=Math.hypot(a,b)\nif(r===0)return\nconst decomposition=[]\nconst cosOfRotationAngle=a/r;(e||f)&&decomposition.push({name:\"translate\",data:[e,f]})\nif(cosOfRotationAngle!==1){const rotationAngleRads=Math.acos(cosOfRotationAngle)\ndecomposition.push({name:\"rotate\",data:[mth.deg(b<0?-rotationAngleRads:rotationAngleRads),0,0]})}const sx=r\nconst sy=delta/sx\nsx===1&&sy===1||decomposition.push({name:\"scale\",data:[sx,sy]})\nconst ac_plus_bd=a*c+b*d\nac_plus_bd&&decomposition.push({name:\"skewX\",data:[mth.deg(Math.atan(ac_plus_bd/(a*a+b*b)))]})\nreturn decomposition}\nconst decomposeQRCD=matrix=>{const data=matrix.data\nconst[a,b,c,d,e,f]=data\nconst delta=a*d-b*c\nif(delta===0)return\nconst s=Math.hypot(c,d)\nif(s===0)return\nconst decomposition=[];(e||f)&&decomposition.push({name:\"translate\",data:[e,f]})\nconst rotationAngleRads=Math.PI/2-(d<0?-1:1)*Math.acos(-c/s)\ndecomposition.push({name:\"rotate\",data:[mth.deg(rotationAngleRads),0,0]})\nconst sx=delta/s\nconst sy=s\nsx===1&&sy===1||decomposition.push({name:\"scale\",data:[sx,sy]})\nconst ac_plus_bd=a*c+b*d\nac_plus_bd&&decomposition.push({name:\"skewY\",data:[mth.deg(Math.atan(ac_plus_bd/(c*c+d*d)))]})\nreturn decomposition}\nconst mergeTranslateAndRotate=(tx,ty,a)=>{const rotationAngleRads=mth.rad(a)\nconst d=1-Math.cos(rotationAngleRads)\nconst e=Math.sin(rotationAngleRads)\nconst cy=(d*ty+e*tx)/(d*d+e*e)\nconst cx=(tx-e*cy)/d\nreturn{name:\"rotate\",data:[a,cx,cy]}}\nconst isIdentityTransform=t=>{switch(t.name){case\"rotate\":case\"skewX\":case\"skewY\":return t.data[0]===0\ncase\"scale\":return t.data[0]===1&&t.data[1]===1\ncase\"translate\":return t.data[0]===0&&t.data[1]===0}return false}\nconst optimize$1=(roundedTransforms,rawTransforms)=>{const optimizedTransforms=[]\nfor(let index=0;index<roundedTransforms.length;index++){const roundedTransform=roundedTransforms[index]\nif(isIdentityTransform(roundedTransform))continue\nconst data=roundedTransform.data\nswitch(roundedTransform.name){case\"rotate\":switch(data[0]){case 180:case-180:{const next=roundedTransforms[index+1]\nif(next&&next.name===\"scale\"){optimizedTransforms.push(createScaleTransform(next.data.map((v=>-v))))\nindex++}else optimizedTransforms.push({name:\"scale\",data:[-1]})}continue}optimizedTransforms.push({name:\"rotate\",data:data.slice(0,data[1]||data[2]?3:1)})\nbreak\ncase\"scale\":optimizedTransforms.push(createScaleTransform(data))\nbreak\ncase\"skewX\":case\"skewY\":optimizedTransforms.push({name:roundedTransform.name,data:[data[0]]})\nbreak\ncase\"translate\":{const next=roundedTransforms[index+1]\nif(next&&next.name===\"rotate\"&&next.data[0]!==180&&next.data[0]!==-180&&next.data[0]!==0&&next.data[1]===0&&next.data[2]===0){const data=rawTransforms[index].data\noptimizedTransforms.push(mergeTranslateAndRotate(data[0],data[1],rawTransforms[index+1].data[0]))\nindex++\ncontinue}}optimizedTransforms.push({name:\"translate\",data:data.slice(0,data[1]?2:1)})\nbreak}}return optimizedTransforms.length?optimizedTransforms:[{name:\"scale\",data:[1]}]}\nconst createScaleTransform=data=>{const scaleData=data.slice(0,data[0]===data[1]?1:2)\nreturn{name:\"scale\",data:scaleData}}\nconst matrixToTransform=(origMatrix,params)=>{const decomposed=getDecompositions(origMatrix)\nlet shortest\nlet shortestLen=Number.MAX_VALUE\nfor(const decomposition of decomposed){const roundedTransforms=decomposition.map((transformItem=>{const transformCopy={name:transformItem.name,data:[...transformItem.data]}\nreturn roundTransform(transformCopy,params)}))\nconst optimized=optimize$1(roundedTransforms,decomposition)\nconst len=js2transform(optimized,params).length\nif(len<shortestLen){shortest=optimized\nshortestLen=len}}return shortest??[origMatrix]}\nconst transformToMatrix=transform=>{if(transform.name===\"matrix\")return transform.data\nswitch(transform.name){case\"translate\":return[1,0,0,1,transform.data[0],transform.data[1]||0]\ncase\"scale\":return[transform.data[0],0,0,transform.data[1]??transform.data[0],0,0]\ncase\"rotate\":var cos=mth.cos(transform.data[0])\nvar sin=mth.sin(transform.data[0])\nvar cx=transform.data[1]||0\nvar cy=transform.data[2]||0\nreturn[cos,sin,-sin,cos,(1-cos)*cx+sin*cy,(1-cos)*cy-sin*cx]\ncase\"skewX\":return[1,0,mth.tan(transform.data[0]),1,0,0]\ncase\"skewY\":return[1,mth.tan(transform.data[0]),0,1,0,0]\ndefault:throw Error(`Unknown transform ${transform.name}`)}}\nconst transformArc=(cursor,arc,transform)=>{const x=arc[5]-cursor[0]\nconst y=arc[6]-cursor[1]\nlet a=arc[0]\nlet b=arc[1]\nconst rot=arc[2]*Math.PI/180\nconst cos=Math.cos(rot)\nconst sin=Math.sin(rot)\nif(a>0&&b>0){let h=Math.pow(x*cos+y*sin,2)/(4*a*a)+Math.pow(y*cos-x*sin,2)/(4*b*b)\nif(h>1){h=Math.sqrt(h)\na*=h\nb*=h}}const ellipse=[a*cos,a*sin,-b*sin,b*cos,0,0]\nconst m=multiplyTransformMatrices(transform,ellipse)\nconst lastCol=m[2]*m[2]+m[3]*m[3]\nconst squareSum=m[0]*m[0]+m[1]*m[1]+lastCol\nconst root=Math.hypot(m[0]-m[3],m[1]+m[2])*Math.hypot(m[0]+m[3],m[1]-m[2])\nif(root){const majorAxisSqr=(squareSum+root)/2\nconst minorAxisSqr=(squareSum-root)/2\nconst major=Math.abs(majorAxisSqr-lastCol)>1e-6\nconst sub=(major?majorAxisSqr:minorAxisSqr)-lastCol\nconst rowsSum=m[0]*m[2]+m[1]*m[3]\nconst term1=m[0]*sub+m[2]*rowsSum\nconst term2=m[1]*sub+m[3]*rowsSum\narc[0]=Math.sqrt(majorAxisSqr)\narc[1]=Math.sqrt(minorAxisSqr)\narc[2]=((major?term2<0:term1>0)?-1:1)*Math.acos((major?term1:term2)/Math.hypot(term1,term2))*180/Math.PI}else{arc[0]=arc[1]=Math.sqrt(squareSum/2)\narc[2]=0}transform[0]<0!==transform[3]<0&&(arc[4]=1-arc[4])\nreturn arc}\nconst multiplyTransformMatrices=(a,b)=>[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],a[0]*b[4]+a[2]*b[5]+a[4],a[1]*b[4]+a[3]*b[5]+a[5]]\nconst roundTransform=(transform,params)=>{switch(transform.name){case\"translate\":transform.data=floatRound(transform.data,params)\nbreak\ncase\"rotate\":transform.data=[...degRound(transform.data.slice(0,1),params),...floatRound(transform.data.slice(1),params)]\nbreak\ncase\"skewX\":case\"skewY\":transform.data=degRound(transform.data,params)\nbreak\ncase\"scale\":transform.data=transformRound(transform.data,params)\nbreak\ncase\"matrix\":transform.data=[...transformRound(transform.data.slice(0,4),params),...floatRound(transform.data.slice(4),params)]\nbreak}return transform}\nconst degRound=(data,params)=>params.degPrecision!=null&&params.degPrecision>=1&&params.floatPrecision<20?smartRound(params.degPrecision,data):round$1(data)\nconst floatRound=(data,params)=>params.floatPrecision>=1&&params.floatPrecision<20?smartRound(params.floatPrecision,data):round$1(data)\nconst transformRound=(data,params)=>params.transformPrecision>=1&&params.floatPrecision<20?smartRound(params.transformPrecision,data):round$1(data)\nconst round$1=data=>data.map(Math.round)\nconst smartRound=(precision,data)=>{for(let i=data.length,tolerance=+Math.pow(0.1,precision).toFixed(precision);i--;)if(toFixed(data[i],precision)!==data[i]){const rounded=+data[i].toFixed(precision-1)\ndata[i]=+Math.abs(rounded-data[i]).toFixed(precision+1)>=tolerance?+data[i].toFixed(precision):rounded}return data}\nconst js2transform=(transformJS,params)=>{const transformString=transformJS.map((transform=>{roundTransform(transform,params)\nreturn`${transform.name}(${cleanupOutData(transform.data,params)})`})).join(\"\")\nreturn transformString}\nconst regNumericValues$1=/[-+]?(\\d*\\.\\d+|\\d+\\.?)(?:[eE][-+]?\\d+)?/g\nconst applyTransforms=(root,params)=>{const stylesheet=collectStylesheet(root)\nreturn{element:{enter:node=>{if(node.attributes.d==null)return\nif(node.attributes.id!=null)return\nif(node.attributes.transform==null||node.attributes.transform===\"\"||node.attributes.style!=null||Object.entries(node.attributes).some((([name,value])=>referencesProps.has(name)&&includesUrlReference(value))))return\nconst computedStyle=computeStyle(stylesheet,node)\nconst transformStyle=computedStyle.transform\nif(transformStyle.type===\"static\"&&transformStyle.value!==node.attributes.transform)return\nconst matrix=transformsMultiply(transform2js(node.attributes.transform))\nconst stroke=computedStyle.stroke?.type===\"static\"?computedStyle.stroke.value:null\nconst strokeWidth=computedStyle[\"stroke-width\"]?.type===\"static\"?computedStyle[\"stroke-width\"].value:null\nconst transformPrecision=params.transformPrecision\nif(computedStyle.stroke?.type===\"dynamic\"||computedStyle[\"stroke-width\"]?.type===\"dynamic\")return\nconst scale=Number(Math.hypot(matrix.data[0],matrix.data[1]).toFixed(transformPrecision))\nif(stroke&&stroke!=\"none\"){if(!params.applyTransformsStroked)return\nif((matrix.data[0]!==matrix.data[3]||matrix.data[1]!==-matrix.data[2])&&(matrix.data[0]!==-matrix.data[3]||matrix.data[1]!==matrix.data[2]))return\nif(scale!==1&&node.attributes[\"vector-effect\"]!==\"non-scaling-stroke\"){node.attributes[\"stroke-width\"]=(strokeWidth||attrsGroupsDefaults.presentation[\"stroke-width\"]).trim().replace(regNumericValues$1,(num=>removeLeadingZero(Number(num)*scale)))\nnode.attributes[\"stroke-dashoffset\"]!=null&&(node.attributes[\"stroke-dashoffset\"]=node.attributes[\"stroke-dashoffset\"].trim().replace(regNumericValues$1,(num=>removeLeadingZero(Number(num)*scale))))\nnode.attributes[\"stroke-dasharray\"]!=null&&(node.attributes[\"stroke-dasharray\"]=node.attributes[\"stroke-dasharray\"].trim().replace(regNumericValues$1,(num=>removeLeadingZero(Number(num)*scale))))}}const pathData=path2js(node)\napplyMatrixToPathData(pathData,matrix.data)\ndelete node.attributes.transform}}}}\nconst transformAbsolutePoint=(matrix,x,y)=>{const newX=matrix[0]*x+matrix[2]*y+matrix[4]\nconst newY=matrix[1]*x+matrix[3]*y+matrix[5]\nreturn[newX,newY]}\nconst transformRelativePoint=(matrix,x,y)=>{const newX=matrix[0]*x+matrix[2]*y\nconst newY=matrix[1]*x+matrix[3]*y\nreturn[newX,newY]}\nconst applyMatrixToPathData=(pathData,matrix)=>{const start=[0,0]\nconst cursor=[0,0]\nfor(const pathItem of pathData){let{command:command,args:args}=pathItem\nif(command===\"M\"){cursor[0]=args[0]\ncursor[1]=args[1]\nstart[0]=cursor[0]\nstart[1]=cursor[1]\nconst[x,y]=transformAbsolutePoint(matrix,args[0],args[1])\nargs[0]=x\nargs[1]=y}if(command===\"m\"){cursor[0]+=args[0]\ncursor[1]+=args[1]\nstart[0]=cursor[0]\nstart[1]=cursor[1]\nconst[x,y]=transformRelativePoint(matrix,args[0],args[1])\nargs[0]=x\nargs[1]=y}if(command===\"H\"){command=\"L\"\nargs=[args[0],cursor[1]]}if(command===\"h\"){command=\"l\"\nargs=[args[0],0]}if(command===\"V\"){command=\"L\"\nargs=[cursor[0],args[0]]}if(command===\"v\"){command=\"l\"\nargs=[0,args[0]]}if(command===\"L\"){cursor[0]=args[0]\ncursor[1]=args[1]\nconst[x,y]=transformAbsolutePoint(matrix,args[0],args[1])\nargs[0]=x\nargs[1]=y}if(command===\"l\"){cursor[0]+=args[0]\ncursor[1]+=args[1]\nconst[x,y]=transformRelativePoint(matrix,args[0],args[1])\nargs[0]=x\nargs[1]=y}if(command===\"C\"){cursor[0]=args[4]\ncursor[1]=args[5]\nconst[x1,y1]=transformAbsolutePoint(matrix,args[0],args[1])\nconst[x2,y2]=transformAbsolutePoint(matrix,args[2],args[3])\nconst[x,y]=transformAbsolutePoint(matrix,args[4],args[5])\nargs[0]=x1\nargs[1]=y1\nargs[2]=x2\nargs[3]=y2\nargs[4]=x\nargs[5]=y}if(command===\"c\"){cursor[0]+=args[4]\ncursor[1]+=args[5]\nconst[x1,y1]=transformRelativePoint(matrix,args[0],args[1])\nconst[x2,y2]=transformRelativePoint(matrix,args[2],args[3])\nconst[x,y]=transformRelativePoint(matrix,args[4],args[5])\nargs[0]=x1\nargs[1]=y1\nargs[2]=x2\nargs[3]=y2\nargs[4]=x\nargs[5]=y}if(command===\"S\"){cursor[0]=args[2]\ncursor[1]=args[3]\nconst[x2,y2]=transformAbsolutePoint(matrix,args[0],args[1])\nconst[x,y]=transformAbsolutePoint(matrix,args[2],args[3])\nargs[0]=x2\nargs[1]=y2\nargs[2]=x\nargs[3]=y}if(command===\"s\"){cursor[0]+=args[2]\ncursor[1]+=args[3]\nconst[x2,y2]=transformRelativePoint(matrix,args[0],args[1])\nconst[x,y]=transformRelativePoint(matrix,args[2],args[3])\nargs[0]=x2\nargs[1]=y2\nargs[2]=x\nargs[3]=y}if(command===\"Q\"){cursor[0]=args[2]\ncursor[1]=args[3]\nconst[x1,y1]=transformAbsolutePoint(matrix,args[0],args[1])\nconst[x,y]=transformAbsolutePoint(matrix,args[2],args[3])\nargs[0]=x1\nargs[1]=y1\nargs[2]=x\nargs[3]=y}if(command===\"q\"){cursor[0]+=args[2]\ncursor[1]+=args[3]\nconst[x1,y1]=transformRelativePoint(matrix,args[0],args[1])\nconst[x,y]=transformRelativePoint(matrix,args[2],args[3])\nargs[0]=x1\nargs[1]=y1\nargs[2]=x\nargs[3]=y}if(command===\"T\"){cursor[0]=args[0]\ncursor[1]=args[1]\nconst[x,y]=transformAbsolutePoint(matrix,args[0],args[1])\nargs[0]=x\nargs[1]=y}if(command===\"t\"){cursor[0]+=args[0]\ncursor[1]+=args[1]\nconst[x,y]=transformRelativePoint(matrix,args[0],args[1])\nargs[0]=x\nargs[1]=y}if(command===\"A\"){transformArc(cursor,args,matrix)\ncursor[0]=args[5]\ncursor[1]=args[6]\nif(Math.abs(args[2])>80){const a=args[0]\nconst rotation=args[2]\nargs[0]=args[1]\nargs[1]=a\nargs[2]=rotation+(rotation>0?-90:90)}const[x,y]=transformAbsolutePoint(matrix,args[5],args[6])\nargs[5]=x\nargs[6]=y}if(command===\"a\"){transformArc([0,0],args,matrix)\ncursor[0]+=args[5]\ncursor[1]+=args[6]\nif(Math.abs(args[2])>80){const a=args[0]\nconst rotation=args[2]\nargs[0]=args[1]\nargs[1]=a\nargs[2]=rotation+(rotation>0?-90:90)}const[x,y]=transformRelativePoint(matrix,args[5],args[6])\nargs[5]=x\nargs[6]=y}if(command===\"z\"||command===\"Z\"){cursor[0]=start[0]\ncursor[1]=start[1]}pathItem.command=command\npathItem.args=args}}\nconst name$r=\"convertPathData\"\nconst description$r=\"optimizes path data: writes in shorter form, applies transformations\"\nlet roundData\nlet precision\nlet error\nlet arcThreshold\nlet arcTolerance\nconst fn$r=(root,params)=>{const{applyTransforms:_applyTransforms=true,applyTransformsStroked:applyTransformsStroked=true,makeArcs:makeArcs={threshold:2.5,tolerance:0.5},straightCurves:straightCurves=true,convertToQ:convertToQ=true,lineShorthands:lineShorthands=true,convertToZ:convertToZ=true,curveSmoothShorthands:curveSmoothShorthands=true,floatPrecision:floatPrecision=3,transformPrecision:transformPrecision=5,smartArcRounding:smartArcRounding=true,removeUseless:removeUseless=true,collapseRepeated:collapseRepeated=true,utilizeAbsolute:utilizeAbsolute=true,leadingZero:leadingZero=true,negativeExtraSpace:negativeExtraSpace=true,noSpaceAfterFlags:noSpaceAfterFlags=false,forceAbsolutePath:forceAbsolutePath=false}=params\nconst newParams={applyTransforms:_applyTransforms,applyTransformsStroked:applyTransformsStroked,makeArcs:makeArcs,straightCurves:straightCurves,convertToQ:convertToQ,lineShorthands:lineShorthands,convertToZ:convertToZ,curveSmoothShorthands:curveSmoothShorthands,floatPrecision:floatPrecision,transformPrecision:transformPrecision,smartArcRounding:smartArcRounding,removeUseless:removeUseless,collapseRepeated:collapseRepeated,utilizeAbsolute:utilizeAbsolute,leadingZero:leadingZero,negativeExtraSpace:negativeExtraSpace,noSpaceAfterFlags:noSpaceAfterFlags,forceAbsolutePath:forceAbsolutePath}\n_applyTransforms&&visit(root,applyTransforms(root,{transformPrecision:transformPrecision,applyTransformsStroked:applyTransformsStroked}))\nconst stylesheet=collectStylesheet(root)\nreturn{element:{enter:node=>{if(pathElems.has(node.name)&&node.attributes.d!=null){const computedStyle=computeStyle(stylesheet,node)\nprecision=floatPrecision\nerror=precision!==false?+Math.pow(0.1,precision).toFixed(precision):1e-2\nroundData=precision&&precision>0&&precision<20?strongRound:round\nif(makeArcs){arcThreshold=makeArcs.threshold\narcTolerance=makeArcs.tolerance}const hasMarkerMid=computedStyle[\"marker-mid\"]!=null\nconst maybeHasStroke=computedStyle.stroke&&(computedStyle.stroke.type===\"dynamic\"||computedStyle.stroke.value!==\"none\")\nconst maybeHasLinecap=computedStyle[\"stroke-linecap\"]&&(computedStyle[\"stroke-linecap\"].type===\"dynamic\"||computedStyle[\"stroke-linecap\"].value!==\"butt\")\nconst isSafeToUseZ=!maybeHasStroke||computedStyle[\"stroke-linecap\"]?.type===\"static\"&&computedStyle[\"stroke-linecap\"].value===\"round\"&&computedStyle[\"stroke-linejoin\"]?.type===\"static\"&&computedStyle[\"stroke-linejoin\"].value===\"round\"\nconst isSafeToRemove=(isFirstDraw,safeIfNotFirstDraw)=>{if(!maybeHasStroke)return true\nreturn isFirstDraw?!maybeHasLinecap:safeIfNotFirstDraw}\nlet data=path2js(node)\nif(data.length){const includesVertices=data.some((item=>item.command!==\"m\"&&item.command!==\"M\"))\nconvertToRelative(data)\ndata=filters(data,newParams,{isSafeToUseZ:isSafeToUseZ,isSafeToRemove:isSafeToRemove,hasMarkerMid:hasMarkerMid})\nutilizeAbsolute&&(data=convertToMixed(data,newParams))\nconst hasMarker=node.attributes[\"marker-start\"]!=null||node.attributes[\"marker-end\"]!=null\nconst isMarkersOnlyPath=hasMarker&&includesVertices&&data.every((item=>item.command===\"m\"||item.command===\"M\"))\nisMarkersOnlyPath&&data.push({command:\"z\",args:[]})\njs2path(node,data,newParams)}}}}}}\nconst convertToRelative=pathData=>{const start=[0,0]\nconst cursor=[0,0]\nlet prevCoords=[0,0]\nfor(let i=0;i<pathData.length;i+=1){const pathItem=pathData[i]\nlet{command:command,args:args}=pathItem\nif(command===\"m\"){cursor[0]+=args[0]\ncursor[1]+=args[1]\nstart[0]=cursor[0]\nstart[1]=cursor[1]}else if(command===\"M\"){i!==0&&(command=\"m\")\nargs[0]-=cursor[0]\nargs[1]-=cursor[1]\ncursor[0]+=args[0]\ncursor[1]+=args[1]\nstart[0]=cursor[0]\nstart[1]=cursor[1]}else if(command===\"l\"){cursor[0]+=args[0]\ncursor[1]+=args[1]}else if(command===\"L\"){command=\"l\"\nargs[0]-=cursor[0]\nargs[1]-=cursor[1]\ncursor[0]+=args[0]\ncursor[1]+=args[1]}else if(command===\"h\")cursor[0]+=args[0]\nelse if(command===\"H\"){command=\"h\"\nargs[0]-=cursor[0]\ncursor[0]+=args[0]}else if(command===\"v\")cursor[1]+=args[0]\nelse if(command===\"V\"){command=\"v\"\nargs[0]-=cursor[1]\ncursor[1]+=args[0]}else if(command===\"c\"){cursor[0]+=args[4]\ncursor[1]+=args[5]}else if(command===\"C\"){command=\"c\"\nargs[0]-=cursor[0]\nargs[1]-=cursor[1]\nargs[2]-=cursor[0]\nargs[3]-=cursor[1]\nargs[4]-=cursor[0]\nargs[5]-=cursor[1]\ncursor[0]+=args[4]\ncursor[1]+=args[5]}else if(command===\"s\"){cursor[0]+=args[2]\ncursor[1]+=args[3]}else if(command===\"S\"){command=\"s\"\nargs[0]-=cursor[0]\nargs[1]-=cursor[1]\nargs[2]-=cursor[0]\nargs[3]-=cursor[1]\ncursor[0]+=args[2]\ncursor[1]+=args[3]}else if(command===\"q\"){cursor[0]+=args[2]\ncursor[1]+=args[3]}else if(command===\"Q\"){command=\"q\"\nargs[0]-=cursor[0]\nargs[1]-=cursor[1]\nargs[2]-=cursor[0]\nargs[3]-=cursor[1]\ncursor[0]+=args[2]\ncursor[1]+=args[3]}else if(command===\"t\"){cursor[0]+=args[0]\ncursor[1]+=args[1]}else if(command===\"T\"){command=\"t\"\nargs[0]-=cursor[0]\nargs[1]-=cursor[1]\ncursor[0]+=args[0]\ncursor[1]+=args[1]}else if(command===\"a\"){cursor[0]+=args[5]\ncursor[1]+=args[6]}else if(command===\"A\"){command=\"a\"\nargs[5]-=cursor[0]\nargs[6]-=cursor[1]\ncursor[0]+=args[5]\ncursor[1]+=args[6]}else if(command===\"Z\"||command===\"z\"){cursor[0]=start[0]\ncursor[1]=start[1]}pathItem.command=command\npathItem.args=args\npathItem.base=prevCoords\npathItem.coords=[cursor[0],cursor[1]]\nprevCoords=pathItem.coords}return pathData}\nfunction filters(path,params,{isSafeToUseZ:isSafeToUseZ,isSafeToRemove:isSafeToRemove,hasMarkerMid:hasMarkerMid}){const stringify=data2Path.bind(null,params)\nconst relSubpoint=[0,0]\nconst pathBase=[0,0]\nlet prev={}\nlet prevQControlPoint\npath=path.filter((function(item,index,path){const qControlPoint=prevQControlPoint\nlet command=item.command\nlet data=item.args\nlet next=path[index+1]\nif(command!==\"Z\"&&command!==\"z\"){let sdata=data\nlet circle\nif(command===\"s\"){sdata=[0,0].concat(data)\nconst pdata=prev.args\nconst n=pdata.length\nsdata[0]=pdata[n-2]-pdata[n-4]\nsdata[1]=pdata[n-1]-pdata[n-3]}if(params.makeArcs&&(command==\"c\"||command==\"s\")&&isConvex(sdata)&&(circle=findCircle(sdata))){const r=roundData([circle.radius])[0]\nlet angle=findArcAngle(sdata,circle)\nconst sweep=sdata[5]*sdata[0]-sdata[4]*sdata[1]>0?1:0\nlet arc={command:\"a\",args:[r,r,0,0,sweep,sdata[4],sdata[5]],coords:item.coords.slice(),base:item.base}\nconst output=[arc]\nconst relCenter=[circle.center[0]-sdata[4],circle.center[1]-sdata[5]]\nconst relCircle={center:relCenter,radius:circle.radius}\nconst arcCurves=[item]\nlet hasPrev=0\nlet suffix=\"\"\nlet nextLonghand\nif(prev.command==\"c\"&&isConvex(prev.args)&&isArcPrev(prev.args,circle)||prev.command==\"a\"&&prev.sdata&&isArcPrev(prev.sdata,circle)){arcCurves.unshift(prev)\narc.base=prev.base\narc.args[5]=arc.coords[0]-arc.base[0]\narc.args[6]=arc.coords[1]-arc.base[1]\nconst prevData=prev.command==\"a\"?prev.sdata:prev.args\nconst prevAngle=findArcAngle(prevData,{center:[prevData[4]+circle.center[0],prevData[5]+circle.center[1]],radius:circle.radius})\nangle+=prevAngle\nangle>Math.PI&&(arc.args[3]=1)\nhasPrev=1}for(var j=index;(next=path[++j])&&(next.command===\"c\"||next.command===\"s\");){let nextData=next.args\nif(next.command==\"s\"){nextLonghand=makeLonghand({command:\"s\",args:next.args.slice()},path[j-1].args)\nnextData=nextLonghand.args\nnextLonghand.args=nextData.slice(0,2)\nsuffix=stringify([nextLonghand])}if(!isConvex(nextData)||!isArc(nextData,relCircle))break\nangle+=findArcAngle(nextData,relCircle)\nif(angle-2*Math.PI>1e-3)break\nangle>Math.PI&&(arc.args[3]=1)\narcCurves.push(next)\nif(!(2*Math.PI-angle>1e-3)){arc.args[5]=2*(relCircle.center[0]-nextData[4])\narc.args[6]=2*(relCircle.center[1]-nextData[5])\narc.coords=[arc.base[0]+arc.args[5],arc.base[1]+arc.args[6]]\narc={command:\"a\",args:[r,r,0,0,sweep,next.coords[0]-arc.coords[0],next.coords[1]-arc.coords[1]],coords:next.coords,base:arc.coords}\noutput.push(arc)\nj++\nbreak}arc.coords=next.coords\narc.args[5]=arc.coords[0]-arc.base[0]\narc.args[6]=arc.coords[1]-arc.base[1]\nrelCenter[0]-=nextData[4]\nrelCenter[1]-=nextData[5]}if((stringify(output)+suffix).length<stringify(arcCurves).length){path[j]&&path[j].command==\"s\"&&makeLonghand(path[j],path[j-1].args)\nif(hasPrev){const prevArc=output.shift()\nroundData(prevArc.args)\nrelSubpoint[0]+=prevArc.args[5]-prev.args[prev.args.length-2]\nrelSubpoint[1]+=prevArc.args[6]-prev.args[prev.args.length-1]\nprev.command=\"a\"\nprev.args=prevArc.args\nitem.base=prev.coords=prevArc.coords}arc=output.shift()\narcCurves.length==1?item.sdata=sdata.slice():arcCurves.length-1-hasPrev>0&&path.splice(index+1,arcCurves.length-1-hasPrev,...output)\nif(!arc)return false\ncommand=\"a\"\ndata=arc.args\nitem.coords=arc.coords}}if(precision!==false){if(command===\"m\"||command===\"l\"||command===\"t\"||command===\"q\"||command===\"s\"||command===\"c\")for(let i=data.length;i--;)data[i]+=item.base[i%2]-relSubpoint[i%2]\nelse if(command==\"h\")data[0]+=item.base[0]-relSubpoint[0]\nelse if(command==\"v\")data[0]+=item.base[1]-relSubpoint[1]\nelse if(command==\"a\"){data[5]+=item.base[0]-relSubpoint[0]\ndata[6]+=item.base[1]-relSubpoint[1]}roundData(data)\nif(command==\"h\")relSubpoint[0]+=data[0]\nelse if(command==\"v\")relSubpoint[1]+=data[0]\nelse{relSubpoint[0]+=data[data.length-2]\nrelSubpoint[1]+=data[data.length-1]}roundData(relSubpoint)\nif(command===\"M\"||command===\"m\"){pathBase[0]=relSubpoint[0]\npathBase[1]=relSubpoint[1]}}const sagitta=command===\"a\"?calculateSagitta(data):void 0\nif(params.smartArcRounding&&sagitta!==void 0&&precision)for(let precisionNew=precision;precisionNew>=0;precisionNew--){const radius=toFixed(data[0],precisionNew)\nconst sagittaNew=calculateSagitta([radius,radius,...data.slice(2)])\nif(!(Math.abs(sagitta-sagittaNew)<error))break\ndata[0]=radius\ndata[1]=radius}if(params.straightCurves)if(command===\"c\"&&isCurveStraightLine(data)||command===\"s\"&&isCurveStraightLine(sdata)){next&&next.command==\"s\"&&makeLonghand(next,data)\ncommand=\"l\"\ndata=data.slice(-2)}else if(command===\"q\"&&isCurveStraightLine(data)||command===\"t\"&&prev.command!==\"q\"&&prev.command!==\"t\"){command==\"q\"&&next&&next.command==\"t\"&&makeLonghand(next,data)\nif(command==\"t\"&&next&&next.command==\"t\"){next.command=\"q\"\nnext.args.unshift(2*item.coords[0]-item.base[0]-item.coords[0],2*item.coords[1]-item.base[1]-item.coords[1])}command=\"l\"\ndata=data.slice(-2)}else if(command===\"a\"&&(data[0]===0||data[1]===0||sagitta!==void 0&&sagitta<error)){command=\"l\"\ndata=data.slice(-2)}if(params.convertToQ&&command==\"c\"){const x1=0.75*(item.base[0]+data[0])-0.25*item.base[0]\nconst x2=0.75*(item.base[0]+data[2])-0.25*(item.base[0]+data[4])\nif(Math.abs(x1-x2)<error*2){const y1=0.75*(item.base[1]+data[1])-0.25*item.base[1]\nconst y2=0.75*(item.base[1]+data[3])-0.25*(item.base[1]+data[5])\nif(Math.abs(y1-y2)<error*2){const newData=data.slice()\nnewData.splice(0,4,x1+x2-item.base[0],y1+y2-item.base[1])\nroundData(newData)\nconst originalLength=cleanupOutData(data,params).length\nconst newLength=cleanupOutData(newData,params).length\nif(newLength<originalLength){command=\"q\"\ndata=newData\nnext&&next.command==\"s\"&&makeLonghand(next,data)}}}}if(params.lineShorthands&&command===\"l\")if(data[1]===0){command=\"h\"\ndata.pop()}else if(data[0]===0){command=\"v\"\ndata.shift()}if(params.collapseRepeated&&hasMarkerMid===false&&(command===\"m\"||command===\"h\"||command===\"v\")&&prev.command&&command==prev.command.toLowerCase()&&(command!=\"h\"&&command!=\"v\"||prev.args[0]>=0==data[0]>=0)){prev.args[0]+=data[0]\ncommand!=\"h\"&&command!=\"v\"&&(prev.args[1]+=data[1])\nprev.coords=item.coords\npath[index]=prev\nreturn false}if(params.curveSmoothShorthands&&prev.command)if(command===\"c\"){if(prev.command===\"c\"&&Math.abs(data[0]- -(prev.args[2]-prev.args[4]))<error&&Math.abs(data[1]- -(prev.args[3]-prev.args[5]))<error){command=\"s\"\ndata=data.slice(2)}else if(prev.command===\"s\"&&Math.abs(data[0]- -(prev.args[0]-prev.args[2]))<error&&Math.abs(data[1]- -(prev.args[1]-prev.args[3]))<error){command=\"s\"\ndata=data.slice(2)}else if(prev.command!==\"c\"&&prev.command!==\"s\"&&Math.abs(data[0])<error&&Math.abs(data[1])<error){command=\"s\"\ndata=data.slice(2)}}else if(command===\"q\")if(prev.command===\"q\"&&Math.abs(data[0]-(prev.args[2]-prev.args[0]))<error&&Math.abs(data[1]-(prev.args[3]-prev.args[1]))<error){command=\"t\"\ndata=data.slice(2)}else if(prev.command===\"t\"){const predictedControlPoint=reflectPoint(qControlPoint,item.base)\nconst realControlPoint=[data[0]+item.base[0],data[1]+item.base[1]]\nif(Math.abs(predictedControlPoint[0]-realControlPoint[0])<error&&Math.abs(predictedControlPoint[1]-realControlPoint[1])<error){command=\"t\"\ndata=data.slice(2)}}if(params.removeUseless&&isSafeToRemove(prev.command==\"m\"||prev.command==\"M\",true)){if((command===\"l\"||command===\"h\"||command===\"v\"||command===\"q\"||command===\"t\"||command===\"c\"||command===\"s\")&&data.every((function(i){return i===0}))){path[index]=prev\nreturn false}if(command===\"a\"&&data[5]===0&&data[6]===0){path[index]=prev\nreturn false}}if(params.convertToZ&&(isSafeToUseZ||next?.command===\"Z\"||next?.command===\"z\")&&(command===\"l\"||command===\"h\"||command===\"v\")&&Math.abs(pathBase[0]-item.coords[0])<error&&Math.abs(pathBase[1]-item.coords[1])<error){command=\"z\"\ndata=[]}item.command=command\nitem.args=data}else{relSubpoint[0]=pathBase[0]\nrelSubpoint[1]=pathBase[1]\nif(prev.command===\"Z\"||prev.command===\"z\")return false}if((command===\"Z\"||command===\"z\")&&params.removeUseless&&isSafeToRemove(prev.command==\"m\"||prev.command==\"M\",isSafeToUseZ)&&Math.abs(item.base[0]-item.coords[0])<error/10&&Math.abs(item.base[1]-item.coords[1])<error/10)return false\nprevQControlPoint=command===\"q\"?[data[0]+item.base[0],data[1]+item.base[1]]:command===\"t\"?qControlPoint?reflectPoint(qControlPoint,item.base):item.coords:void 0\nprev=item\nreturn true}))\nreturn path}function convertToMixed(path,params){let prev=path[0]\npath=path.filter((function(item,index){if(index==0)return true\nif(item.command===\"Z\"||item.command===\"z\"){prev=item\nreturn true}const command=item.command\nconst data=item.args\nconst adata=data.slice()\nconst rdata=data.slice()\nif(command===\"m\"||command===\"l\"||command===\"t\"||command===\"q\"||command===\"s\"||command===\"c\")for(let i=adata.length;i--;)adata[i]+=item.base[i%2]\nelse if(command==\"h\")adata[0]+=item.base[0]\nelse if(command==\"v\")adata[0]+=item.base[1]\nelse if(command==\"a\"){adata[5]+=item.base[0]\nadata[6]+=item.base[1]}roundData(adata)\nroundData(rdata)\nconst absoluteDataStr=cleanupOutData(adata,params)\nconst relativeDataStr=cleanupOutData(rdata,params)\nif(params.forceAbsolutePath||absoluteDataStr.length<relativeDataStr.length&&!(params.negativeExtraSpace&&command==prev.command&&prev.command.charCodeAt(0)>96&&absoluteDataStr.length==relativeDataStr.length-1&&(data[0]<0||Math.floor(data[0])===0&&!Number.isInteger(data[0])&&prev.args[prev.args.length-1]%1))){item.command=command.toUpperCase()\nitem.args=adata}prev=item\nreturn true}))\nreturn path}function isConvex(data){const center=getIntersection([0,0,data[2],data[3],data[0],data[1],data[4],data[5]])\nreturn center!=null&&data[2]<center[0]==center[0]<0&&data[3]<center[1]==center[1]<0&&data[4]<center[0]==center[0]<data[0]&&data[5]<center[1]==center[1]<data[1]}function getIntersection(coords){const a1=coords[1]-coords[3]\nconst b1=coords[2]-coords[0]\nconst c1=coords[0]*coords[3]-coords[2]*coords[1]\nconst a2=coords[5]-coords[7]\nconst b2=coords[6]-coords[4]\nconst c2=coords[4]*coords[7]-coords[5]*coords[6]\nconst denom=a1*b2-a2*b1\nif(!denom)return\nconst cross=[(b1*c2-b2*c1)/denom,(a1*c2-a2*c1)/-denom]\nif(!isNaN(cross[0])&&!isNaN(cross[1])&&isFinite(cross[0])&&isFinite(cross[1]))return cross}function strongRound(data){const precisionNum=precision||0\nfor(let i=data.length;i-- >0;){const fixed=toFixed(data[i],precisionNum)\nif(fixed!==data[i]){const rounded=toFixed(data[i],precisionNum-1)\ndata[i]=toFixed(Math.abs(rounded-data[i]),precisionNum+1)>=error?fixed:rounded}}return data}function round(data){for(let i=data.length;i-- >0;)data[i]=Math.round(data[i])\nreturn data}function isCurveStraightLine(data){let i=data.length-2\nconst a=-data[i+1]\nconst b=data[i]\nconst d=1/(a*a+b*b)\nif(i<=1||!isFinite(d))return false\nwhile((i-=2)>=0)if(Math.sqrt(Math.pow(a*data[i]+b*data[i+1],2)*d)>error)return false\nreturn true}function calculateSagitta(data){if(data[3]===1)return\nconst[rx,ry]=data\nif(Math.abs(rx-ry)>error)return\nconst chord=Math.hypot(data[5],data[6])\nif(chord>rx*2)return\nreturn rx-Math.sqrt(rx**2-0.25*chord**2)}function makeLonghand(item,data){switch(item.command){case\"s\":item.command=\"c\"\nbreak\ncase\"t\":item.command=\"q\"\nbreak}item.args.unshift(data[data.length-2]-data[data.length-4],data[data.length-1]-data[data.length-3])\nreturn item}function getDistance(point1,point2){return Math.hypot(point1[0]-point2[0],point1[1]-point2[1])}function reflectPoint(controlPoint,base){return[2*base[0]-controlPoint[0],2*base[1]-controlPoint[1]]}function getCubicBezierPoint(curve,t){const sqrT=t*t\nconst cubT=sqrT*t\nconst mt=1-t\nconst sqrMt=mt*mt\nreturn[3*sqrMt*t*curve[0]+3*mt*sqrT*curve[2]+cubT*curve[4],3*sqrMt*t*curve[1]+3*mt*sqrT*curve[3]+cubT*curve[5]]}function findCircle(curve){const midPoint=getCubicBezierPoint(curve,.5)\nconst m1=[midPoint[0]/2,midPoint[1]/2]\nconst m2=[(midPoint[0]+curve[4])/2,(midPoint[1]+curve[5])/2]\nconst center=getIntersection([m1[0],m1[1],m1[0]+m1[1],m1[1]-m1[0],m2[0],m2[1],m2[0]+(m2[1]-midPoint[1]),m2[1]-(m2[0]-midPoint[0])])\nconst radius=center&&getDistance([0,0],center)\nconst tolerance=Math.min(arcThreshold*error,arcTolerance*radius/100)\nif(center&&radius<1e15&&[1/4,3/4].every((function(point){return Math.abs(getDistance(getCubicBezierPoint(curve,point),center)-radius)<=tolerance})))return{center:center,radius:radius}}function isArc(curve,circle){const tolerance=Math.min(arcThreshold*error,arcTolerance*circle.radius/100)\nreturn[0,1/4,.5,3/4,1].every((function(point){return Math.abs(getDistance(getCubicBezierPoint(curve,point),circle.center)-circle.radius)<=tolerance}))}function isArcPrev(curve,circle){return isArc(curve,{center:[circle.center[0]+curve[4],circle.center[1]+curve[5]],radius:circle.radius})}function findArcAngle(curve,relCircle){const x1=-relCircle.center[0]\nconst y1=-relCircle.center[1]\nconst x2=curve[4]-relCircle.center[0]\nconst y2=curve[5]-relCircle.center[1]\nreturn Math.acos((x1*x2+y1*y2)/Math.sqrt((x1*x1+y1*y1)*(x2*x2+y2*y2)))}function data2Path(params,pathData){return pathData.reduce((function(pathString,item){let strData=\"\"\nitem.args&&(strData=cleanupOutData(roundData(item.args.slice()),params))\nreturn pathString+item.command+strData}),\"\")}var convertPathData=Object.freeze({__proto__:null,description:description$r,fn:fn$r,name:name$r})\nconst name$q=\"convertTransform\"\nconst description$q=\"collapses multiple transformations and optimizes it\"\nconst fn$q=(_root,params)=>{const{convertToShorts:convertToShorts=true,degPrecision:degPrecision,floatPrecision:floatPrecision=3,transformPrecision:transformPrecision=5,matrixToTransform:matrixToTransform=true,shortTranslate:shortTranslate=true,shortScale:shortScale=true,shortRotate:shortRotate=true,removeUseless:removeUseless=true,collapseIntoOne:collapseIntoOne=true,leadingZero:leadingZero=true,negativeExtraSpace:negativeExtraSpace=false}=params\nconst newParams={convertToShorts:convertToShorts,degPrecision:degPrecision,floatPrecision:floatPrecision,transformPrecision:transformPrecision,matrixToTransform:matrixToTransform,shortTranslate:shortTranslate,shortScale:shortScale,shortRotate:shortRotate,removeUseless:removeUseless,collapseIntoOne:collapseIntoOne,leadingZero:leadingZero,negativeExtraSpace:negativeExtraSpace}\nreturn{element:{enter:node=>{node.attributes.transform!=null&&convertTransform(node,\"transform\",newParams)\nnode.attributes.gradientTransform!=null&&convertTransform(node,\"gradientTransform\",newParams)\nnode.attributes.patternTransform!=null&&convertTransform(node,\"patternTransform\",newParams)}}}}\nconst convertTransform=(item,attrName,params)=>{let data=transform2js(item.attributes[attrName])\nparams=definePrecision(data,params)\nparams.collapseIntoOne&&data.length>1&&(data=[transformsMultiply(data)])\nparams.convertToShorts?data=convertToShorts(data,params):data.forEach((item=>roundTransform(item,params)))\nparams.removeUseless&&(data=removeUseless(data))\ndata.length?item.attributes[attrName]=js2transform(data,params):delete item.attributes[attrName]}\nconst definePrecision=(data,{...newParams})=>{const matrixData=[]\nfor(const item of data)item.name==\"matrix\"&&matrixData.push(...item.data.slice(0,4))\nlet numberOfDigits=newParams.transformPrecision\nif(matrixData.length){newParams.transformPrecision=Math.min(newParams.transformPrecision,Math.max.apply(Math,matrixData.map(floatDigits))||newParams.transformPrecision)\nnumberOfDigits=Math.max.apply(Math,matrixData.map((n=>n.toString().replace(/\\D+/g,\"\").length)))}newParams.degPrecision==null&&(newParams.degPrecision=Math.max(0,Math.min(newParams.floatPrecision,numberOfDigits-2)))\nreturn newParams}\nconst floatDigits=n=>{const str=n.toString()\nreturn str.slice(str.indexOf(\".\")).length-1}\nconst convertToShorts=(transforms,params)=>{for(let i=0;i<transforms.length;i++){let transform=transforms[i]\nif(params.matrixToTransform&&transform.name===\"matrix\"){const decomposed=matrixToTransform(transform,params)\njs2transform(decomposed,params).length<=js2transform([transform],params).length&&transforms.splice(i,1,...decomposed)\ntransform=transforms[i]}roundTransform(transform,params)\nparams.shortTranslate&&transform.name===\"translate\"&&transform.data.length===2&&!transform.data[1]&&transform.data.pop()\nparams.shortScale&&transform.name===\"scale\"&&transform.data.length===2&&transform.data[0]===transform.data[1]&&transform.data.pop()\nif(params.shortRotate&&transforms[i-2]?.name===\"translate\"&&transforms[i-1].name===\"rotate\"&&transforms[i].name===\"translate\"&&transforms[i-2].data[0]===-transforms[i].data[0]&&transforms[i-2].data[1]===-transforms[i].data[1]){transforms.splice(i-2,3,{name:\"rotate\",data:[transforms[i-1].data[0],transforms[i-2].data[0],transforms[i-2].data[1]]})\ni-=2}}return transforms}\nconst removeUseless=transforms=>transforms.filter((transform=>{if([\"translate\",\"rotate\",\"skewX\",\"skewY\"].indexOf(transform.name)>-1&&(transform.data.length==1||transform.name==\"rotate\")&&!transform.data[0]||transform.name==\"translate\"&&!transform.data[0]&&!transform.data[1]||transform.name==\"scale\"&&transform.data[0]==1&&(transform.data.length<2||transform.data[1]==1)||transform.name==\"matrix\"&&transform.data[0]==1&&transform.data[3]==1&&!(transform.data[1]||transform.data[2]||transform.data[4]||transform.data[5]))return false\nreturn true}))\nvar convertTransform$1=Object.freeze({__proto__:null,description:description$q,fn:fn$q,name:name$q})\nconst name$p=\"removeEmptyAttrs\"\nconst description$p=\"removes empty attributes\"\nconst fn$p=()=>({element:{enter:node=>{for(const[name,value]of Object.entries(node.attributes))value!==\"\"||attrsGroups.conditionalProcessing.has(name)||delete node.attributes[name]}}})\nvar removeEmptyAttrs=Object.freeze({__proto__:null,description:description$p,fn:fn$p,name:name$p})\nconst name$o=\"removeEmptyContainers\"\nconst description$o=\"removes empty container elements\"\nconst fn$o=root=>{const stylesheet=collectStylesheet(root)\nconst removedIds=new Set\nconst usesById=new Map\nreturn{element:{enter:(node,parentNode)=>{if(node.name===\"use\")for(const[name,value]of Object.entries(node.attributes)){const ids=findReferences(name,value)\nfor(const id of ids){let references=usesById.get(id)\nif(references===void 0){references=[]\nusesById.set(id,references)}references.push({node:node,parent:parentNode})}}},exit:(node,parentNode)=>{if(node.name===\"svg\"||!elemsGroups.container.has(node.name)||node.children.length!==0)return\nif(node.name===\"pattern\"&&Object.keys(node.attributes).length!==0)return\nif(node.name===\"mask\"&&node.attributes.id!=null)return\nif(parentNode.type===\"element\"&&parentNode.name===\"switch\")return\nif(node.name===\"g\"&&(node.attributes.filter!=null||computeStyle(stylesheet,node).filter))return\ndetachNodeFromParent(node,parentNode)\nnode.attributes.id&&removedIds.add(node.attributes.id)}},root:{exit:()=>{for(const id of removedIds){const uses=usesById.get(id)\nif(uses)for(const use of uses)detachNodeFromParent(use.node,use.parent)}}}}}\nvar removeEmptyContainers=Object.freeze({__proto__:null,description:description$o,fn:fn$o,name:name$o})\nconst name$n=\"mergePaths\"\nconst description$n=\"merges multiple paths in one if possible\"\nfunction elementHasUrl(computedStyle,attName){const style=computedStyle[attName]\nif(style?.type===\"static\")return includesUrlReference(style.value)\nreturn false}const fn$n=(root,params)=>{const{force:force=false,floatPrecision:floatPrecision=3,noSpaceAfterFlags:noSpaceAfterFlags=false}=params\nconst stylesheet=collectStylesheet(root)\nreturn{element:{enter:node=>{if(node.children.length<=1)return\nconst elementsToRemove=new Set\nlet prevChild=node.children[0]\nlet prevPathData=null\nconst updatePreviousPath=(child,pathData)=>{js2path(child,pathData,{floatPrecision:floatPrecision,noSpaceAfterFlags:noSpaceAfterFlags})\nprevPathData=null}\nfor(let i=1;i<node.children.length;i++){const child=node.children[i]\nif(prevChild.type!==\"element\"||prevChild.name!==\"path\"||prevChild.children.length!==0||prevChild.attributes.d==null){prevPathData&&prevChild.type===\"element\"&&updatePreviousPath(prevChild,prevPathData)\nprevChild=child\ncontinue}if(child.type!==\"element\"||child.name!==\"path\"||child.children.length!==0||child.attributes.d==null){prevPathData&&updatePreviousPath(prevChild,prevPathData)\nprevChild=child\ncontinue}const computedStyle=computeStyle(stylesheet,child)\nif(computedStyle[\"marker-start\"]||computedStyle[\"marker-mid\"]||computedStyle[\"marker-end\"]||computedStyle[\"clip-path\"]||computedStyle[\"mask\"]||computedStyle[\"mask-image\"]||[\"fill\",\"filter\",\"stroke\"].some((attName=>elementHasUrl(computedStyle,attName)))){prevPathData&&updatePreviousPath(prevChild,prevPathData)\nprevChild=child\ncontinue}const childAttrs=Object.keys(child.attributes)\nif(childAttrs.length!==Object.keys(prevChild.attributes).length){prevPathData&&updatePreviousPath(prevChild,prevPathData)\nprevChild=child\ncontinue}const areAttrsEqual=childAttrs.some((attr=>attr!==\"d\"&&prevChild.type===\"element\"&&prevChild.attributes[attr]!==child.attributes[attr]))\nif(areAttrsEqual){prevPathData&&updatePreviousPath(prevChild,prevPathData)\nprevChild=child\ncontinue}const hasPrevPath=prevPathData!=null\nconst currentPathData=path2js(child)\nprevPathData=prevPathData??path2js(prevChild)\nif(force||!intersects(prevPathData,currentPathData)){prevPathData.push(...currentPathData)\nelementsToRemove.add(child)\ncontinue}hasPrevPath&&updatePreviousPath(prevChild,prevPathData)\nprevChild=child\nprevPathData=null}prevPathData&&prevChild.type===\"element\"&&updatePreviousPath(prevChild,prevPathData)\nnode.children=node.children.filter((child=>!elementsToRemove.has(child)))}}}}\nvar mergePaths=Object.freeze({__proto__:null,description:description$n,fn:fn$n,name:name$n})\nconst name$m=\"removeUnusedNS\"\nconst description$m=\"removes unused namespaces declaration\"\nconst fn$m=()=>{const unusedNamespaces=new Set\nreturn{element:{enter:(node,parentNode)=>{if(node.name===\"svg\"&&parentNode.type===\"root\")for(const name of Object.keys(node.attributes))if(name.startsWith(\"xmlns:\")){const local=name.slice(6)\nunusedNamespaces.add(local)}if(unusedNamespaces.size!==0){if(node.name.includes(\":\")){const[ns]=node.name.split(\":\")\nunusedNamespaces.has(ns)&&unusedNamespaces.delete(ns)}for(const name of Object.keys(node.attributes))if(name.includes(\":\")){const[ns]=name.split(\":\")\nunusedNamespaces.delete(ns)}}},exit:(node,parentNode)=>{if(node.name===\"svg\"&&parentNode.type===\"root\")for(const name of unusedNamespaces)delete node.attributes[`xmlns:${name}`]}}}}\nvar removeUnusedNS=Object.freeze({__proto__:null,description:description$m,fn:fn$m,name:name$m})\nconst name$l=\"sortAttrs\"\nconst description$l=\"Sort element attributes for better compression\"\nconst fn$l=(_root,params)=>{const{order:order=[\"id\",\"width\",\"height\",\"x\",\"x1\",\"x2\",\"y\",\"y1\",\"y2\",\"cx\",\"cy\",\"r\",\"fill\",\"stroke\",\"marker\",\"d\",\"points\"],xmlnsOrder:xmlnsOrder=\"front\"}=params\nconst getNsPriority=name=>{if(xmlnsOrder===\"front\"){if(name===\"xmlns\")return 3\nif(name.startsWith(\"xmlns:\"))return 2}if(name.includes(\":\"))return 1\nreturn 0}\nconst compareAttrs=([aName],[bName])=>{const aPriority=getNsPriority(aName)\nconst bPriority=getNsPriority(bName)\nconst priorityNs=bPriority-aPriority\nif(priorityNs!==0)return priorityNs\nconst[aPart]=aName.split(\"-\")\nconst[bPart]=bName.split(\"-\")\nif(aPart!==bPart){const aInOrderFlag=order.includes(aPart)?1:0\nconst bInOrderFlag=order.includes(bPart)?1:0\nif(aInOrderFlag===1&&bInOrderFlag===1)return order.indexOf(aPart)-order.indexOf(bPart)\nconst priorityOrder=bInOrderFlag-aInOrderFlag\nif(priorityOrder!==0)return priorityOrder}return aName<bName?-1:1}\nreturn{element:{enter:node=>{const attrs=Object.entries(node.attributes)\nattrs.sort(compareAttrs)\nconst sortedAttributes={}\nfor(const[name,value]of attrs)sortedAttributes[name]=value\nnode.attributes=sortedAttributes}}}}\nvar sortAttrs=Object.freeze({__proto__:null,description:description$l,fn:fn$l,name:name$l})\nconst name$k=\"sortDefsChildren\"\nconst description$k=\"Sorts children of <defs> to improve compression\"\nconst fn$k=()=>({element:{enter:node=>{if(node.name===\"defs\"){const frequencies=new Map\nfor(const child of node.children)if(child.type===\"element\"){const frequency=frequencies.get(child.name)\nfrequency==null?frequencies.set(child.name,1):frequencies.set(child.name,frequency+1)}node.children.sort(((a,b)=>{if(a.type!==\"element\"||b.type!==\"element\")return 0\nconst aFrequency=frequencies.get(a.name)\nconst bFrequency=frequencies.get(b.name)\nif(aFrequency!=null&&bFrequency!=null){const frequencyComparison=bFrequency-aFrequency\nif(frequencyComparison!==0)return frequencyComparison}const lengthComparison=b.name.length-a.name.length\nif(lengthComparison!==0)return lengthComparison\nif(a.name!==b.name)return a.name>b.name?-1:1\nreturn 0}))}}}})\nvar sortDefsChildren=Object.freeze({__proto__:null,description:description$k,fn:fn$k,name:name$k})\nconst name$j=\"removeDesc\"\nconst description$j=\"removes <desc>\"\nconst standardDescs=/^(Created with|Created using)/\nconst fn$j=(root,params)=>{const{removeAny:removeAny=false}=params\nreturn{element:{enter:(node,parentNode)=>{node.name===\"desc\"&&(removeAny||node.children.length===0||node.children[0].type===\"text\"&&standardDescs.test(node.children[0].value))&&detachNodeFromParent(node,parentNode)}}}}\nvar removeDesc=Object.freeze({__proto__:null,description:description$j,fn:fn$j,name:name$j})\nconst presetDefault=createPreset({name:\"preset-default\",plugins:[removeDoctype,removeXMLProcInst,removeComments,removeDeprecatedAttrs,removeMetadata,removeEditorsNSData,cleanupAttrs,mergeStyles,inlineStyles,minifyStyles,cleanupIds,removeUselessDefs,cleanupNumericValues,convertColors,removeUnknownsAndDefaults,removeNonInheritableGroupAttrs,removeUselessStrokeAndFill,cleanupEnableBackground,removeHiddenElems,removeEmptyText,convertShapeToPath,convertEllipseToCircle,moveElemsAttrsToGroup,moveGroupAttrsToElems,collapseGroups,convertPathData,convertTransform$1,removeEmptyAttrs,removeEmptyContainers,mergePaths,removeUnusedNS,sortAttrs,sortDefsChildren,removeDesc]})\nconst name$i=\"addAttributesToSVGElement\"\nconst description$i=\"adds attributes to an outer <svg> element\"\nconst ENOCLS$1='Error in plugin \"addAttributesToSVGElement\": absent parameters.\\nIt should have a list of \"attributes\" or one \"attribute\".\\nConfig example:\\n\\nplugins: [\\n {\\n name: \\'addAttributesToSVGElement\\',\\n params: {\\n attribute: \"mySvg\"\\n }\\n }\\n]\\n\\nplugins: [\\n {\\n name: \\'addAttributesToSVGElement\\',\\n params: {\\n attributes: [\"mySvg\", \"size-big\"]\\n }\\n }\\n]\\n\\nplugins: [\\n {\\n name: \\'addAttributesToSVGElement\\',\\n params: {\\n attributes: [\\n {\\n focusable: false\\n },\\n {\\n \\'data-image\\': icon\\n }\\n ]\\n }\\n }\\n]\\n'\nconst fn$i=(root,params)=>{if(!Array.isArray(params.attributes)&&!params.attribute){console.error(ENOCLS$1)\nreturn null}const attributes=params.attributes||[params.attribute]\nreturn{element:{enter:(node,parentNode)=>{if(node.name===\"svg\"&&parentNode.type===\"root\")for(const attribute of attributes){typeof attribute===\"string\"&&node.attributes[attribute]==null&&(node.attributes[attribute]=void 0)\nif(typeof attribute===\"object\")for(const key of Object.keys(attribute))node.attributes[key]==null&&(node.attributes[key]=attribute[key])}}}}}\nvar addAttributesToSVGElement=Object.freeze({__proto__:null,description:description$i,fn:fn$i,name:name$i})\nconst name$h=\"addClassesToSVGElement\"\nconst description$h=\"adds classnames to an outer <svg> element\"\nconst ENOCLS='Error in plugin \"addClassesToSVGElement\": absent parameters.\\nIt should have a list of classes in \"classNames\" or one \"className\".\\nConfig example:\\n\\nplugins: [\\n {\\n name: \"addClassesToSVGElement\",\\n params: {\\n className: \"mySvg\"\\n }\\n }\\n]\\n\\nplugins: [\\n {\\n name: \"addClassesToSVGElement\",\\n params: {\\n classNames: [\"mySvg\", \"size-big\"]\\n }\\n }\\n]\\n'\nconst fn$h=(root,params,info)=>{if(!(Array.isArray(params.classNames)&&params.classNames.length!==0)&&!params.className){console.error(ENOCLS)\nreturn null}const classNames=params.classNames||[params.className]\nreturn{element:{enter:(node,parentNode)=>{if(node.name===\"svg\"&&parentNode.type===\"root\"){const classList=new Set(node.attributes.class==null?null:node.attributes.class.split(\" \"))\nfor(const className of classNames)if(className!=null){const classToAdd=typeof className===\"string\"?className:className(node,info)\nclassList.add(classToAdd)}node.attributes.class=Array.from(classList).join(\" \")}}}}}\nvar addClassesToSVGElement=Object.freeze({__proto__:null,description:description$h,fn:fn$h,name:name$h})\nconst name$g=\"cleanupListOfValues\"\nconst description$g=\"rounds list of values to the fixed precision\"\nconst regNumericValues=/^([-+]?\\d*\\.?\\d+([eE][-+]?\\d+)?)(px|pt|pc|mm|cm|m|in|ft|em|ex|%)?$/\nconst regSeparator=/\\s+,?\\s*|,\\s*/\nconst absoluteLengths={cm:96/2.54,mm:96/25.4,in:96,pt:4/3,pc:16,px:1}\nconst fn$g=(_root,params)=>{const{floatPrecision:floatPrecision=3,leadingZero:leadingZero=true,defaultPx:defaultPx=true,convertToPx:convertToPx=true}=params\nconst roundValues=lists=>{const roundedList=[]\nfor(const elem of lists.split(regSeparator)){const match=elem.match(regNumericValues)\nconst matchNew=elem.match(/new/)\nif(match){let num=Number(Number(match[1]).toFixed(floatPrecision))\nconst matchedUnit=match[3]||\"\"\nlet units=matchedUnit\nif(convertToPx&&units&&units in absoluteLengths){const pxNum=Number((absoluteLengths[units]*Number(match[1])).toFixed(floatPrecision))\nif(pxNum.toString().length<match[0].length){num=pxNum\nunits=\"px\"}}let str\nstr=leadingZero?removeLeadingZero(num):num.toString()\ndefaultPx&&units===\"px\"&&(units=\"\")\nroundedList.push(str+units)}else matchNew?roundedList.push(\"new\"):elem&&roundedList.push(elem)}return roundedList.join(\" \")}\nreturn{element:{enter:node=>{node.attributes.points!=null&&(node.attributes.points=roundValues(node.attributes.points))\nnode.attributes[\"enable-background\"]!=null&&(node.attributes[\"enable-background\"]=roundValues(node.attributes[\"enable-background\"]))\nnode.attributes.viewBox!=null&&(node.attributes.viewBox=roundValues(node.attributes.viewBox))\nnode.attributes[\"stroke-dasharray\"]!=null&&(node.attributes[\"stroke-dasharray\"]=roundValues(node.attributes[\"stroke-dasharray\"]))\nnode.attributes.dx!=null&&(node.attributes.dx=roundValues(node.attributes.dx))\nnode.attributes.dy!=null&&(node.attributes.dy=roundValues(node.attributes.dy))\nnode.attributes.x!=null&&(node.attributes.x=roundValues(node.attributes.x))\nnode.attributes.y!=null&&(node.attributes.y=roundValues(node.attributes.y))}}}}\nvar cleanupListOfValues=Object.freeze({__proto__:null,description:description$g,fn:fn$g,name:name$g})\nconst name$f=\"convertOneStopGradients\"\nconst description$f=\"converts one-stop (single color) gradients to a plain color\"\nconst fn$f=root=>{const stylesheet=collectStylesheet(root)\nconst effectedDefs=new Set\nconst allDefs=new Map\nconst gradientsToDetach=new Map\nlet xlinkHrefCount=0\nreturn{element:{enter:(node,parentNode)=>{node.attributes[\"xlink:href\"]!=null&&xlinkHrefCount++\nif(node.name===\"defs\"){allDefs.set(node,parentNode)\nreturn}if(node.name!==\"linearGradient\"&&node.name!==\"radialGradient\")return\nconst stops=node.children.filter((child=>child.type===\"element\"&&child.name===\"stop\"))\nconst href=node.attributes[\"xlink:href\"]||node.attributes[\"href\"]\nconst effectiveNode=stops.length===0&&href!=null&&href.startsWith(\"#\")?querySelector(root,href):node\nif(effectiveNode==null||effectiveNode.type!==\"element\"){gradientsToDetach.set(node,parentNode)\nreturn}const effectiveStops=effectiveNode.children.filter((child=>child.type===\"element\"&&child.name===\"stop\"))\nif(effectiveStops.length!==1||effectiveStops[0].type!==\"element\")return\nparentNode.type===\"element\"&&parentNode.name===\"defs\"&&effectedDefs.add(parentNode)\ngradientsToDetach.set(node,parentNode)\nlet color\nconst style=computeStyle(stylesheet,effectiveStops[0])[\"stop-color\"]\nstyle!=null&&style.type===\"static\"&&(color=style.value)\nconst selectorVal=`url(#${node.attributes.id})`\nconst selector=[...colorsProps].map((attr=>`[${attr}=\"${selectorVal}\"]`)).join(\",\")\nconst elements=querySelectorAll(root,selector)\nfor(const element of elements){if(element.type!==\"element\")continue\nfor(const attr of colorsProps){if(element.attributes[attr]!==selectorVal)continue\ncolor!=null?element.attributes[attr]=color:delete element.attributes[attr]}}const styledElements=querySelectorAll(root,`[style*=${selectorVal}]`)\nfor(const element of styledElements){if(element.type!==\"element\")continue\nelement.attributes.style=element.attributes.style.replace(selectorVal,color||attrsGroupsDefaults.presentation[\"stop-color\"])}},exit:node=>{if(node.name===\"svg\"){for(const[gradient,parent]of gradientsToDetach.entries()){gradient.attributes[\"xlink:href\"]!=null&&xlinkHrefCount--\ndetachNodeFromParent(gradient,parent)}xlinkHrefCount===0&&delete node.attributes[\"xmlns:xlink\"]\nfor(const[defs,parent]of allDefs.entries())effectedDefs.has(defs)&&defs.children.length===0&&detachNodeFromParent(defs,parent)}}}}}\nvar convertOneStopGradients=Object.freeze({__proto__:null,description:description$f,fn:fn$f,name:name$f})\nconst name$e=\"convertStyleToAttrs\"\nconst description$e=\"converts style to attributes\"\nconst g=(...args)=>\"(?:\"+args.join(\"|\")+\")\"\nconst stylingProps=attrsGroups.presentation\nconst rEscape=\"\\\\\\\\(?:[0-9a-f]{1,6}\\\\s?|\\\\r\\\\n|.)\"\nconst rAttr=\"\\\\s*(\"+g(\"[^:;\\\\\\\\]\",rEscape)+\"*?)\\\\s*\"\nconst rSingleQuotes=\"'(?:[^'\\\\n\\\\r\\\\\\\\]|\"+rEscape+\")*?(?:'|$)\"\nconst rQuotes='\"(?:[^\"\\\\n\\\\r\\\\\\\\]|'+rEscape+')*?(?:\"|$)'\nconst rQuotedString=new RegExp(\"^\"+g(rSingleQuotes,rQuotes)+\"$\")\nconst rParenthesis=\"\\\\(\"+g(\"[^'\\\"()\\\\\\\\]+\",rEscape,rSingleQuotes,rQuotes)+\"*?\\\\)\"\nconst rValue=\"\\\\s*(\"+g(\"[^!'\\\"();\\\\\\\\]+?\",rEscape,rSingleQuotes,rQuotes,rParenthesis,\"[^;]*?\")+\"*?)\"\nconst rDeclEnd=\"\\\\s*(?:;\\\\s*|$)\"\nconst rImportant=\"(\\\\s*!important(?![-(\\\\w]))?\"\nconst regDeclarationBlock=new RegExp(rAttr+\":\"+rValue+rImportant+rDeclEnd,\"ig\")\nconst regStripComments=new RegExp(g(rEscape,rSingleQuotes,rQuotes,\"/\\\\*[^]*?\\\\*/\"),\"ig\")\nconst fn$e=(_root,params)=>{const{keepImportant:keepImportant=false}=params\nreturn{element:{enter:node=>{if(node.attributes.style!=null){let styles=[]\nconst newAttributes={}\nconst styleValue=node.attributes.style.replace(regStripComments,(match=>match[0]==\"/\"?\"\":match[0]==\"\\\\\"&&/[-g-z]/i.test(match[1])?match[1]:match))\nregDeclarationBlock.lastIndex=0\nfor(var rule;rule=regDeclarationBlock.exec(styleValue);)keepImportant&&rule[3]||styles.push([rule[1],rule[2]])\nif(styles.length){styles=styles.filter((function(style){if(style[0]){const prop=style[0].toLowerCase()\nlet val=style[1]\nrQuotedString.test(val)&&(val=val.slice(1,-1))\nif(stylingProps.has(prop)){newAttributes[prop]=val\nreturn false}}return true}))\nObject.assign(node.attributes,newAttributes)\nstyles.length?node.attributes.style=styles.map((declaration=>declaration.join(\":\"))).join(\";\"):delete node.attributes.style}}}}}}\nvar convertStyleToAttrs=Object.freeze({__proto__:null,description:description$e,fn:fn$e,name:name$e})\nconst name$d=\"prefixIds\"\nconst description$d=\"prefix IDs\"\nconst getBasename=path=>{const matched=/[/\\\\]?([^/\\\\]+)$/.exec(path)\nif(matched)return matched[1]\nreturn\"\"}\nconst escapeIdentifierName=str=>str.replace(/[. ]/g,\"_\")\nconst unquote=string=>{if(string.startsWith('\"')&&string.endsWith('\"')||string.startsWith(\"'\")&&string.endsWith(\"'\"))return string.slice(1,-1)\nreturn string}\nconst prefixId=(prefixGenerator,body)=>{const prefix=prefixGenerator(body)\nif(body.startsWith(prefix))return body\nreturn prefix+body}\nconst prefixReference=(prefixGenerator,reference)=>{if(reference.startsWith(\"#\"))return\"#\"+prefixId(prefixGenerator,reference.slice(1))\nreturn null}\nconst generatePrefix=(body,node,info,prefixGenerator,delim,history)=>{if(typeof prefixGenerator===\"function\"){let prefix=history.get(body)\nif(prefix!=null)return prefix\nprefix=prefixGenerator(node,info)+delim\nhistory.set(body,prefix)\nreturn prefix}if(typeof prefixGenerator===\"string\")return prefixGenerator+delim\nif(prefixGenerator===false)return\"\"\nif(info.path!=null&&info.path.length>0)return escapeIdentifierName(getBasename(info.path))+delim\nreturn\"prefix\"+delim}\nconst fn$d=(_root,params,info)=>{const{delim:delim=\"__\",prefix:prefix,prefixIds:prefixIds=true,prefixClassNames:prefixClassNames=true}=params\nconst prefixMap=new Map\nreturn{element:{enter:node=>{const prefixGenerator=id=>generatePrefix(id,node,info,prefix,delim,prefixMap)\nif(node.name===\"style\"){if(node.children.length===0)return\nfor(const child of node.children){if(child.type!==\"text\"&&child.type!==\"cdata\")continue\nconst cssText=child.value\nlet cssAst\ntry{cssAst=parse$I(cssText,{parseValue:true,parseCustomProperty:false})}catch{return}walk$3(cssAst,(node=>{if(prefixIds&&node.type===\"IdSelector\"||prefixClassNames&&node.type===\"ClassSelector\"){node.name=prefixId(prefixGenerator,node.name)\nreturn}if(node.type===\"Url\"&&node.value.length>0){const prefixed=prefixReference(prefixGenerator,unquote(node.value))\nprefixed!=null&&(node.value=prefixed)}}))\nchild.value=generate$I(cssAst)}}prefixIds&&node.attributes.id!=null&&node.attributes.id.length!==0&&(node.attributes.id=prefixId(prefixGenerator,node.attributes.id))\nprefixClassNames&&node.attributes.class!=null&&node.attributes.class.length!==0&&(node.attributes.class=node.attributes.class.split(/\\s+/).map((name=>prefixId(prefixGenerator,name))).join(\" \"))\nfor(const name of[\"href\",\"xlink:href\"])if(node.attributes[name]!=null&&node.attributes[name].length!==0){const prefixed=prefixReference(prefixGenerator,node.attributes[name])\nprefixed!=null&&(node.attributes[name]=prefixed)}for(const name of referencesProps)node.attributes[name]!=null&&node.attributes[name].length!==0&&(node.attributes[name]=node.attributes[name].replace(/\\burl\\(([\"'])?(#.+?)\\1\\)/gi,((match,_,url)=>{const prefixed=prefixReference(prefixGenerator,url)\nif(prefixed==null)return match\nreturn`url(${prefixed})`})))\nfor(const name of[\"begin\",\"end\"])if(node.attributes[name]!=null&&node.attributes[name].length!==0){const parts=node.attributes[name].split(/\\s*;\\s+/).map((val=>{if(val.endsWith(\".end\")||val.endsWith(\".start\")){const[id,postfix]=val.split(\".\")\nreturn`${prefixId(prefixGenerator,id)}.${postfix}`}return val}))\nnode.attributes[name]=parts.join(\"; \")}}}}}\nvar prefixIds=Object.freeze({__proto__:null,description:description$d,fn:fn$d,name:name$d})\nconst name$c=\"removeAttributesBySelector\"\nconst description$c=\"removes attributes of elements that match a css selector\"\nconst ENOATTRS$1='Warning: The plugin \"removeAttributesBySelector\" is missing parameters.\\nIt should have a list of \"selectors\", or one \"selector\" and one \"attributes\".\\nWithout either, the plugin is a noop.'\nconst fn$c=(root,params)=>{if(!Array.isArray(params.selectors)&&(!params.selector||!params.attributes)){console.warn(ENOATTRS$1)\nreturn null}const selectors=Array.isArray(params.selectors)?params.selectors:[params]\nfor(const{selector:selector,attributes:attributes}of selectors){const nodes=querySelectorAll(root,selector)\nfor(const node of nodes)if(node.type===\"element\")if(Array.isArray(attributes))for(const name of attributes)delete node.attributes[name]\nelse delete node.attributes[attributes]}return{}}\nvar removeAttributesBySelector=Object.freeze({__proto__:null,description:description$c,fn:fn$c,name:name$c})\nconst name$b=\"removeAttrs\"\nconst description$b=\"removes specified attributes\"\nconst DEFAULT_SEPARATOR=\":\"\nconst ENOATTRS='Warning: The plugin \"removeAttrs\" requires the \"attrs\" parameter.\\nIt should have a pattern to remove, otherwise the plugin is a noop.\\nConfig example:\\n\\nplugins: [\\n {\\n name: \"removeAttrs\",\\n params: {\\n attrs: \"(fill|stroke)\"\\n }\\n }\\n]\\n'\nconst fn$b=(root,params)=>{if(typeof params.attrs==\"undefined\"){console.warn(ENOATTRS)\nreturn null}const elemSeparator=typeof params.elemSeparator==\"string\"?params.elemSeparator:DEFAULT_SEPARATOR\nconst preserveCurrentColor=typeof params.preserveCurrentColor==\"boolean\"&&params.preserveCurrentColor\nconst attrs=Array.isArray(params.attrs)?params.attrs:[params.attrs]\nreturn{element:{enter:node=>{for(let pattern of attrs){pattern.includes(elemSeparator)?pattern.split(elemSeparator).length<3&&(pattern=[pattern,\".*\"].join(elemSeparator)):pattern=[\".*\",pattern,\".*\"].join(elemSeparator)\nconst list=pattern.split(elemSeparator).map((value=>{value===\"*\"&&(value=\".*\")\nreturn new RegExp([\"^\",value,\"$\"].join(\"\"),\"i\")}))\nif(list[0].test(node.name))for(const[name,value]of Object.entries(node.attributes)){const isCurrentColor=value.toLowerCase()===\"currentcolor\"\nconst isFillCurrentColor=preserveCurrentColor&&name==\"fill\"&&isCurrentColor\nconst isStrokeCurrentColor=preserveCurrentColor&&name==\"stroke\"&&isCurrentColor\n!isFillCurrentColor&&!isStrokeCurrentColor&&list[1].test(name)&&list[2].test(value)&&delete node.attributes[name]}}}}}}\nvar removeAttrs=Object.freeze({__proto__:null,description:description$b,fn:fn$b,name:name$b})\nconst name$a=\"removeDimensions\"\nconst description$a=\"removes width and height in presence of viewBox (opposite to removeViewBox)\"\nconst fn$a=()=>({element:{enter:node=>{if(node.name===\"svg\")if(node.attributes.viewBox!=null){delete node.attributes.width\ndelete node.attributes.height}else if(node.attributes.width!=null&&node.attributes.height!=null&&Number.isNaN(Number(node.attributes.width))===false&&Number.isNaN(Number(node.attributes.height))===false){const width=Number(node.attributes.width)\nconst height=Number(node.attributes.height)\nnode.attributes.viewBox=`0 0 ${width} ${height}`\ndelete node.attributes.width\ndelete node.attributes.height}}}})\nvar removeDimensions=Object.freeze({__proto__:null,description:description$a,fn:fn$a,name:name$a})\nconst name$9=\"removeElementsByAttr\"\nconst description$9=\"removes arbitrary elements by ID or className\"\nconst fn$9=(root,params)=>{const ids=params.id==null?[]:Array.isArray(params.id)?params.id:[params.id]\nconst classes=params.class==null?[]:Array.isArray(params.class)?params.class:[params.class]\nreturn{element:{enter:(node,parentNode)=>{node.attributes.id!=null&&ids.length!==0&&ids.includes(node.attributes.id)&&detachNodeFromParent(node,parentNode)\nif(node.attributes.class&&classes.length!==0){const classList=node.attributes.class.split(\" \")\nfor(const item of classes)if(classList.includes(item)){detachNodeFromParent(node,parentNode)\nbreak}}}}}}\nvar removeElementsByAttr=Object.freeze({__proto__:null,description:description$9,fn:fn$9,name:name$9})\nconst name$8=\"removeOffCanvasPaths\"\nconst description$8=\"removes elements that are drawn outside of the viewBox\"\nconst fn$8=()=>{let viewBoxData=null\nreturn{element:{enter:(node,parentNode)=>{if(node.name===\"svg\"&&parentNode.type===\"root\"){let viewBox=\"\"\nnode.attributes.viewBox!=null?viewBox=node.attributes.viewBox:node.attributes.height!=null&&node.attributes.width!=null&&(viewBox=`0 0 ${node.attributes.width} ${node.attributes.height}`)\nviewBox=viewBox.replace(/[,+]|px/g,\" \").replace(/\\s+/g,\" \").replace(/^\\s*|\\s*$/g,\"\")\nconst m=/^(-?\\d*\\.?\\d+) (-?\\d*\\.?\\d+) (\\d*\\.?\\d+) (\\d*\\.?\\d+)$/.exec(viewBox)\nif(m==null)return\nconst left=Number.parseFloat(m[1])\nconst top=Number.parseFloat(m[2])\nconst width=Number.parseFloat(m[3])\nconst height=Number.parseFloat(m[4])\nviewBoxData={left:left,top:top,right:left+width,bottom:top+height,width:width,height:height}}if(node.attributes.transform!=null)return visitSkip\nif(node.name===\"path\"&&node.attributes.d!=null&&viewBoxData!=null){const pathData=parsePathData(node.attributes.d)\nlet visible=false\nfor(const pathDataItem of pathData)if(pathDataItem.command===\"M\"){const[x,y]=pathDataItem.args\nx>=viewBoxData.left&&x<=viewBoxData.right&&y>=viewBoxData.top&&y<=viewBoxData.bottom&&(visible=true)}if(visible)return\npathData.length===2&&pathData.push({command:\"z\",args:[]})\nconst{left:left,top:top,width:width,height:height}=viewBoxData\nconst viewBoxPathData=[{command:\"M\",args:[left,top]},{command:\"h\",args:[width]},{command:\"v\",args:[height]},{command:\"H\",args:[left]},{command:\"z\",args:[]}]\nintersects(viewBoxPathData,pathData)===false&&detachNodeFromParent(node,parentNode)}}}}}\nvar removeOffCanvasPaths=Object.freeze({__proto__:null,description:description$8,fn:fn$8,name:name$8})\nconst name$7=\"removeRasterImages\"\nconst description$7=\"removes raster images\"\nconst fn$7=()=>({element:{enter:(node,parentNode)=>{node.name===\"image\"&&node.attributes[\"xlink:href\"]!=null&&/(\\.|image\\/)(jpe?g|png|gif)/.test(node.attributes[\"xlink:href\"])&&detachNodeFromParent(node,parentNode)}}})\nvar removeRasterImages=Object.freeze({__proto__:null,description:description$7,fn:fn$7,name:name$7})\nconst name$6=\"removeScripts\"\nconst description$6=\"removes scripts\"\nconst eventAttrs=[...attrsGroups.animationEvent,...attrsGroups.documentEvent,...attrsGroups.documentElementEvent,...attrsGroups.globalEvent,...attrsGroups.graphicalEvent]\nconst SCRIPT_NAMESPACES=[\"http://www.w3.org/2000/svg\",\"http://www.w3.org/1999/xhtml\"]\nfunction isNamespaceAwareElem(elem,targetElem,prefixes,targetNamespaces){if(elem===targetElem)return true\nif(elem.includes(\":\")){const[prefix,effectiveTag]=elem.split(\":\",2)\nif(targetElem===effectiveTag){const namespaces=prefixes.get(prefix)\nconst namespace=namespaces[namespaces.length-1]\nreturn targetNamespaces.includes(namespace)}}return false}const fn$6=()=>{const prefixes=new Map\nreturn{element:{enter:(node,parentNode)=>{for(const[k,v]of Object.entries(node.attributes)){if(!k.startsWith(\"xmlns:\"))continue\nconst prefix=k.slice(6)\nprefixes.has(prefix)?prefixes.get(prefix).push(v):prefixes.set(prefix,[v])}if(isNamespaceAwareElem(node.name,\"script\",prefixes,SCRIPT_NAMESPACES)){detachNodeFromParent(node,parentNode)\nreturn}for(const attr of eventAttrs)node.attributes[attr]!=null&&delete node.attributes[attr]},exit:(node,parentNode)=>{for(const k of Object.keys(node.attributes)){if(!k.startsWith(\"xmlns:\"))continue\nconst prefix=k.slice(6)\nprefixes.get(prefix).pop()}if(node.name!==\"a\")return\nfor(const attr of Object.keys(node.attributes))if(attr===\"href\"||attr.endsWith(\":href\")){if(node.attributes[attr]==null||!node.attributes[attr].trimStart().toLowerCase().startsWith(\"javascript:\"))continue\nconst index=parentNode.children.indexOf(node)\nconst usefulChildren=node.children.filter((child=>child.type!==\"text\"))\nparentNode.children.splice(index,1,...usefulChildren)}}}}}\nvar removeScripts=Object.freeze({__proto__:null,description:description$6,fn:fn$6,name:name$6})\nconst name$5=\"removeStyleElement\"\nconst description$5=\"removes <style> element\"\nconst fn$5=()=>({element:{enter:(node,parentNode)=>{node.name===\"style\"&&detachNodeFromParent(node,parentNode)}}})\nvar removeStyleElement=Object.freeze({__proto__:null,description:description$5,fn:fn$5,name:name$5})\nconst name$4=\"removeTitle\"\nconst description$4=\"removes <title>\"\nconst fn$4=()=>({element:{enter:(node,parentNode)=>{node.name===\"title\"&&detachNodeFromParent(node,parentNode)}}})\nvar removeTitle=Object.freeze({__proto__:null,description:description$4,fn:fn$4,name:name$4})\nconst name$3=\"removeViewBox\"\nconst description$3=\"removes viewBox attribute when possible\"\nconst viewBoxElems=new Set([\"pattern\",\"svg\",\"symbol\"])\nconst fn$3=()=>({element:{enter:(node,parentNode)=>{if(viewBoxElems.has(node.name)&&node.attributes.viewBox!=null&&node.attributes.width!=null&&node.attributes.height!=null){if(node.name===\"svg\"&&parentNode.type!==\"root\")return\nconst numbers=node.attributes.viewBox.split(/[ ,]+/g)\nnumbers[0]===\"0\"&&numbers[1]===\"0\"&&node.attributes.width.replace(/px$/,\"\")===numbers[2]&&node.attributes.height.replace(/px$/,\"\")===numbers[3]&&delete node.attributes.viewBox}}}})\nvar removeViewBox=Object.freeze({__proto__:null,description:description$3,fn:fn$3,name:name$3})\nconst name$2=\"removeXlink\"\nconst description$2=\"remove xlink namespace and replaces attributes with the SVG 2 equivalent where applicable\"\nconst XLINK_NAMESPACE=\"http://www.w3.org/1999/xlink\"\nconst SHOW_TO_TARGET={new:\"_blank\",replace:\"_self\"}\nconst LEGACY_ELEMENTS=new Set([\"cursor\",\"filter\",\"font-face-uri\",\"glyphRef\",\"tref\"])\nconst findPrefixedAttrs=(node,prefixes,attr)=>prefixes.map((prefix=>`${prefix}:${attr}`)).filter((attr=>node.attributes[attr]!=null))\nconst fn$2=(_,params)=>{const{includeLegacy:includeLegacy}=params\nconst xlinkPrefixes=[]\nconst overriddenPrefixes=[]\nconst usedInLegacyElement=[]\nreturn{element:{enter:node=>{for(const[key,value]of Object.entries(node.attributes))if(key.startsWith(\"xmlns:\")){const prefix=key.split(\":\",2)[1]\nif(value===XLINK_NAMESPACE){xlinkPrefixes.push(prefix)\ncontinue}xlinkPrefixes.includes(prefix)&&overriddenPrefixes.push(prefix)}if(overriddenPrefixes.some((prefix=>xlinkPrefixes.includes(prefix))))return\nconst showAttrs=findPrefixedAttrs(node,xlinkPrefixes,\"show\")\nlet showHandled=node.attributes.target!=null\nfor(let i=showAttrs.length-1;i>=0;i--){const attr=showAttrs[i]\nconst value=node.attributes[attr]\nconst mapping=SHOW_TO_TARGET[value]\nif(showHandled||mapping==null){delete node.attributes[attr]\ncontinue}mapping!==elems[node.name]?.defaults?.target&&(node.attributes.target=mapping)\ndelete node.attributes[attr]\nshowHandled=true}const titleAttrs=findPrefixedAttrs(node,xlinkPrefixes,\"title\")\nfor(let i=titleAttrs.length-1;i>=0;i--){const attr=titleAttrs[i]\nconst value=node.attributes[attr]\nconst hasTitle=node.children.filter((child=>child.type===\"element\"&&child.name===\"title\"))\nif(hasTitle.length>0){delete node.attributes[attr]\ncontinue}const titleTag={type:\"element\",name:\"title\",attributes:{},children:[{type:\"text\",value:value}]}\nObject.defineProperty(titleTag,\"parentNode\",{writable:true,value:node})\nnode.children.unshift(titleTag)\ndelete node.attributes[attr]}const hrefAttrs=findPrefixedAttrs(node,xlinkPrefixes,\"href\")\nif(hrefAttrs.length>0&&LEGACY_ELEMENTS.has(node.name)&&!includeLegacy){hrefAttrs.map((attr=>attr.split(\":\",1)[0])).forEach((prefix=>usedInLegacyElement.push(prefix)))\nreturn}for(let i=hrefAttrs.length-1;i>=0;i--){const attr=hrefAttrs[i]\nconst value=node.attributes[attr]\nif(node.attributes.href!=null){delete node.attributes[attr]\ncontinue}node.attributes.href=value\ndelete node.attributes[attr]}},exit:node=>{for(const[key,value]of Object.entries(node.attributes)){const[prefix,attr]=key.split(\":\",2)\nif(xlinkPrefixes.includes(prefix)&&!overriddenPrefixes.includes(prefix)&&!usedInLegacyElement.includes(prefix)&&!includeLegacy){delete node.attributes[key]\ncontinue}if(key.startsWith(\"xmlns:\")&&!usedInLegacyElement.includes(attr)){if(value===XLINK_NAMESPACE){const index=xlinkPrefixes.indexOf(attr)\nxlinkPrefixes.splice(index,1)\ndelete node.attributes[key]\ncontinue}if(overriddenPrefixes.includes(prefix)){const index=overriddenPrefixes.indexOf(attr)\noverriddenPrefixes.splice(index,1)}}}}}}}\nvar removeXlink=Object.freeze({__proto__:null,description:description$2,fn:fn$2,name:name$2})\nconst name$1=\"removeXMLNS\"\nconst description$1=\"removes xmlns attribute (for inline svg)\"\nconst fn$1=()=>({element:{enter:node=>{node.name===\"svg\"&&delete node.attributes.xmlns}}})\nvar removeXMLNS=Object.freeze({__proto__:null,description:description$1,fn:fn$1,name:name$1})\nconst name=\"reusePaths\"\nconst description=\"Finds <path> elements with the same d, fill, and stroke, and converts them to <use> elements referencing a single <path> def.\"\nconst fn=root=>{const stylesheet=collectStylesheet(root)\nconst paths=new Map\nlet svgDefs\nconst hrefs=new Set\nreturn{element:{enter:(node,parentNode)=>{if(node.name===\"path\"&&node.attributes.d!=null){const d=node.attributes.d\nconst fill=node.attributes.fill||\"\"\nconst stroke=node.attributes.stroke||\"\"\nconst key=d+\";s:\"+stroke+\";f:\"+fill\nlet list=paths.get(key)\nif(list==null){list=[]\npaths.set(key,list)}list.push(node)}svgDefs==null&&node.name===\"defs\"&&parentNode.type===\"element\"&&parentNode.name===\"svg\"&&(svgDefs=node)\nif(node.name===\"use\")for(const name of[\"href\",\"xlink:href\"]){const href=node.attributes[name]\nhref!=null&&href.startsWith(\"#\")&&href.length>1&&hrefs.add(href.slice(1))}},exit:(node,parentNode)=>{if(node.name===\"svg\"&&parentNode.type===\"root\"){let defsTag=svgDefs\ndefsTag==null&&(defsTag={type:\"element\",name:\"defs\",attributes:{},children:[]})\nlet index=0\nfor(const list of paths.values())if(list.length>1){const reusablePath={type:\"element\",name:\"path\",attributes:{},children:[]}\nfor(const attr of[\"fill\",\"stroke\",\"d\"])list[0].attributes[attr]!=null&&(reusablePath.attributes[attr]=list[0].attributes[attr])\nconst originalId=list[0].attributes.id\nif(originalId==null||hrefs.has(originalId)||stylesheet.rules.some((rule=>rule.selector===`#${originalId}`)))reusablePath.attributes.id=\"reuse-\"+index++\nelse{reusablePath.attributes.id=originalId\ndelete list[0].attributes.id}defsTag.children.push(reusablePath)\nfor(const pathNode of list){delete pathNode.attributes.d\ndelete pathNode.attributes.stroke\ndelete pathNode.attributes.fill\nif(defsTag.children.includes(pathNode)&&pathNode.children.length===0){if(Object.keys(pathNode.attributes).length===0){detachNodeFromParent(pathNode,defsTag)\ncontinue}if(Object.keys(pathNode.attributes).length===1&&pathNode.attributes.id!=null){detachNodeFromParent(pathNode,defsTag)\nconst selector=`[xlink\\\\:href=#${pathNode.attributes.id}], [href=#${pathNode.attributes.id}]`\nfor(const child of querySelectorAll(node,selector)){if(child.type!==\"element\")continue\nfor(const name of[\"href\",\"xlink:href\"])child.attributes[name]!=null&&(child.attributes[name]=\"#\"+reusablePath.attributes.id)}continue}}pathNode.name=\"use\"\npathNode.attributes[\"xlink:href\"]=\"#\"+reusablePath.attributes.id}}if(defsTag.children.length!==0){node.attributes[\"xmlns:xlink\"]==null&&(node.attributes[\"xmlns:xlink\"]=\"http://www.w3.org/1999/xlink\")\nsvgDefs==null&&node.children.unshift(defsTag)}}}}}}\nvar reusePaths=Object.freeze({__proto__:null,description:description,fn:fn,name:name})\nconst builtinPlugins=Object.freeze([presetDefault,addAttributesToSVGElement,addClassesToSVGElement,cleanupAttrs,cleanupEnableBackground,cleanupIds,cleanupListOfValues,cleanupNumericValues,collapseGroups,convertColors,convertEllipseToCircle,convertOneStopGradients,convertPathData,convertShapeToPath,convertStyleToAttrs,convertTransform$1,inlineStyles,mergePaths,mergeStyles,minifyStyles,moveElemsAttrsToGroup,moveGroupAttrsToElems,prefixIds,removeAttributesBySelector,removeAttrs,removeComments,removeDeprecatedAttrs,removeDesc,removeDimensions,removeDoctype,removeEditorsNSData,removeElementsByAttr,removeEmptyAttrs,removeEmptyContainers,removeEmptyText,removeHiddenElems,removeMetadata,removeNonInheritableGroupAttrs,removeOffCanvasPaths,removeRasterImages,removeScripts,removeStyleElement,removeTitle,removeUnknownsAndDefaults,removeUnusedNS,removeUselessDefs,removeUselessStrokeAndFill,removeViewBox,removeXlink,removeXMLNS,removeXMLProcInst,reusePaths,sortAttrs,sortDefsChildren])\nvar sax={};(function(exports){(function(sax){sax.parser=function(strict,opt){return new SAXParser(strict,opt)}\nsax.SAXParser=SAXParser\nsax.MAX_BUFFER_LENGTH=65536\nvar buffers=[\"comment\",\"sgmlDecl\",\"textNode\",\"tagName\",\"doctype\",\"procInstName\",\"procInstBody\",\"entity\",\"attribName\",\"attribValue\",\"cdata\",\"script\"]\nsax.EVENTS=[\"text\",\"processinginstruction\",\"sgmldeclaration\",\"doctype\",\"comment\",\"opentagstart\",\"attribute\",\"opentag\",\"closetag\",\"opencdata\",\"cdata\",\"closecdata\",\"error\",\"end\",\"ready\",\"script\",\"opennamespace\",\"closenamespace\"]\nfunction SAXParser(strict,opt){if(!(this instanceof SAXParser))return new SAXParser(strict,opt)\nvar parser=this\nclearBuffers(parser)\nparser.q=parser.c=\"\"\nparser.bufferCheckPosition=sax.MAX_BUFFER_LENGTH\nparser.opt=opt||{}\nparser.opt.lowercase=parser.opt.lowercase||parser.opt.lowercasetags\nparser.looseCase=parser.opt.lowercase?\"toLowerCase\":\"toUpperCase\"\nparser.opt.maxEntityCount=parser.opt.maxEntityCount||512\nparser.opt.maxEntityDepth=parser.opt.maxEntityDepth||4\nparser.entityCount=parser.entityDepth=0\nparser.tags=[]\nparser.closed=parser.closedRoot=parser.sawRoot=false\nparser.tag=parser.error=null\nparser.strict=!!strict\nparser.noscript=!!(strict||parser.opt.noscript)\nparser.state=S.BEGIN\nparser.strictEntities=parser.opt.strictEntities\nparser.ENTITIES=parser.strictEntities?Object.create(sax.XML_ENTITIES):Object.create(sax.ENTITIES)\nparser.attribList=[]\nparser.opt.xmlns&&(parser.ns=Object.create(rootNS))\nparser.opt.unquotedAttributeValues===void 0&&(parser.opt.unquotedAttributeValues=!strict)\nparser.trackPosition=parser.opt.position!==false\nparser.trackPosition&&(parser.position=parser.line=parser.column=0)\nemit(parser,\"onready\")}Object.create||(Object.create=function(o){function F(){}F.prototype=o\nvar newf=new F\nreturn newf})\nObject.keys||(Object.keys=function(o){var a=[]\nfor(var i in o)o.hasOwnProperty(i)&&a.push(i)\nreturn a})\nfunction checkBufferLength(parser){var maxAllowed=Math.max(sax.MAX_BUFFER_LENGTH,10)\nvar maxActual=0\nfor(var i=0,l=buffers.length;i<l;i++){var len=parser[buffers[i]].length\nif(len>maxAllowed)switch(buffers[i]){case\"textNode\":closeText(parser)\nbreak\ncase\"cdata\":emitNode(parser,\"oncdata\",parser.cdata)\nparser.cdata=\"\"\nbreak\ncase\"script\":emitNode(parser,\"onscript\",parser.script)\nparser.script=\"\"\nbreak\ndefault:error(parser,\"Max buffer length exceeded: \"+buffers[i])}maxActual=Math.max(maxActual,len)}var m=sax.MAX_BUFFER_LENGTH-maxActual\nparser.bufferCheckPosition=m+parser.position}function clearBuffers(parser){for(var i=0,l=buffers.length;i<l;i++)parser[buffers[i]]=\"\"}function flushBuffers(parser){closeText(parser)\nif(parser.cdata!==\"\"){emitNode(parser,\"oncdata\",parser.cdata)\nparser.cdata=\"\"}if(parser.script!==\"\"){emitNode(parser,\"onscript\",parser.script)\nparser.script=\"\"}}SAXParser.prototype={end:function(){end(this)},write:write,resume:function(){this.error=null\nreturn this},close:function(){return this.write(null)},flush:function(){flushBuffers(this)}}\nvar CDATA=\"[CDATA[\"\nvar DOCTYPE=\"DOCTYPE\"\nvar XML_NAMESPACE=\"http://www.w3.org/XML/1998/namespace\"\nvar XMLNS_NAMESPACE=\"http://www.w3.org/2000/xmlns/\"\nvar rootNS={xml:XML_NAMESPACE,xmlns:XMLNS_NAMESPACE}\nvar nameStart=/[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\nvar nameBody=/[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\nvar entityStart=/[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\nvar entityBody=/[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\nfunction isWhitespace(c){return c===\" \"||c===\"\\n\"||c===\"\\r\"||c===\"\\t\"}function isQuote(c){return c==='\"'||c===\"'\"}function isAttribEnd(c){return c===\">\"||isWhitespace(c)}function isMatch(regex,c){return regex.test(c)}function notMatch(regex,c){return!isMatch(regex,c)}var S=0\nsax.STATE={BEGIN:S++,BEGIN_WHITESPACE:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++}\nsax.XML_ENTITIES={amp:\"&\",gt:\">\",lt:\"<\",quot:'\"',apos:\"'\"}\nsax.ENTITIES={amp:\"&\",gt:\">\",lt:\"<\",quot:'\"',apos:\"'\",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830}\nObject.keys(sax.ENTITIES).forEach((function(key){var e=sax.ENTITIES[key]\nvar s=typeof e===\"number\"?String.fromCharCode(e):e\nsax.ENTITIES[key]=s}))\nfor(var s in sax.STATE)sax.STATE[sax.STATE[s]]=s\nS=sax.STATE\nfunction emit(parser,event,data){parser[event]&&parser[event](data)}function emitNode(parser,nodeType,data){parser.textNode&&closeText(parser)\nemit(parser,nodeType,data)}function closeText(parser){parser.textNode=textopts(parser.opt,parser.textNode)\nparser.textNode&&emit(parser,\"ontext\",parser.textNode)\nparser.textNode=\"\"}function textopts(opt,text){opt.trim&&(text=text.trim())\nopt.normalize&&(text=text.replace(/\\s+/g,\" \"))\nreturn text}function error(parser,er){closeText(parser)\nparser.trackPosition&&(er+=\"\\nLine: \"+parser.line+\"\\nColumn: \"+parser.column+\"\\nChar: \"+parser.c)\ner=new Error(er)\nparser.error=er\nemit(parser,\"onerror\",er)\nreturn parser}function end(parser){parser.sawRoot&&!parser.closedRoot&&strictFail(parser,\"Unclosed root tag\")\nparser.state!==S.BEGIN&&parser.state!==S.BEGIN_WHITESPACE&&parser.state!==S.TEXT&&error(parser,\"Unexpected end\")\ncloseText(parser)\nparser.c=\"\"\nparser.closed=true\nemit(parser,\"onend\")\nSAXParser.call(parser,parser.strict,parser.opt)\nreturn parser}function strictFail(parser,message){if(typeof parser!==\"object\"||!(parser instanceof SAXParser))throw new Error(\"bad call to strictFail\")\nparser.strict&&error(parser,message)}function newTag(parser){parser.strict||(parser.tagName=parser.tagName[parser.looseCase]())\nvar parent=parser.tags[parser.tags.length-1]||parser\nvar tag=parser.tag={name:parser.tagName,attributes:{}}\nparser.opt.xmlns&&(tag.ns=parent.ns)\nparser.attribList.length=0\nemitNode(parser,\"onopentagstart\",tag)}function qname(name,attribute){var i=name.indexOf(\":\")\nvar qualName=i<0?[\"\",name]:name.split(\":\")\nvar prefix=qualName[0]\nvar local=qualName[1]\nif(attribute&&name===\"xmlns\"){prefix=\"xmlns\"\nlocal=\"\"}return{prefix:prefix,local:local}}function attrib(parser){parser.strict||(parser.attribName=parser.attribName[parser.looseCase]())\nif(parser.attribList.indexOf(parser.attribName)!==-1||parser.tag.attributes.hasOwnProperty(parser.attribName)){parser.attribName=parser.attribValue=\"\"\nreturn}if(parser.opt.xmlns){var qn=qname(parser.attribName,true)\nvar prefix=qn.prefix\nvar local=qn.local\nif(prefix===\"xmlns\")if(local===\"xml\"&&parser.attribValue!==XML_NAMESPACE)strictFail(parser,\"xml: prefix must be bound to \"+XML_NAMESPACE+\"\\nActual: \"+parser.attribValue)\nelse if(local===\"xmlns\"&&parser.attribValue!==XMLNS_NAMESPACE)strictFail(parser,\"xmlns: prefix must be bound to \"+XMLNS_NAMESPACE+\"\\nActual: \"+parser.attribValue)\nelse{var tag=parser.tag\nvar parent=parser.tags[parser.tags.length-1]||parser\ntag.ns===parent.ns&&(tag.ns=Object.create(parent.ns))\ntag.ns[local]=parser.attribValue}parser.attribList.push([parser.attribName,parser.attribValue])}else{parser.tag.attributes[parser.attribName]=parser.attribValue\nemitNode(parser,\"onattribute\",{name:parser.attribName,value:parser.attribValue})}parser.attribName=parser.attribValue=\"\"}function openTag(parser,selfClosing){if(parser.opt.xmlns){var tag=parser.tag\nvar qn=qname(parser.tagName)\ntag.prefix=qn.prefix\ntag.local=qn.local\ntag.uri=tag.ns[qn.prefix]||\"\"\nif(tag.prefix&&!tag.uri){strictFail(parser,\"Unbound namespace prefix: \"+JSON.stringify(parser.tagName))\ntag.uri=qn.prefix}var parent=parser.tags[parser.tags.length-1]||parser\ntag.ns&&parent.ns!==tag.ns&&Object.keys(tag.ns).forEach((function(p){emitNode(parser,\"onopennamespace\",{prefix:p,uri:tag.ns[p]})}))\nfor(var i=0,l=parser.attribList.length;i<l;i++){var nv=parser.attribList[i]\nvar name=nv[0]\nvar value=nv[1]\nvar qualName=qname(name,true)\nvar prefix=qualName.prefix\nvar local=qualName.local\nvar uri=prefix===\"\"?\"\":tag.ns[prefix]||\"\"\nvar a={name:name,value:value,prefix:prefix,local:local,uri:uri}\nif(prefix&&prefix!==\"xmlns\"&&!uri){strictFail(parser,\"Unbound namespace prefix: \"+JSON.stringify(prefix))\na.uri=prefix}parser.tag.attributes[name]=a\nemitNode(parser,\"onattribute\",a)}parser.attribList.length=0}parser.tag.isSelfClosing=!!selfClosing\nparser.sawRoot=true\nparser.tags.push(parser.tag)\nemitNode(parser,\"onopentag\",parser.tag)\nif(!selfClosing){parser.noscript||parser.tagName.toLowerCase()!==\"script\"?parser.state=S.TEXT:parser.state=S.SCRIPT\nparser.tag=null\nparser.tagName=\"\"}parser.attribName=parser.attribValue=\"\"\nparser.attribList.length=0}function closeTag(parser){if(!parser.tagName){strictFail(parser,\"Weird empty close tag.\")\nparser.textNode+=\"</>\"\nparser.state=S.TEXT\nreturn}if(parser.script){if(parser.tagName!==\"script\"){parser.script+=\"</\"+parser.tagName+\">\"\nparser.tagName=\"\"\nparser.state=S.SCRIPT\nreturn}emitNode(parser,\"onscript\",parser.script)\nparser.script=\"\"}var t=parser.tags.length\nvar tagName=parser.tagName\nparser.strict||(tagName=tagName[parser.looseCase]())\nvar closeTo=tagName\nwhile(t--){var close=parser.tags[t]\nif(close.name===closeTo)break\nstrictFail(parser,\"Unexpected close tag\")}if(t<0){strictFail(parser,\"Unmatched closing tag: \"+parser.tagName)\nparser.textNode+=\"</\"+parser.tagName+\">\"\nparser.state=S.TEXT\nreturn}parser.tagName=tagName\nvar s=parser.tags.length\nwhile(s-- >t){var tag=parser.tag=parser.tags.pop()\nparser.tagName=parser.tag.name\nemitNode(parser,\"onclosetag\",parser.tagName)\nvar x={}\nfor(var i in tag.ns)x[i]=tag.ns[i]\nvar parent=parser.tags[parser.tags.length-1]||parser\nparser.opt.xmlns&&tag.ns!==parent.ns&&Object.keys(tag.ns).forEach((function(p){var n=tag.ns[p]\nemitNode(parser,\"onclosenamespace\",{prefix:p,uri:n})}))}t===0&&(parser.closedRoot=true)\nparser.tagName=parser.attribValue=parser.attribName=\"\"\nparser.attribList.length=0\nparser.state=S.TEXT}function parseEntity(parser){var entity=parser.entity\nvar entityLC=entity.toLowerCase()\nvar num\nvar numStr=\"\"\nif(parser.ENTITIES[entity])return parser.ENTITIES[entity]\nif(parser.ENTITIES[entityLC])return parser.ENTITIES[entityLC]\nentity=entityLC\nif(entity.charAt(0)===\"#\")if(entity.charAt(1)===\"x\"){entity=entity.slice(2)\nnum=parseInt(entity,16)\nnumStr=num.toString(16)}else{entity=entity.slice(1)\nnum=parseInt(entity,10)\nnumStr=num.toString(10)}entity=entity.replace(/^0+/,\"\")\nif(isNaN(num)||numStr.toLowerCase()!==entity||num<0||num>0x10ffff){strictFail(parser,\"Invalid character entity\")\nreturn\"&\"+parser.entity+\";\"}return String.fromCodePoint(num)}function beginWhiteSpace(parser,c){if(c===\"<\"){parser.state=S.OPEN_WAKA\nparser.startTagPosition=parser.position}else if(!isWhitespace(c)){strictFail(parser,\"Non-whitespace before first tag.\")\nparser.textNode=c\nparser.state=S.TEXT}}function charAt(chunk,i){var result=\"\"\ni<chunk.length&&(result=chunk.charAt(i))\nreturn result}function write(chunk){var parser=this\nif(this.error)throw this.error\nif(parser.closed)return error(parser,\"Cannot write after close. Assign an onready handler.\")\nif(chunk===null)return end(parser)\ntypeof chunk===\"object\"&&(chunk=chunk.toString())\nvar i=0\nvar c=\"\"\nwhile(true){c=charAt(chunk,i++)\nparser.c=c\nif(!c)break\nif(parser.trackPosition){parser.position++\nif(c===\"\\n\"){parser.line++\nparser.column=0}else parser.column++}switch(parser.state){case S.BEGIN:parser.state=S.BEGIN_WHITESPACE\nif(c===\"\\ufeff\")continue\nbeginWhiteSpace(parser,c)\ncontinue\ncase S.BEGIN_WHITESPACE:beginWhiteSpace(parser,c)\ncontinue\ncase S.TEXT:if(parser.sawRoot&&!parser.closedRoot){var starti=i-1\nwhile(c&&c!==\"<\"&&c!==\"&\"){c=charAt(chunk,i++)\nif(c&&parser.trackPosition){parser.position++\nif(c===\"\\n\"){parser.line++\nparser.column=0}else parser.column++}}parser.textNode+=chunk.substring(starti,i-1)}if(c!==\"<\"||parser.sawRoot&&parser.closedRoot&&!parser.strict){isWhitespace(c)||parser.sawRoot&&!parser.closedRoot||strictFail(parser,\"Text data outside of root node.\")\nc===\"&\"?parser.state=S.TEXT_ENTITY:parser.textNode+=c}else{parser.state=S.OPEN_WAKA\nparser.startTagPosition=parser.position}continue\ncase S.SCRIPT:c===\"<\"?parser.state=S.SCRIPT_ENDING:parser.script+=c\ncontinue\ncase S.SCRIPT_ENDING:if(c===\"/\")parser.state=S.CLOSE_TAG\nelse{parser.script+=\"<\"+c\nparser.state=S.SCRIPT}continue\ncase S.OPEN_WAKA:if(c===\"!\"){parser.state=S.SGML_DECL\nparser.sgmlDecl=\"\"}else if(isWhitespace(c));else if(isMatch(nameStart,c)){parser.state=S.OPEN_TAG\nparser.tagName=c}else if(c===\"/\"){parser.state=S.CLOSE_TAG\nparser.tagName=\"\"}else if(c===\"?\"){parser.state=S.PROC_INST\nparser.procInstName=parser.procInstBody=\"\"}else{strictFail(parser,\"Unencoded <\")\nif(parser.startTagPosition+1<parser.position){var pad=parser.position-parser.startTagPosition\nc=new Array(pad).join(\" \")+c}parser.textNode+=\"<\"+c\nparser.state=S.TEXT}continue\ncase S.SGML_DECL:if(parser.sgmlDecl+c===\"--\"){parser.state=S.COMMENT\nparser.comment=\"\"\nparser.sgmlDecl=\"\"\ncontinue}if(parser.doctype&&parser.doctype!==true&&parser.sgmlDecl){parser.state=S.DOCTYPE_DTD\nparser.doctype+=\"<!\"+parser.sgmlDecl+c\nparser.sgmlDecl=\"\"}else if((parser.sgmlDecl+c).toUpperCase()===CDATA){emitNode(parser,\"onopencdata\")\nparser.state=S.CDATA\nparser.sgmlDecl=\"\"\nparser.cdata=\"\"}else if((parser.sgmlDecl+c).toUpperCase()===DOCTYPE){parser.state=S.DOCTYPE;(parser.doctype||parser.sawRoot)&&strictFail(parser,\"Inappropriately located doctype declaration\")\nparser.doctype=\"\"\nparser.sgmlDecl=\"\"}else if(c===\">\"){emitNode(parser,\"onsgmldeclaration\",parser.sgmlDecl)\nparser.sgmlDecl=\"\"\nparser.state=S.TEXT}else if(isQuote(c)){parser.state=S.SGML_DECL_QUOTED\nparser.sgmlDecl+=c}else parser.sgmlDecl+=c\ncontinue\ncase S.SGML_DECL_QUOTED:if(c===parser.q){parser.state=S.SGML_DECL\nparser.q=\"\"}parser.sgmlDecl+=c\ncontinue\ncase S.DOCTYPE:if(c===\">\"){parser.state=S.TEXT\nemitNode(parser,\"ondoctype\",parser.doctype)\nparser.doctype=true}else{parser.doctype+=c\nif(c===\"[\")parser.state=S.DOCTYPE_DTD\nelse if(isQuote(c)){parser.state=S.DOCTYPE_QUOTED\nparser.q=c}}continue\ncase S.DOCTYPE_QUOTED:parser.doctype+=c\nif(c===parser.q){parser.q=\"\"\nparser.state=S.DOCTYPE}continue\ncase S.DOCTYPE_DTD:if(c===\"]\"){parser.doctype+=c\nparser.state=S.DOCTYPE}else if(c===\"<\"){parser.state=S.OPEN_WAKA\nparser.startTagPosition=parser.position}else if(isQuote(c)){parser.doctype+=c\nparser.state=S.DOCTYPE_DTD_QUOTED\nparser.q=c}else parser.doctype+=c\ncontinue\ncase S.DOCTYPE_DTD_QUOTED:parser.doctype+=c\nif(c===parser.q){parser.state=S.DOCTYPE_DTD\nparser.q=\"\"}continue\ncase S.COMMENT:c===\"-\"?parser.state=S.COMMENT_ENDING:parser.comment+=c\ncontinue\ncase S.COMMENT_ENDING:if(c===\"-\"){parser.state=S.COMMENT_ENDED\nparser.comment=textopts(parser.opt,parser.comment)\nparser.comment&&emitNode(parser,\"oncomment\",parser.comment)\nparser.comment=\"\"}else{parser.comment+=\"-\"+c\nparser.state=S.COMMENT}continue\ncase S.COMMENT_ENDED:if(c!==\">\"){strictFail(parser,\"Malformed comment\")\nparser.comment+=\"--\"+c\nparser.state=S.COMMENT}else parser.doctype&&parser.doctype!==true?parser.state=S.DOCTYPE_DTD:parser.state=S.TEXT\ncontinue\ncase S.CDATA:var starti=i-1\nwhile(c&&c!==\"]\"){c=charAt(chunk,i++)\nif(c&&parser.trackPosition){parser.position++\nif(c===\"\\n\"){parser.line++\nparser.column=0}else parser.column++}}parser.cdata+=chunk.substring(starti,i-1)\nc===\"]\"&&(parser.state=S.CDATA_ENDING)\ncontinue\ncase S.CDATA_ENDING:if(c===\"]\")parser.state=S.CDATA_ENDING_2\nelse{parser.cdata+=\"]\"+c\nparser.state=S.CDATA}continue\ncase S.CDATA_ENDING_2:if(c===\">\"){parser.cdata&&emitNode(parser,\"oncdata\",parser.cdata)\nemitNode(parser,\"onclosecdata\")\nparser.cdata=\"\"\nparser.state=S.TEXT}else if(c===\"]\")parser.cdata+=\"]\"\nelse{parser.cdata+=\"]]\"+c\nparser.state=S.CDATA}continue\ncase S.PROC_INST:c===\"?\"?parser.state=S.PROC_INST_ENDING:isWhitespace(c)?parser.state=S.PROC_INST_BODY:parser.procInstName+=c\ncontinue\ncase S.PROC_INST_BODY:if(!parser.procInstBody&&isWhitespace(c))continue\nc===\"?\"?parser.state=S.PROC_INST_ENDING:parser.procInstBody+=c\ncontinue\ncase S.PROC_INST_ENDING:if(c===\">\"){emitNode(parser,\"onprocessinginstruction\",{name:parser.procInstName,body:parser.procInstBody})\nparser.procInstName=parser.procInstBody=\"\"\nparser.state=S.TEXT}else{parser.procInstBody+=\"?\"+c\nparser.state=S.PROC_INST_BODY}continue\ncase S.OPEN_TAG:if(isMatch(nameBody,c))parser.tagName+=c\nelse{newTag(parser)\nif(c===\">\")openTag(parser)\nelse if(c===\"/\")parser.state=S.OPEN_TAG_SLASH\nelse{isWhitespace(c)||strictFail(parser,\"Invalid character in tag name\")\nparser.state=S.ATTRIB}}continue\ncase S.OPEN_TAG_SLASH:if(c===\">\"){openTag(parser,true)\ncloseTag(parser)}else{strictFail(parser,\"Forward-slash in opening tag not followed by >\")\nparser.state=S.ATTRIB}continue\ncase S.ATTRIB:if(isWhitespace(c))continue\nif(c===\">\")openTag(parser)\nelse if(c===\"/\")parser.state=S.OPEN_TAG_SLASH\nelse if(isMatch(nameStart,c)){parser.attribName=c\nparser.attribValue=\"\"\nparser.state=S.ATTRIB_NAME}else strictFail(parser,\"Invalid attribute name\")\ncontinue\ncase S.ATTRIB_NAME:if(c===\"=\")parser.state=S.ATTRIB_VALUE\nelse if(c===\">\"){strictFail(parser,\"Attribute without value\")\nparser.attribValue=parser.attribName\nattrib(parser)\nopenTag(parser)}else isWhitespace(c)?parser.state=S.ATTRIB_NAME_SAW_WHITE:isMatch(nameBody,c)?parser.attribName+=c:strictFail(parser,\"Invalid attribute name\")\ncontinue\ncase S.ATTRIB_NAME_SAW_WHITE:if(c===\"=\")parser.state=S.ATTRIB_VALUE\nelse{if(isWhitespace(c))continue\nstrictFail(parser,\"Attribute without value\")\nparser.tag.attributes[parser.attribName]=\"\"\nparser.attribValue=\"\"\nemitNode(parser,\"onattribute\",{name:parser.attribName,value:\"\"})\nparser.attribName=\"\"\nif(c===\">\")openTag(parser)\nelse if(isMatch(nameStart,c)){parser.attribName=c\nparser.state=S.ATTRIB_NAME}else{strictFail(parser,\"Invalid attribute name\")\nparser.state=S.ATTRIB}}continue\ncase S.ATTRIB_VALUE:if(isWhitespace(c))continue\nif(isQuote(c)){parser.q=c\nparser.state=S.ATTRIB_VALUE_QUOTED}else{parser.opt.unquotedAttributeValues||error(parser,\"Unquoted attribute value\")\nparser.state=S.ATTRIB_VALUE_UNQUOTED\nparser.attribValue=c}continue\ncase S.ATTRIB_VALUE_QUOTED:if(c!==parser.q){c===\"&\"?parser.state=S.ATTRIB_VALUE_ENTITY_Q:parser.attribValue+=c\ncontinue}attrib(parser)\nparser.q=\"\"\nparser.state=S.ATTRIB_VALUE_CLOSED\ncontinue\ncase S.ATTRIB_VALUE_CLOSED:if(isWhitespace(c))parser.state=S.ATTRIB\nelse if(c===\">\")openTag(parser)\nelse if(c===\"/\")parser.state=S.OPEN_TAG_SLASH\nelse if(isMatch(nameStart,c)){strictFail(parser,\"No whitespace between attributes\")\nparser.attribName=c\nparser.attribValue=\"\"\nparser.state=S.ATTRIB_NAME}else strictFail(parser,\"Invalid attribute name\")\ncontinue\ncase S.ATTRIB_VALUE_UNQUOTED:if(!isAttribEnd(c)){c===\"&\"?parser.state=S.ATTRIB_VALUE_ENTITY_U:parser.attribValue+=c\ncontinue}attrib(parser)\nc===\">\"?openTag(parser):parser.state=S.ATTRIB\ncontinue\ncase S.CLOSE_TAG:if(parser.tagName)if(c===\">\")closeTag(parser)\nelse if(isMatch(nameBody,c))parser.tagName+=c\nelse if(parser.script){parser.script+=\"</\"+parser.tagName+c\nparser.tagName=\"\"\nparser.state=S.SCRIPT}else{isWhitespace(c)||strictFail(parser,\"Invalid tagname in closing tag\")\nparser.state=S.CLOSE_TAG_SAW_WHITE}else{if(isWhitespace(c))continue\nif(notMatch(nameStart,c))if(parser.script){parser.script+=\"</\"+c\nparser.state=S.SCRIPT}else strictFail(parser,\"Invalid tagname in closing tag.\")\nelse parser.tagName=c}continue\ncase S.CLOSE_TAG_SAW_WHITE:if(isWhitespace(c))continue\nc===\">\"?closeTag(parser):strictFail(parser,\"Invalid characters in closing tag\")\ncontinue\ncase S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:var returnState\nvar buffer\nswitch(parser.state){case S.TEXT_ENTITY:returnState=S.TEXT\nbuffer=\"textNode\"\nbreak\ncase S.ATTRIB_VALUE_ENTITY_Q:returnState=S.ATTRIB_VALUE_QUOTED\nbuffer=\"attribValue\"\nbreak\ncase S.ATTRIB_VALUE_ENTITY_U:returnState=S.ATTRIB_VALUE_UNQUOTED\nbuffer=\"attribValue\"\nbreak}if(c===\";\"){var parsedEntity=parseEntity(parser)\nif(parser.opt.unparsedEntities&&!Object.values(sax.XML_ENTITIES).includes(parsedEntity)){(parser.entityCount+=1)>parser.opt.maxEntityCount&&error(parser,\"Parsed entity count exceeds max entity count\");(parser.entityDepth+=1)>parser.opt.maxEntityDepth&&error(parser,\"Parsed entity depth exceeds max entity depth\")\nparser.entity=\"\"\nparser.state=returnState\nparser.write(parsedEntity)\nparser.entityDepth-=1}else{parser[buffer]+=parsedEntity\nparser.entity=\"\"\nparser.state=returnState}}else if(isMatch(parser.entity.length?entityBody:entityStart,c))parser.entity+=c\nelse{strictFail(parser,\"Invalid character in entity name\")\nparser[buffer]+=\"&\"+parser.entity+c\nparser.entity=\"\"\nparser.state=returnState}continue\ndefault:throw new Error(parser,\"Unknown state: \"+parser.state)}}parser.position>=parser.bufferCheckPosition&&checkBufferLength(parser)\nreturn parser}String.fromCodePoint||function(){var stringFromCharCode=String.fromCharCode\nvar floor=Math.floor\nvar fromCodePoint=function(){var MAX_SIZE=0x4000\nvar codeUnits=[]\nvar highSurrogate\nvar lowSurrogate\nvar index=-1\nvar length=arguments.length\nif(!length)return\"\"\nvar result=\"\"\nwhile(++index<length){var codePoint=Number(arguments[index])\nif(!isFinite(codePoint)||codePoint<0||codePoint>0x10ffff||floor(codePoint)!==codePoint)throw RangeError(\"Invalid code point: \"+codePoint)\nif(codePoint<=0xffff)codeUnits.push(codePoint)\nelse{codePoint-=0x10000\nhighSurrogate=0xd800+(codePoint>>10)\nlowSurrogate=codePoint%0x400+0xdc00\ncodeUnits.push(highSurrogate,lowSurrogate)}if(index+1===length||codeUnits.length>MAX_SIZE){result+=stringFromCharCode.apply(null,codeUnits)\ncodeUnits.length=0}}return result}\nObject.defineProperty?Object.defineProperty(String,\"fromCodePoint\",{value:fromCodePoint,configurable:true,writable:true}):String.fromCodePoint=fromCodePoint}()})(exports)})(sax)\nvar SAX=getDefaultExportFromCjs(sax)\nclass SvgoParserError extends Error{constructor(message,line,column,source,file){super(message)\nthis.name=\"SvgoParserError\"\nthis.message=`${file||\"<input>\"}:${line}:${column}: ${message}`\nthis.reason=message\nthis.line=line\nthis.column=column\nthis.source=source\nError.captureStackTrace&&Error.captureStackTrace(this,SvgoParserError)}toString(){const lines=this.source.split(/\\r?\\n/)\nconst startLine=Math.max(this.line-3,0)\nconst endLine=Math.min(this.line+2,lines.length)\nconst lineNumberWidth=String(endLine).length\nconst startColumn=Math.max(this.column-54,0)\nconst endColumn=Math.max(this.column+20,80)\nconst code=lines.slice(startLine,endLine).map(((line,index)=>{const lineSlice=line.slice(startColumn,endColumn)\nlet ellipsisPrefix=\"\"\nlet ellipsisSuffix=\"\"\nstartColumn!==0&&(ellipsisPrefix=startColumn>line.length-1?\" \":\"…\")\nendColumn<line.length-1&&(ellipsisSuffix=\"…\")\nconst number=startLine+1+index\nconst gutter=` ${number.toString().padStart(lineNumberWidth)} | `\nif(number===this.line){const gutterSpacing=gutter.replace(/[^|]/g,\" \")\nconst lineSpacing=(ellipsisPrefix+line.slice(startColumn,this.column-1)).replace(/[^\\t]/g,\" \")\nconst spacing=gutterSpacing+lineSpacing\nreturn`>${gutter}${ellipsisPrefix}${lineSlice}${ellipsisSuffix}\\n ${spacing}^`}return` ${gutter}${ellipsisPrefix}${lineSlice}${ellipsisSuffix}`})).join(\"\\n\")\nreturn`${this.name}: ${this.message}\\n\\n${code}\\n`}}const entityDeclaration=/<!ENTITY\\s+(\\S+)\\s+(?:'([^']+)'|\"([^\"]+)\")\\s*>/g\nconst config={strict:true,trim:false,normalize:false,lowercase:true,xmlns:true,position:true,unparsedEntities:true}\nconst parseSvg=(data,from)=>{const sax=SAX.parser(config.strict,config)\nconst root={type:\"root\",children:[]}\nlet current=root\nconst stack=[root]\nconst pushToContent=node=>{current.children.push(node)}\nsax.ondoctype=doctype=>{const node={type:\"doctype\",name:\"svg\",data:{doctype:doctype}}\npushToContent(node)\nconst subsetStart=doctype.indexOf(\"[\")\nif(subsetStart>=0){entityDeclaration.lastIndex=subsetStart\nlet entityMatch=entityDeclaration.exec(data)\nwhile(entityMatch!=null){sax.ENTITIES[entityMatch[1]]=entityMatch[2]||entityMatch[3]\nentityMatch=entityDeclaration.exec(data)}}}\nsax.onprocessinginstruction=data=>{const node={type:\"instruction\",name:data.name,value:data.body}\npushToContent(node)}\nsax.oncomment=comment=>{const node={type:\"comment\",value:comment.trim()}\npushToContent(node)}\nsax.oncdata=cdata=>{const node={type:\"cdata\",value:cdata}\npushToContent(node)}\nsax.onopentag=data=>{const element={type:\"element\",name:data.name,attributes:{},children:[]}\nfor(const[name,attr]of Object.entries(data.attributes))element.attributes[name]=attr.value\npushToContent(element)\ncurrent=element\nstack.push(element)}\nsax.ontext=text=>{if(current.type===\"element\")if(textElems.has(current.name)){const node={type:\"text\",value:text}\npushToContent(node)}else{const value=text.trim()\nif(value!==\"\"){const node={type:\"text\",value:value}\npushToContent(node)}}}\nsax.onclosetag=()=>{stack.pop()\ncurrent=stack[stack.length-1]}\nsax.onerror=e=>{const reason=e.message.split(\"\\n\")[0]\nconst error=new SvgoParserError(reason,sax.line+1,sax.column,data,from)\nif(e.message.indexOf(\"Unexpected end\")===-1)throw error}\nsax.write(data).close()\nreturn root}\nconst encodeEntity=char=>entities[char]\nconst defaults={doctypeStart:\"<!DOCTYPE\",doctypeEnd:\">\",procInstStart:\"<?\",procInstEnd:\"?>\",tagOpenStart:\"<\",tagOpenEnd:\">\",tagCloseStart:\"</\",tagCloseEnd:\">\",tagShortStart:\"<\",tagShortEnd:\"/>\",attrStart:'=\"',attrEnd:'\"',commentStart:\"\\x3c!--\",commentEnd:\"--\\x3e\",cdataStart:\"<![CDATA[\",cdataEnd:\"]]>\",textStart:\"\",textEnd:\"\",indent:4,regEntities:/[&'\"<>]/g,regValEntities:/[&\"<>]/g,encodeEntity:encodeEntity,pretty:false,useShortTags:true,eol:\"lf\",finalNewline:false}\nconst entities={\"&\":\"&amp;\",\"'\":\"&apos;\",'\"':\"&quot;\",\">\":\"&gt;\",\"<\":\"&lt;\"}\nconst stringifySvg=(data,userOptions={})=>{const config={...defaults,...userOptions}\nconst indent=config.indent\nlet newIndent=\" \"\ntypeof indent===\"number\"&&Number.isNaN(indent)===false?newIndent=indent<0?\"\\t\":\" \".repeat(indent):typeof indent===\"string\"&&(newIndent=indent)\nconst state={indent:newIndent,textContext:null,indentLevel:0}\nconst eol=config.eol===\"crlf\"?\"\\r\\n\":\"\\n\"\nif(config.pretty){config.doctypeEnd+=eol\nconfig.procInstEnd+=eol\nconfig.commentEnd+=eol\nconfig.cdataEnd+=eol\nconfig.tagShortEnd+=eol\nconfig.tagOpenEnd+=eol\nconfig.tagCloseEnd+=eol\nconfig.textEnd+=eol}let svg=stringifyNode(data,config,state)\nconfig.finalNewline&&svg.length>0&&!svg.endsWith(\"\\n\")&&(svg+=eol)\nreturn svg}\nconst stringifyNode=(data,config,state)=>{let svg=\"\"\nstate.indentLevel++\nfor(const item of data.children)switch(item.type){case\"element\":svg+=stringifyElement(item,config,state)\nbreak\ncase\"text\":svg+=stringifyText(item,config,state)\nbreak\ncase\"doctype\":svg+=stringifyDoctype(item,config)\nbreak\ncase\"instruction\":svg+=stringifyInstruction(item,config)\nbreak\ncase\"comment\":svg+=stringifyComment(item,config)\nbreak\ncase\"cdata\":svg+=stringifyCdata(item,config,state)}state.indentLevel--\nreturn svg}\nconst createIndent=(config,state)=>{let indent=\"\"\nconfig.pretty&&state.textContext==null&&(indent=state.indent.repeat(state.indentLevel-1))\nreturn indent}\nconst stringifyDoctype=(node,config)=>config.doctypeStart+node.data.doctype+config.doctypeEnd\nconst stringifyInstruction=(node,config)=>config.procInstStart+node.name+\" \"+node.value+config.procInstEnd\nconst stringifyComment=(node,config)=>config.commentStart+node.value+config.commentEnd\nconst stringifyCdata=(node,config,state)=>createIndent(config,state)+config.cdataStart+node.value+config.cdataEnd\nconst stringifyElement=(node,config,state)=>{if(node.children.length===0){if(config.useShortTags)return createIndent(config,state)+config.tagShortStart+node.name+stringifyAttributes(node,config)+config.tagShortEnd\nreturn createIndent(config,state)+config.tagShortStart+node.name+stringifyAttributes(node,config)+config.tagOpenEnd+config.tagCloseStart+node.name+config.tagCloseEnd}let tagOpenStart=config.tagOpenStart\nlet tagOpenEnd=config.tagOpenEnd\nlet tagCloseStart=config.tagCloseStart\nlet tagCloseEnd=config.tagCloseEnd\nlet openIndent=createIndent(config,state)\nlet closeIndent=createIndent(config,state)\nif(state.textContext){tagOpenStart=defaults.tagOpenStart\ntagOpenEnd=defaults.tagOpenEnd\ntagCloseStart=defaults.tagCloseStart\ntagCloseEnd=defaults.tagCloseEnd\nopenIndent=\"\"}else if(textElems.has(node.name)){tagOpenEnd=defaults.tagOpenEnd\ntagCloseStart=defaults.tagCloseStart\ncloseIndent=\"\"\nstate.textContext=node}const children=stringifyNode(node,config,state)\nstate.textContext===node&&(state.textContext=null)\nreturn openIndent+tagOpenStart+node.name+stringifyAttributes(node,config)+tagOpenEnd+children+closeIndent+tagCloseStart+node.name+tagCloseEnd}\nconst stringifyAttributes=(node,config)=>{let attrs=\"\"\nfor(const[name,value]of Object.entries(node.attributes)){attrs+=\" \"+name\nif(value!==void 0){const encodedValue=value.toString().replace(config.regValEntities,config.encodeEntity)\nattrs+=config.attrStart+encodedValue+config.attrEnd}}return attrs}\nconst stringifyText=(node,config,state)=>createIndent(config,state)+config.textStart+node.value.replace(config.regEntities,config.encodeEntity)+(state.textContext?\"\":config.textEnd)\nconst VERSION=\"4.0.2\"\nconst pluginsMap=new Map\nfor(const plugin of builtinPlugins)pluginsMap.set(plugin.name,plugin)\nfunction getPlugin(name){if(name===\"removeScriptElement\"){console.warn(\"Warning: removeScriptElement has been renamed to removeScripts, please update your SVGO config\")\nreturn pluginsMap.get(\"removeScripts\")}return pluginsMap.get(name)}const resolvePluginConfig=plugin=>{if(typeof plugin===\"string\"){const builtinPlugin=getPlugin(plugin)\nif(builtinPlugin==null)throw Error(`Unknown builtin plugin \"${plugin}\" specified.`)\nreturn{name:plugin,params:{},fn:builtinPlugin.fn}}if(typeof plugin===\"object\"&&plugin!=null){if(plugin.name==null)throw Error(\"Plugin name must be specified\")\nlet fn=plugin.fn\nif(fn==null){const builtinPlugin=getPlugin(plugin.name)\nif(builtinPlugin==null)throw Error(`Unknown builtin plugin \"${plugin.name}\" specified.`)\nfn=builtinPlugin.fn}return{name:plugin.name,params:plugin.params,fn:fn}}return null}\nconst optimize=(input,config)=>{config==null&&(config={})\nif(typeof config!==\"object\")throw Error(\"Config should be an object\")\nconst maxPassCount=config.multipass?10:1\nlet prevResultSize=Number.POSITIVE_INFINITY\nlet output=\"\"\nconst info={}\nconfig.path!=null&&(info.path=config.path)\nfor(let i=0;i<maxPassCount;i+=1){info.multipassCount=i\nconst ast=parseSvg(input,config.path)\nconst plugins=config.plugins||[\"preset-default\"]\nif(!Array.isArray(plugins))throw Error(\"malformed config, `plugins` property must be an array.\\nSee more info here: https://github.com/svg/svgo#configuration\")\nconst resolvedPlugins=plugins.filter((plugin=>plugin!=null)).map(resolvePluginConfig)\nresolvedPlugins.length<plugins.length&&console.warn(\"Warning: plugins list includes null or undefined elements, these will be ignored.\")\nconst globalOverrides={}\nconfig.floatPrecision!=null&&(globalOverrides.floatPrecision=config.floatPrecision)\ninvokePlugins(ast,info,resolvedPlugins,null,globalOverrides)\noutput=stringifySvg(ast,config.js2svg)\nif(!(output.length<prevResultSize))break\ninput=output\nprevResultSize=output.length}config.datauri&&(output=encodeSVGDatauri(output,config.datauri))\nreturn{data:output}}\nexport{VERSION,_collections,builtinPlugins,mapNodesToParents,optimize,querySelector,querySelectorAll}\n"],"x_google_ignoreList":[0],"mappings":"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AO;GAAI,OAAM;GAAI,QAAO;GAAI,MAAK;GAAI,QAAO;GAAI,QAAO;GAAI,OAAM;GAAI,QAAO;GAAI,QAAO;GAAI,QAAO;GAAI,MAAK;GAAI,OAAM;GAAI,QAAO;GAAI,OAAM;GAAI,QAAO;GAAI,MAAK;GAAI,QAAO;GAAI,QAAO;GAAI,OAAM;GAAI,OAAM;GAAI,QAAO;GAAI,OAAM;GAAI,QAAO;GAAI,MAAK;GAAI,QAAO;GAAI,QAAO;GAAI,OAAM;GAAI,QAAO;GAAI,KAAI;GAAI,MAAK;GAAI,QAAO;GAAI,OAAM;GAAI,QAAO;GAAI,MAAK;GAAI,QAAO;GAAI,QAAO;GAAI,OAAM;GAAI,QAAO;GAAI,QAAO;GAAI,QAAO;GAAI,MAAK;GAAI,OAAM;GAAI,OAAM;GAAI,QAAO;GAAI,OAAM;GAAI,QAAO;GAAI,MAAK;GAAI,QAAO;GAAI,MAAK;GAAI,MAAK;GAAI,KAAI;GAAI,MAAK;GAAI,OAAM;GAAI,MAAK;GAAI,OAAM;GAAI,QAAO;GAAI,KAAI;GAAI,QAAO;GAAI,MAAK;GAAI,KAAI;GAAI,MAAK;GAAI,OAAM;GAAI,KAAI;GAAI,KAAI;GAAI,MAAK;GAAI,KAAI;GAAI,QAAO;GAAI,MAAK;GAAI,MAAK;GAAI,MAAK;GAAI,OAAM;GAAI,OAAM;GAAI,MAAK;GAAI,QAAO;GAAI,OAAM;GAAI,MAAK;GAAI,OAAM;GAAI,QAAO;GAAI,QAAO;GAAI,QAAO;GAAI,QAAO;GAAI,OAAM;GAAI,QAAO;GAAI,OAAM;GAAI,OAAM;GAAI,QAAO;GAAI,QAAO;GAAI,MAAK;GAAI,MAAK;GAAI,MAAK;GAAI,OAAM;GAAI,OAAM;GAAI,MAAK;GAAI,OAAM;GAAI,OAAM;GAAI,SAAQ;GAAI,MAAK;GAAI,KAAI;GAAI,OAAM;GAAI,MAAK;GAAI,OAAM;GAAI,QAAO;GAAI,IAAG;GAAI,IAAG;GAAI,IAAG;GAAI,SAAQ;GAAI,IAAG;GAAI,KAAI;GAAI,OAAM;GAAI,KAAI;GAAI,SAAQ;GAAI,KAAI;GAAI,KAAI;GAAI,KAAI;GAAI,OAAM;GAAI,OAAM;GAAI,MAAK;GAAI,OAAM;GAAI,OAAM;GAAI,SAAQ;GAAI,MA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"}