ipx 3.1.0 → 4.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -42
- package/dist/_chunks/libs/@fastify/accept-negotiator.mjs +1 -0
- package/dist/_chunks/libs/boolbase.mjs +1 -0
- package/dist/_chunks/libs/css-select.mjs +6 -0
- package/dist/_chunks/libs/css-tree.mjs +126 -0
- package/dist/_chunks/libs/csso.mjs +3 -0
- package/dist/_chunks/libs/etag.mjs +1 -0
- package/dist/_chunks/libs/h3.mjs +2 -0
- package/dist/_chunks/libs/image-meta.mjs +3 -0
- package/dist/_chunks/libs/sax.mjs +10 -0
- package/dist/_chunks/libs/svgo.mjs +78 -0
- package/dist/_chunks/libs/ufo.mjs +1 -0
- package/dist/_chunks/node-fs.mjs +728 -0
- package/dist/_chunks/rolldown-runtime.mjs +46 -0
- package/dist/_chunks/svgo-node.mjs +11 -0
- package/dist/cli.d.mts +1 -2
- package/dist/cli.mjs +76 -58
- package/dist/index.d.mts +226 -320
- package/dist/index.mjs +44 -48
- package/package.json +43 -48
- package/bin/ipx.mjs +0 -2
- package/dist/cli.cjs +0 -63
- package/dist/cli.d.cts +0 -2
- package/dist/cli.d.ts +0 -2
- package/dist/index.cjs +0 -62
- package/dist/index.d.cts +0 -397
- package/dist/index.d.ts +0 -397
- package/dist/shared/ipx.C8X6338M.mjs +0 -764
- package/dist/shared/ipx.CHfn1B1U.cjs +0 -778
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{t as __commonJSMin}from"../rolldown-runtime.mjs";import{t as require_cjs$1}from"./css-tree.mjs";var require_package=__commonJSMin(((r,D)=>{D.exports={name:`csso`,version:`5.0.5`,description:`CSS minifier with structural optimisations`,author:`Sergey Kryzhanovsky <skryzhanovsky@ya.ru> (https://github.com/afelix)`,maintainers:[{name:`Roman Dvornov`,email:`rdvornov@gmail.com`,"github-username":`lahmatiy`}],repository:`css/csso`,license:`MIT`,keywords:[`css`,`compress`,`minifier`,`minify`,`optimise`,`optimisation`,`csstree`],type:`module`,unpkg:`dist/csso.esm.js`,jsdelivr:`dist/csso.esm.js`,browser:{"./cjs/version.cjs":`./dist/version.cjs`,"./lib/version.js":`./dist/version.js`},main:`./cjs/index.cjs`,module:`./lib/index.js`,exports:{".":{import:`./lib/index.js`,require:`./cjs/index.cjs`},"./syntax":{import:`./lib/syntax.js`,require:`./cjs/syntax.cjs`},"./dist/*":`./dist/*.js`,"./package.json":`./package.json`},scripts:{test:"mocha test --reporter ${REPORTER:-progress}","test:cjs":"mocha cjs-test --reporter ${REPORTER:-progress}","test:dist":"mocha dist/test --reporter ${REPORTER:-progress}",lint:`eslint lib scripts test`,"lint-and-test":`npm run lint && npm test`,build:`npm run bundle && npm run esm-to-cjs`,"build-and-test":`npm run build && npm run test:dist && npm run test:cjs`,bundle:`node scripts/bundle`,"bundle-and-test":`npm run bundle && npm run test:dist`,"esm-to-cjs":`node scripts/esm-to-cjs.cjs`,"esm-to-cjs-and-test":`npm run esm-to-cjs && npm run test:cjs`,coverage:`c8 --reporter=lcovonly npm test`,prepublishOnly:`npm run lint-and-test && npm run build-and-test`,hydrogen:`node --trace-hydrogen --trace-phase=Z --trace-deopt --code-comments --hydrogen-track-positions --redirect-code-traces --redirect-code-traces-to=code.asm --trace_hydrogen_file=code.cfg --print-opt-code bin/csso --stat -o /dev/null`},dependencies:{"css-tree":`~2.2.0`},devDependencies:{c8:`^7.10.0`,esbuild:`^0.14.54`,eslint:`^7.24.0`,mocha:`^9.2.2`,rollup:`^2.60.2`,"source-map-js":`^1.0.1`},engines:{node:`^10 || ^12.20.0 || ^14.13.0 || >=15.0.0`,npm:`>=7.0.0`},files:[`dist`,`!dist/test`,`cjs`,`lib`]}})),require_version=__commonJSMin((r=>{let{version:D}=require_package();r.version=D})),require_usage=__commonJSMin((r=>{let{hasOwnProperty:D}=Object.prototype;function O(r,D){let O=Object.create(null);if(!Array.isArray(r))return null;for(let k of r)D&&(k=k.toLowerCase()),O[k]=!0;return O}function k(r){if(!r)return null;let D=O(r.tags,!0),k=O(r.ids),A=O(r.classes);return D===null&&k===null&&A===null?null:{tags:D,ids:k,classes:A}}function A(r){let O=!1;if(r.scopes&&Array.isArray(r.scopes)){O=Object.create(null);for(let k=0;k<r.scopes.length;k++){let A=r.scopes[k];if(!A||!Array.isArray(A))throw Error(`Wrong usage format`);for(let r of A){if(D.call(O,r))throw Error(`Class can't be used for several scopes: ${r}`);O[r]=k+1}}}return{whitelist:k(r),blacklist:k(r.blacklist),scopes:O}}r.buildIndex=A})),require_utils$2=__commonJSMin((r=>{function D(r){return!r||!r.children||r.children.isEmpty}function O(r,D){return r!==null&&r.children===D}r.hasNoChildren=D,r.isNodeChildrenList=O})),require_Atrule$1=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=require_utils$2();function M(r,D,O){if(r.block&&(this.stylesheet!==null&&(this.stylesheet.firstAtrulesAllowed=!1),A.hasNoChildren(r.block))){O.remove(D);return}switch(r.name){case`charset`:if(A.hasNoChildren(r.prelude)){O.remove(D);return}if(D.prev){O.remove(D);return}break;case`import`:if(this.stylesheet===null||!this.stylesheet.firstAtrulesAllowed){O.remove(D);return}O.prevUntil(D.prev,function(r){if(!(r.type===`Atrule`&&(r.name===`import`||r.name===`charset`)))return this.root.firstAtrulesAllowed=!1,O.remove(D),!0},this);break;default:{let j=k.keyword(r.name).basename;(j===`keyframes`||j===`media`||j===`supports`)&&(A.hasNoChildren(r.prelude)||A.hasNoChildren(r.block))&&O.remove(D)}}}O.exports=M})),require_Comment=__commonJSMin(((r,D)=>{function O(r,D,O){O.remove(D)}D.exports=O})),require_Declaration=__commonJSMin(((r,O)=>{let k=require_cjs$1();function A(r,D,O){if(r.value.children&&r.value.children.isEmpty){O.remove(D);return}k.property(r.property).custom&&/\S/.test(r.value.value)&&(r.value.value=r.value.value.trim())}O.exports=A})),require_Raw=__commonJSMin(((r,D)=>{let O=require_utils$2();function k(r,D,k){(O.isNodeChildrenList(this.stylesheet,k)||O.isNodeChildrenList(this.block,k))&&k.remove(D)}D.exports=k})),require_Rule=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=require_utils$2(),{hasOwnProperty:M}=Object.prototype,N=new Set([`keyframes`]);function P(r,D){return r.children.forEach((O,A,j)=>{let N=!1;k.walk(O,function(O){if(this.selector===null||this.selector===r)switch(O.type){case`SelectorList`:(this.function===null||this.function.name.toLowerCase()!==`not`)&&P(O,D)&&(N=!0);break;case`ClassSelector`:D.whitelist!==null&&D.whitelist.classes!==null&&!M.call(D.whitelist.classes,O.name)&&(N=!0),D.blacklist!==null&&D.blacklist.classes!==null&&M.call(D.blacklist.classes,O.name)&&(N=!0);break;case`IdSelector`:D.whitelist!==null&&D.whitelist.ids!==null&&!M.call(D.whitelist.ids,O.name)&&(N=!0),D.blacklist!==null&&D.blacklist.ids!==null&&M.call(D.blacklist.ids,O.name)&&(N=!0);break;case`TypeSelector`:O.name.charAt(O.name.length-1)!==`*`&&(D.whitelist!==null&&D.whitelist.tags!==null&&!M.call(D.whitelist.tags,O.name.toLowerCase())&&(N=!0),D.blacklist!==null&&D.blacklist.tags!==null&&M.call(D.blacklist.tags,O.name.toLowerCase())&&(N=!0));break}}),N&&j.remove(A)}),r.children.isEmpty}function F(r,D,O,j){if(A.hasNoChildren(r.prelude)||A.hasNoChildren(r.block)){O.remove(D);return}if(this.atrule&&N.has(k.keyword(this.atrule.name).basename))return;let{usage:M}=j;if(M&&(M.whitelist!==null||M.blacklist!==null)&&(P(r.prelude,M),A.hasNoChildren(r.prelude))){O.remove(D);return}}O.exports=F})),require_TypeSelector=__commonJSMin(((r,D)=>{function O(r,D,O){if(D.data.name!==`*`)return;let k=D.next&&D.next.data.type;(k===`IdSelector`||k===`ClassSelector`||k===`AttributeSelector`||k===`PseudoClassSelector`||k===`PseudoElementSelector`)&&O.remove(D)}D.exports=O})),require_WhiteSpace=__commonJSMin(((r,D)=>{function O(r,D,O){O.remove(D)}D.exports=O})),require_clean=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A={Atrule:require_Atrule$1(),Comment:require_Comment(),Declaration:require_Declaration(),Raw:require_Raw(),Rule:require_Rule(),TypeSelector:require_TypeSelector(),WhiteSpace:require_WhiteSpace()};function j(r,D){k.walk(r,{leave(r,O,k){A.hasOwnProperty(r.type)&&A[r.type].call(this,r,O,k,D)}})}O.exports=j})),require_keyframes=__commonJSMin(((r,D)=>{function O(r){r.block.children.forEach(r=>{r.prelude.children.forEach(r=>{r.children.forEach((r,D)=>{r.type===`Percentage`&&r.value===`100`?D.data={type:`TypeSelector`,loc:r.loc,name:`to`}:r.type===`TypeSelector`&&r.name===`from`&&(D.data={type:`Percentage`,loc:r.loc,value:`0`})})})})}D.exports=O})),require_Atrule=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=require_keyframes();function j(r){k.keyword(r.name).basename===`keyframes`&&A(r)}O.exports=j})),require_AttributeSelector=__commonJSMin(((r,D)=>{let O=/^(-?\d|--)|[\u0000-\u002c\u002e\u002f\u003A-\u0040\u005B-\u005E\u0060\u007B-\u009f]/;function k(r){return r===``||r===`-`?!1:!O.test(r)}function A(r){let D=r.value;!D||D.type!==`String`||k(D.value)&&(r.value={type:`Identifier`,loc:D.loc,name:D.value})}D.exports=A})),require_font=__commonJSMin(((r,D)=>{function O(r){let D=r.children;D.forEachRight(function(r,D){if(r.type===`Identifier`){if(r.name===`bold`)D.data={type:`Number`,loc:r.loc,value:`700`};else if(r.name===`normal`){let r=D.prev;r&&r.data.type===`Operator`&&r.data.value===`/`&&this.remove(r),this.remove(D)}}}),D.isEmpty&&D.insert(D.createItem({type:`Identifier`,name:`normal`}))}D.exports=O})),require_font_weight=__commonJSMin(((r,D)=>{function O(r){let D=r.children.head.data;if(D.type===`Identifier`)switch(D.name){case`normal`:r.children.head.data={type:`Number`,loc:D.loc,value:`400`};break;case`bold`:r.children.head.data={type:`Number`,loc:D.loc,value:`700`};break}}D.exports=O})),require_background=__commonJSMin(((r,O)=>{let k=require_cjs$1();function A(r){function D(){A.length||A.unshift({type:`Number`,loc:null,value:`0`},{type:`Number`,loc:null,value:`0`}),O.push.apply(O,A),A=[]}let O=[],A=[];r.children.forEach(r=>{if(r.type===`Operator`&&r.value===`,`){D(),O.push(r);return}r.type===`Identifier`&&(r.name===`transparent`||r.name===`none`||r.name===`repeat`||r.name===`scroll`)||A.push(r)}),D(),r.children=new k.List().fromArray(O)}O.exports=A})),require_border=__commonJSMin(((r,D)=>{function O(r){r.children.forEach((r,D,O)=>{r.type===`Identifier`&&r.name.toLowerCase()===`none`&&(O.head===O.tail?D.data={type:`Number`,loc:r.loc,value:`0`}:O.remove(D))})}D.exports=O})),require_Value=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=require_font(),j=require_font_weight(),M=require_background(),N=require_border(),P={font:A,"font-weight":j,background:M,border:N,outline:N};function F(r){if(!this.declaration)return;let D=k.property(this.declaration.property);P.hasOwnProperty(D.basename)&&P[D.basename](r)}O.exports=F})),require_Number=__commonJSMin((r=>{let D=/^(?:\+|(-))?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/,O=/^([\+\-])?0*(\d*)(?:\.0*|(\.\d*?)0*)?$/,k=new Set([`Dimension`,`Hash`,`Identifier`,`Number`,`Raw`,`UnicodeRange`]);function A(r,A){let j=A&&A.prev!==null&&k.has(A.prev.data.type)?O:D;return r=String(r).replace(j,`$1$2$3`),(r===``||r===`-`)&&(r=`0`),r}function j(r){r.value=A(r.value)}r.Number=j,r.packNumber=A})),require_Dimension=__commonJSMin(((r,D)=>{let O=require_Number(),k=new Set([`calc`,`min`,`max`,`clamp`]),A=new Set([`px`,`mm`,`cm`,`in`,`pt`,`pc`,`em`,`ex`,`ch`,`rem`,`vh`,`vw`,`vmin`,`vmax`,`vm`]);function j(r,D){let j=O.packNumber(r.value);if(r.value=j,j===`0`&&this.declaration!==null&&this.atrulePrelude===null){let O=r.unit.toLowerCase();if(!A.has(O)||this.declaration.property===`-ms-flex`||this.declaration.property===`flex`||this.function&&k.has(this.function.name))return;D.data={type:`Number`,loc:r.loc,value:j}}}D.exports=j})),require_Percentage=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=require_Number(),j=new Set([`width`,`min-width`,`max-width`,`height`,`min-height`,`max-height`,`flex`,`-ms-flex`]);function M(r,D){r.value=A.packNumber(r.value),r.value===`0`&&this.declaration&&!j.has(this.declaration.property)&&(D.data={type:`Number`,loc:r.loc,value:r.value},k.lexer.matchDeclaration(this.declaration).isType(D.data,`length`)||(D.data=r))}O.exports=M})),require_Url=__commonJSMin(((r,D)=>{function O(r){r.value=r.value.replace(/\\/g,`/`)}D.exports=O})),require_color=__commonJSMin((r=>{let O=require_cjs$1(),k=require_Number(),A={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`},j={8e5:`maroon`,800080:`purple`,808e3:`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`};function M(r,D,O){return O<0&&(O+=1),O>1&&--O,O<1/6?r+(D-r)*6*O:O<1/2?D:O<2/3?r+(D-r)*(2/3-O)*6:r}function N(r,D,O,k){let A,j,N;if(D===0)A=j=N=O;else{let k=O<.5?O*(1+D):O+D-O*D,P=2*O-k;A=M(P,k,r+1/3),j=M(P,k,r),N=M(P,k,r-1/3)}return[Math.round(A*255),Math.round(j*255),Math.round(N*255),k]}function P(r){return r=r.toString(16),r.length===1?`0`+r:r}function F(r,D,O){let k=r.head,A=[],j=!1;for(;k!==null;){let{type:r,value:D}=k.data;switch(r){case`Number`:case`Percentage`:if(j)return;j=!0,A.push({type:r,value:Number(D)});break;case`Operator`:if(D===`,`){if(!j)return;j=!1}else if(j||D!==`+`)return;break;default:return}k=k.next}if(A.length===D){if(A.length===4){if(A[3].type!==`Number`)return;A[3].type=`Alpha`}if(O){if(A[0].type!==A[1].type||A[0].type!==A[2].type)return}else{if(A[0].type!==`Number`||A[1].type!==`Percentage`||A[2].type!==`Percentage`)return;A[0].type=`Angle`}return A.map(function(r){let D=Math.max(0,r.value);switch(r.type){case`Number`:D=Math.min(D,255);break;case`Percentage`:if(D=Math.min(D,100)/100,!O)return D;D=255*D;break;case`Angle`:return(D%360+360)%360/360;case`Alpha`:return Math.min(D,1)}return Math.round(D)})}}function I(r,D){let O=r.name,A;if(O===`rgba`||O===`hsla`){if(A=F(r.children,4,O===`rgba`),!A)return;if(O===`hsla`&&(A=N(...A),r.name=`rgba`),A[3]===0){let O=this.function&&this.function.name;if(A[0]===0&&A[1]===0&&A[2]===0||!/^(?:to|from|color-stop)$|gradient$/i.test(O)){D.data={type:`Identifier`,loc:r.loc,name:`transparent`};return}}if(A[3]!==1){r.children.forEach((r,D,O)=>{if(r.type===`Operator`){r.value!==`,`&&O.remove(D);return}D.data={type:`Number`,loc:r.loc,value:k.packNumber(A.shift())}});return}O=`rgb`}if(O===`hsl`){if(A||=F(r.children,3,!1),!A)return;A=N(...A),O=`rgb`}if(O===`rgb`){if(A||=F(r.children,3,!0),!A)return;D.data={type:`Hash`,loc:r.loc,value:P(A[0])+P(A[1])+P(A[2])},R(D.data,D)}}function L(r,D){if(this.declaration===null)return;let k=r.name.toLowerCase();if(A.hasOwnProperty(k)&&O.lexer.matchDeclaration(this.declaration).isType(r,`color`)){let O=A[k];O.length+1<=k.length?D.data={type:`Hash`,loc:r.loc,value:O}:(k===`grey`&&(k=`gray`),r.name=k)}}function R(r,D){let O=r.value.toLowerCase();O.length===6&&O[0]===O[1]&&O[2]===O[3]&&O[4]===O[5]&&(O=O[0]+O[2]+O[4]),j[O]?D.data={type:`Identifier`,loc:r.loc,name:j[O]}:r.value=O}r.compressFunction=I,r.compressHex=R,r.compressIdent=L})),require_replace=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=require_Atrule(),j=require_AttributeSelector(),M=require_Value(),N=require_Dimension(),P=require_Percentage(),F=require_Number(),I=require_Url(),L=require_color(),R={Atrule:A,AttributeSelector:j,Value:M,Dimension:N,Percentage:P,Number:F.Number,Url:I,Hash:L.compressHex,Identifier:L.compressIdent,Function:L.compressFunction};function z(r){k.walk(r,{leave(r,D,O){R.hasOwnProperty(r.type)&&R[r.type].call(this,r,D,O)}})}O.exports=z})),require_createDeclarationIndexer=__commonJSMin(((r,O)=>{let k=require_cjs$1();var A=class{constructor(){this.map=new Map}resolve(r){let D=this.map.get(r);return D===void 0&&(D=this.map.size+1,this.map.set(r,D)),D}};function j(){let r=new A;return function(D){let O=k.generate(D);return D.id=r.resolve(O),D.length=O.length,D.fingerprint=null,D}}O.exports=j})),require_specificity=__commonJSMin(((r,O)=>{let k=require_cjs$1();function A(r){return r.type===`Raw`?k.parse(r.value,{context:`selectorList`}):r}function j(r,D){for(let O=0;O<3;O++)if(r[O]!==D[O])return r[O]>D[O]?r:D;return r}function M(r){return A(r).children.reduce((r,D)=>j(N(D),r),[0,0,0])}function N(r){let D=0,O=0,k=0;return r.children.forEach(r=>{switch(r.type){case`IdSelector`:D++;break;case`ClassSelector`:case`AttributeSelector`:O++;break;case`PseudoClassSelector`:switch(r.name.toLowerCase()){case`not`:case`has`:case`is`:case`matches`:case`-webkit-any`:case`-moz-any`:{let[A,j,N]=M(r.children.first);D+=A,O+=j,k+=N;break}case`nth-child`:case`nth-last-child`:{let A=r.children.first;if(A.type===`Nth`&&A.selector){let[r,j,N]=M(A.selector);D+=r,O+=j+1,k+=N}else O++;break}case`where`:break;case`before`:case`after`:case`first-line`:case`first-letter`:k++;break;default:O++}break;case`TypeSelector`:r.name.endsWith(`*`)||k++;break;case`PseudoElementSelector`:k++;break}}),[D,O,k]}O.exports=N})),require_processSelector=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=require_specificity(),j=new Set([`first-letter`,`first-line`,`after`,`before`]),M=new Set([`link`,`visited`,`hover`,`active`,`first-letter`,`first-line`,`after`,`before`]);function N(r,D){let O=new Set;r.prelude.children.forEach(function(r){let N=`*`,P=0;r.children.forEach(function(A){switch(A.type){case`ClassSelector`:if(D&&D.scopes){let O=D.scopes[A.name]||0;if(P!==0&&O!==P)throw Error(`Selector can't has classes from different scopes: `+k.generate(r));P=O}break;case`PseudoClassSelector`:{let r=A.name.toLowerCase();M.has(r)||O.add(`:${r}`);break}case`PseudoElementSelector`:{let r=A.name.toLowerCase();j.has(r)||O.add(`::${r}`);break}case`TypeSelector`:N=A.name.toLowerCase();break;case`AttributeSelector`:A.flags&&O.add(`[${A.flags.toLowerCase()}]`);break;case`Combinator`:N=`*`;break}}),r.compareMarker=A(r).toString(),r.id=null,r.id=k.generate(r),P&&(r.compareMarker+=`:`+P),N!==`*`&&(r.compareMarker+=`,`+N)}),r.pseudoSignature=O.size>0?[...O].sort().join(`,`):!1}O.exports=N})),require_prepare=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=require_createDeclarationIndexer(),j=require_processSelector();function M(r,D){let O=A();return k.walk(r,{visit:`Rule`,enter(r){r.block.children.forEach(O),j(r,D.usage)}}),k.walk(r,{visit:`Atrule`,enter(r){r.prelude&&(r.prelude.id=null,r.prelude.id=k.generate(r.prelude)),k.keyword(r.name).basename===`keyframes`&&(r.block.avoidRulesMerge=!0,r.block.children.forEach(function(r){r.prelude.children.forEach(function(r){r.compareMarker=r.id})}))}}),{declaration:O}}O.exports=M})),require__1_mergeAtrule=__commonJSMin(((r,O)=>{let k=require_cjs$1(),{hasOwnProperty:A}=Object.prototype;function j(r,D,O,j){let M=D.data,N=k.keyword(M.name).basename,P=M.name.toLowerCase()+`/`+(M.prelude?M.prelude.id:null);A.call(r,N)||(r[N]=Object.create(null)),j&&delete r[N][P],A.call(r[N],P)||(r[N][P]=new k.List),r[N][P].append(O.remove(D))}function M(r,D){let O=Object.create(null),A=null;for(let M in r.children.forEach(function(r,M,N){if(r.type===`Atrule`){let P=k.keyword(r.name).basename;switch(P){case`keyframes`:j(O,M,N,!0);return;case`media`:if(D.forceMediaMerge){j(O,M,N,!1);return}break}A===null&&P!==`charset`&&P!==`import`&&(A=M)}else A===null&&(A=M)}),O)for(let D in O[M])r.children.insertList(O[M][D],M===`media`?null:A)}function N(r){return r.type===`Atrule`&&r.name===`media`}function P(r,D,O){if(!N(r))return;let k=D.prev&&D.prev.data;!k||!N(k)||r.prelude&&k.prelude&&r.prelude.id===k.prelude.id&&(k.block.children.appendList(r.block.children),O.remove(D))}function F(r,D){M(r,D),k.walk(r,{visit:`Atrule`,reverse:!0,enter:P})}O.exports=F})),require_utils$1=__commonJSMin((r=>{let{hasOwnProperty:D}=Object.prototype;function O(r,D){let O=r.head,k=D.head;for(;O!==null&&k!==null&&O.data.id===k.data.id;)O=O.next,k=k.next;return O===null&&k===null}function k(r,D){let O=r.head,k=D.head;for(;O!==null&&k!==null&&O.data.id===k.data.id;)O=O.next,k=k.next;return O===null&&k===null}function A(r,O){let k={eq:[],ne1:[],ne2:[],ne2overrided:[]},A=Object.create(null),j=Object.create(null);for(let r=O.head;r;r=r.next)j[r.data.id]=!0;for(let D=r.head;D;D=D.next){let r=D.data;r.fingerprint&&(A[r.fingerprint]=r.important),j[r.id]?(j[r.id]=!1,k.eq.push(r)):k.ne1.push(r)}for(let r=O.head;r;r=r.next){let O=r.data;j[O.id]&&((!D.call(A,O.fingerprint)||!A[O.fingerprint]&&O.important)&&k.ne2.push(O),k.ne2overrided.push(O))}return k}function j(r,D){return D.forEach(D=>{let O=D.id,k=r.head;for(;k;){let r=k.data.id;if(r===O)return;if(r>O)break;k=k.next}r.insert(r.createItem(D),k)}),r}function M(r,D){let O=r.head;for(;O!==null;){let r=D.head;for(;r!==null;){if(O.data.compareMarker===r.data.compareMarker)return!0;r=r.next}O=O.next}return!1}function N(r){switch(r.type){case`Rule`:return M(r.prelude.children,this);case`Atrule`:if(r.block)return r.block.children.some(N,this);break;case`Declaration`:return!1}return!0}r.addSelectors=j,r.compareDeclarations=A,r.hasSimilarSelectors=M,r.isEqualDeclarations=k,r.isEqualSelectors=O,r.unsafeToSkipNode=N})),require__2_initialMergeRuleset=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=require_utils$1();function j(r,D,O){let k=r.prelude.children,j=r.block.children;O.prevUntil(D.prev,function(M){if(M.type!==`Rule`)return A.unsafeToSkipNode.call(k,M);let N=M.prelude.children,P=M.block.children;if(r.pseudoSignature===M.pseudoSignature){if(A.isEqualSelectors(N,k))return P.appendList(j),O.remove(D),!0;if(A.isEqualDeclarations(j,P))return A.addSelectors(N,k),O.remove(D),!0}return A.hasSimilarSelectors(k,N)})}function M(r){k.walk(r,{visit:`Rule`,enter:j})}O.exports=M})),require__3_disjoinRuleset=__commonJSMin(((r,O)=>{let k=require_cjs$1();function A(r,D,O){let A=r.prelude.children;for(;A.head!==A.tail;){let j=new k.List;j.insert(A.remove(A.head)),O.insert(O.createItem({type:`Rule`,loc:r.loc,prelude:{type:`SelectorList`,loc:r.prelude.loc,children:j},block:{type:`Block`,loc:r.block.loc,children:r.block.children.copy()},pseudoSignature:r.pseudoSignature}),D)}}function j(r){k.walk(r,{visit:`Rule`,reverse:!0,enter:A})}O.exports=j})),require__4_restructShorthand=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=[`top`,`right`,`bottom`,`left`],j={"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`},M={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`};var N=class{constructor(r){this.name=r,this.loc=null,this.iehack=void 0,this.sides={top:null,right:null,bottom:null,left:null}}getValueSequence(r,D){let O=[],k=``;return r.value.type!==`Value`||r.value.children.some(function(D){let A=!1;switch(D.type){case`Identifier`:switch(D.name){case`\\0`:case`\\9`:k=D.name;return;case`inherit`:case`initial`:case`unset`:case`revert`:A=D.name;break}break;case`Dimension`:switch(D.unit){case`rem`:case`vw`:case`vh`:case`vmin`:case`vmax`:case`vm`:A=D.unit;break}break;case`Hash`:case`Number`:case`Percentage`:break;case`Function`:if(D.name===`var`)return!0;A=D.name;break;default:return!0}O.push({node:D,special:A,important:r.important})})||O.length>D||typeof this.iehack==`string`&&this.iehack!==k?!1:(this.iehack=k,O)}canOverride(r,D){let O=this.sides[r];return!O||D.important&&!O.important}add(r,D){function O(){let O=this.sides,k=j[r];if(k){if(!(k in O))return!1;let r=this.getValueSequence(D,1);if(!r||!r.length)return!1;for(let D in O)if(O[D]!==null&&O[D].special!==r[0].special)return!1;return this.canOverride(k,r[0])&&(O[k]=r[0]),!0}else if(r===this.name){let r=this.getValueSequence(D,4);if(!r||!r.length)return!1;switch(r.length){case 1:r[1]=r[0],r[2]=r[0],r[3]=r[0];break;case 2:r[2]=r[0],r[3]=r[1];break;case 3:r[3]=r[1];break}for(let D=0;D<4;D++)for(let k in O)if(O[k]!==null&&O[k].special!==r[D].special)return!1;for(let D=0;D<4;D++)this.canOverride(A[D],r[D])&&(O[A[D]]=r[D]);return!0}}return O.call(this)?(this.loc||=D.loc,!0):!1}isOkToMinimize(){let r=this.sides.top,D=this.sides.right,O=this.sides.bottom,k=this.sides.left;if(r&&D&&O&&k){let A=r.important+D.important+O.important+k.important;return A===0||A===4}return!1}getValue(){let r=new k.List,D=this.sides,O=[D.top,D.right,D.bottom,D.left],A=[k.generate(D.top.node),k.generate(D.right.node),k.generate(D.bottom.node),k.generate(D.left.node)];A[3]===A[1]&&(O.pop(),A[2]===A[0]&&(O.pop(),A[1]===A[0]&&O.pop()));for(let D=0;D<O.length;D++)r.appendData(O[D].node);return this.iehack&&r.appendData({type:`Identifier`,loc:null,name:this.iehack}),{type:`Value`,loc:null,children:r}}getDeclaration(){return{type:`Declaration`,loc:this.loc,important:this.sides.top.important,property:this.name,value:this.getValue()}}};function P(r,D,O,k){let A=r.block.children,j=r.prelude.children.first.id;return r.block.children.forEachRight(function(r,P){let F=r.property;if(!M.hasOwnProperty(F))return;let I=M[F],L,R;if((!k||j===k)&&I in D&&(R=2,L=D[I]),(!L||!L.add(F,r))&&(R=1,L=new N(I),!L.add(F,r))){k=null;return}D[I]=L,O.push({operation:R,block:A,item:P,shorthand:L}),k=j}),k}function F(r,D){r.forEach(function(r){let O=r.shorthand;O.isOkToMinimize()&&(r.operation===1?r.item.data=D(O.getDeclaration()):r.block.remove(r.item))})}function I(r,D){let O={},A=[];k.walk(r,{visit:`Rule`,reverse:!0,enter(r){let D=this.block||this.stylesheet,k=(r.pseudoSignature||``)+`|`+r.prelude.children.first.id,j,M;O.hasOwnProperty(D.id)?j=O[D.id]:(j={lastShortSelector:null},O[D.id]=j),j.hasOwnProperty(k)?M=j[k]:(M={},j[k]=M),j.lastShortSelector=P.call(this,r,M,A,j.lastShortSelector)}}),F(A,D.declaration)}O.exports=I})),require__6_restructBlock=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=1,j=new Set([`src`]),M={display:/table|ruby|flex|-(flex)?box$|grid|contents|run-in/i,"text-align":/^(start|end|match-parent|justify-all)$/i},N={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`]},P={"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`]};function F(r,D,O){let j=k.property(r).basename;if(j===`background`)return r+`:`+k.generate(D.value);let P=D.id,F=O[P];if(!F){switch(D.value.type){case`Value`:let r={},O=``,P=``,I=!1;D.value.children.forEach(function D(A){switch(A.type){case`Value`:case`Brackets`:case`Parentheses`:A.children.forEach(D);break;case`Raw`:I=!0;break;case`Identifier`:{let{name:D}=A;O||=k.keyword(D).vendor,/\\[09]/.test(D)&&(P=RegExp.lastMatch),N.hasOwnProperty(j)?N[j].indexOf(D)===-1&&(r[D]=!0):M.hasOwnProperty(j)&&M[j].test(D)&&(r[D]=!0);break}case`Function`:{let{name:j}=A;O||=k.keyword(j).vendor,j===`rect`&&(A.children.some(r=>r.type===`Operator`&&r.value===`,`)||(j=`rect-backward`)),r[j+`()`]=!0,A.children.forEach(D);break}case`Dimension`:{let{unit:D}=A;switch(/\\[09]/.test(D)&&(P=RegExp.lastMatch),D){case`rem`:case`vw`:case`vh`:case`vmin`:case`vmax`:case`vm`:r[D]=!0;break}break}}}),F=I?`!`+ A++:`!`+Object.keys(r).sort()+`|`+P+O;break;case`Raw`:F=`!`+D.value.value;break;default:F=k.generate(D.value)}O[P]=F}return r+F}function I(r,D,O){let A=k.property(D.property);if(P.hasOwnProperty(A.basename)){let k=P[A.basename];for(let j of k){let k=F(A.prefix+j,D,O),M=r.hasOwnProperty(k)?r[k]:null;if(M&&(!D.important||M.item.data.important))return M}}}function L(r,D,O,k,A){let M=r.block.children;M.forEachRight(function(r,D){let{property:O}=r,N=F(O,r,A),P=k[N];P&&!j.has(O)?r.important&&!P.item.data.important?(k[N]={block:M,item:D},P.block.remove(P.item)):M.remove(D):I(k,r,A)?M.remove(D):(r.fingerprint=N,k[N]={block:M,item:D})}),M.isEmpty&&O.remove(D)}function R(r){let D={},O=Object.create(null);k.walk(r,{visit:`Rule`,reverse:!0,enter(r,k,A){let j=this.block||this.stylesheet,M=(r.pseudoSignature||``)+`|`+r.prelude.children.first.id,N,P;D.hasOwnProperty(j.id)?N=D[j.id]:(N={},D[j.id]=N),N.hasOwnProperty(M)?P=N[M]:(P={},N[M]=P),L.call(this,r,k,A,P,O)}})}O.exports=R})),require__7_mergeRuleset=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=require_utils$1();function j(r,D,O){let k=r.prelude.children,j=r.block.children,M=k.first.compareMarker,N={};O.nextUntil(D.next,function(D,P){if(D.type!==`Rule`)return A.unsafeToSkipNode.call(k,D);if(r.pseudoSignature!==D.pseudoSignature)return!0;let F=D.prelude.children.head,I=D.block.children,L=F.data.compareMarker;if(L in N)return!0;if(k.head===k.tail&&k.first.id===F.data.id){j.appendList(I),O.remove(P);return}if(A.isEqualDeclarations(j,I)){let r=F.data.id;k.some((D,O)=>{if(r<D.id)return k.insert(F,O),!0;if(!O.next)return k.insert(F),!0}),O.remove(P);return}if(L===M)return!0;N[L]=!0})}function M(r){k.walk(r,{visit:`Rule`,enter:j})}O.exports=M})),require__8_restructRuleset=__commonJSMin(((r,O)=>{let k=require_cjs$1(),A=require_utils$1();function j(r){return r.reduce((r,D)=>r+D.id.length+1,0)-1}function M(r){let D=0;for(let O of r)D+=O.length;return D+r.length-1}function N(r,D,O){let N=this.block===null?!1:this.block.avoidRulesMerge,P=r.prelude.children,F=r.block,I=Object.create(null),L=!0,R=!0;O.prevUntil(D.prev,function(z,B){let V=z.block,H=z.type;if(H!==`Rule`){let r=A.unsafeToSkipNode.call(P,z);return!r&&H===`Atrule`&&V&&k.walk(V,{visit:`Rule`,enter(r){r.prelude.children.forEach(r=>{I[r.compareMarker]=!0})}}),r}if(r.pseudoSignature!==z.pseudoSignature)return!0;let U=z.prelude.children;if(R=!U.some(r=>r.compareMarker in I),!R&&!L)return!0;if(L&&A.isEqualSelectors(U,P))return V.children.appendList(F.children),O.remove(D),!0;let W=A.compareDeclarations(F.children,V.children);if(W.eq.length){if(!W.ne1.length&&!W.ne2.length)return R&&(A.addSelectors(P,U),O.remove(B)),!0;if(!N)if(W.ne1.length&&!W.ne2.length){let r=j(P),D=M(W.eq);L&&r<D&&(A.addSelectors(U,P),F.children.fromArray(W.ne1))}else if(!W.ne1.length&&W.ne2.length){let r=j(U),D=M(W.eq);R&&r<D&&(A.addSelectors(P,U),V.children.fromArray(W.ne2))}else{let N={type:`SelectorList`,loc:null,children:A.addSelectors(U.copy(),P)},I=j(N.children)+2;if(M(W.eq)>=I){let A=O.createItem({type:`Rule`,loc:null,prelude:N,block:{type:`Block`,loc:null,children:new k.List().fromArray(W.eq)},pseudoSignature:r.pseudoSignature});return F.children.fromArray(W.ne1),V.children.fromArray(W.ne2overrided),L?O.insert(A,B):O.insert(A,D),!0}}}L&&=!U.some(r=>P.some(D=>D.compareMarker===r.compareMarker)),U.forEach(r=>{I[r.compareMarker]=!0})})}function P(r){k.walk(r,{visit:`Rule`,reverse:!0,enter:N})}O.exports=P})),require_restructure=__commonJSMin(((r,D)=>{let O=require_prepare(),k=require__1_mergeAtrule(),A=require__2_initialMergeRuleset(),j=require__3_disjoinRuleset(),M=require__4_restructShorthand(),N=require__6_restructBlock(),P=require__7_mergeRuleset(),F=require__8_restructRuleset();function I(r,D){let I=O(r,D);D.logger(`prepare`,r),k(r,D),D.logger(`mergeAtrule`,r),A(r),D.logger(`initialMergeRuleset`,r),j(r),D.logger(`disjoinRuleset`,r),M(r,I),D.logger(`restructShorthand`,r),N(r),D.logger(`restructBlock`,r),P(r),D.logger(`mergeRuleset`,r),F(r),D.logger(`restructRuleset`,r)}D.exports=I})),require_compress=__commonJSMin(((r,O)=>{let k=require_cjs$1(),j=require_usage(),M=require_clean(),N=require_replace(),P=require_restructure();function F(r,D){let O=new k.List,A=!1,j;return r.nextUntil(r.head,(r,k,M)=>{if(r.type===`Comment`){if(!D||r.value.charAt(0)!==`!`){M.remove(k);return}if(A||j)return!0;M.remove(k),j=r;return}r.type!==`WhiteSpace`&&(A=!0),O.insert(M.remove(k))}),{comment:j,stylesheet:{type:`StyleSheet`,loc:null,children:O}}}function I(r,D,O,A){A.logger(`Compress block #${O}`,null,!0);let j=1;return r.type===`StyleSheet`&&(r.firstAtrulesAllowed=D,r.id=j++),k.walk(r,{visit:`Atrule`,enter(r){r.block!==null&&(r.block.id=j++)}}),A.logger(`init`,r),M(r,A),A.logger(`clean`,r),N(r),A.logger(`replace`,r),A.restructuring&&P(r,A),r}function L(r){let D=`comments`in r?r.comments:`exclamation`;return typeof D==`boolean`?D=D?`exclamation`:!1:D!==`exclamation`&&D!==`first-exclamation`&&(D=!1),D}function R(r){return`restructure`in r?r.restructure:`restructuring`in r?r.restructuring:!0}function B(r){return new k.List().appendData({type:`Rule`,loc:null,prelude:{type:`SelectorList`,loc:null,children:new k.List().appendData({type:`Selector`,loc:null,children:new k.List().appendData({type:`TypeSelector`,loc:null,name:`x`})})},block:r})}function V(r,D){r||={type:`StyleSheet`,loc:null,children:new k.List},D||={};let O={logger:typeof D.logger==`function`?D.logger:function(){},restructuring:R(D),forceMediaMerge:!!D.forceMediaMerge,usage:D.usage?j.buildIndex(D.usage):!1},A=new k.List,M=L(D),N=!0,P,z,V=1,H;D.clone&&(r=k.clone(r)),r.type===`StyleSheet`?(P=r.children,r.children=A):P=B(r);do{if(z=F(P,!!M),I(z.stylesheet,N,V++,O),H=z.stylesheet.children,z.comment&&(A.isEmpty||A.insert(k.List.createItem({type:`Raw`,value:`
|
|
2
|
+
`})),A.insert(k.List.createItem(z.comment)),H.isEmpty||A.insert(k.List.createItem({type:`Raw`,value:`
|
|
3
|
+
`}))),N&&!H.isEmpty){let r=H.last;(r.type!==`Atrule`||r.name!==`import`&&r.name!==`charset`)&&(N=!1)}M!==`exclamation`&&(M=!1),A.appendList(H)}while(!P.isEmpty);return{ast:r}}O.exports=V})),require_syntax=__commonJSMin((r=>{let O=require_cjs$1(),k=require_compress(),A=require_specificity();function j(r){let D=O.string.encode(r,!0),k=O.string.encode(r);return D.length<k.length?D:k}let{lexer:M,tokenize:N,parse:P,generate:F,walk:I,find:L,findLast:R,findAll:z,fromPlainObject:B,toPlainObject:V}=O.fork({node:{String:{generate(r){this.token(O.tokenTypes.String,j(r.value))}},Url:{generate(r){let D=O.url.encode(r.value),k=j(r.value);this.token(O.tokenTypes.Url,D.length<=k.length+5?D:`url(`+k+`)`)}}}});r.compress=k,r.specificity=A,r.find=L,r.findAll=z,r.findLast=R,r.fromPlainObject=B,r.generate=F,r.lexer=M,r.parse=P,r.toPlainObject=V,r.tokenize=N,r.walk=I})),require_utils=__commonJSMin((r=>{let D=require_processSelector(),O=require_utils$1();r.processSelector=D,r.addSelectors=O.addSelectors,r.compareDeclarations=O.compareDeclarations,r.hasSimilarSelectors=O.hasSimilarSelectors,r.isEqualDeclarations=O.isEqualDeclarations,r.isEqualSelectors=O.isEqualSelectors,r.unsafeToSkipNode=O.unsafeToSkipNode})),require_cjs=__commonJSMin((r=>{let D=require_version(),O=require_syntax(),A=require_utils(),{parse:j,generate:M,compress:N}=O;function P(r,D,O,k){return D.debug&&console.error(`## ${r} done in %d ms\n`,Date.now()-O),k}function F(r){let D;return function(O,k){let A=O;if(k&&(A=`[${((Date.now()-D)/1e3).toFixed(3)}s] ${A}`),r>1&&k){let D=M(k);r===2&&D.length>256&&(D=D.substr(0,256)+`...`),A+=`\n ${D}\n`}console.error(A),D=Date.now()}}function I(r){return r={...r},typeof r.logger!=`function`&&r.debug&&(r.logger=F(r.debug)),r}function L(r,D,O){Array.isArray(O)||(O=[O]),O.forEach(O=>O(r,D))}function R(r,D,O){O||={};let k=O.filename||`<unknown>`,A,F=P(`parsing`,O,Date.now(),j(D,{context:r,filename:k,positions:!!O.sourceMap}));O.beforeCompress&&P(`beforeCompress`,O,Date.now(),L(F,O,O.beforeCompress));let R=P(`compress`,O,Date.now(),N(F,I(O)));return O.afterCompress&&P(`afterCompress`,O,Date.now(),L(R,O,O.afterCompress)),A=O.sourceMap?P(`generate(sourceMap: true)`,O,Date.now(),(()=>{let r=M(R.ast,{sourceMap:!0});return r.map._file=k,r.map.setSourceContent(k,D),r})()):P(`generate`,O,Date.now(),{css:M(R.ast),map:null}),A}function z(r,D){return R(`stylesheet`,r,D)}function B(r,D){return R(`declarationList`,r,D)}r.version=D.version,r.syntax=O,r.utils=A,r.minify=z,r.minifyBlock=B}));export{require_cjs as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as __require,t as __commonJSMin}from"../rolldown-runtime.mjs";var require_etag=__commonJSMin(((t,n)=>{n.exports=s;var r=__require(`crypto`),i=__require(`fs`).Stats,a=Object.prototype.toString;function o(e){if(e.length===0)return`"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"`;var t=r.createHash(`sha1`).update(e,`utf8`).digest(`base64`).substring(0,27);return`"`+(typeof e==`string`?Buffer.byteLength(e,`utf8`):e.length).toString(16)+`-`+t+`"`}function s(e,t){if(e==null)throw TypeError(`argument entity is required`);var n=c(e),r=t&&typeof t.weak==`boolean`?t.weak:n;if(!n&&typeof e!=`string`&&!Buffer.isBuffer(e))throw TypeError(`argument entity must be string, Buffer, or fs.Stats`);var i=n?l(e):o(e);return r?`W/`+i:i}function c(e){return typeof i==`function`&&e instanceof i?!0:e&&typeof e==`object`&&`ctime`in e&&a.call(e.ctime)===`[object Date]`&&`mtime`in e&&a.call(e.mtime)===`[object Date]`&&`ino`in e&&typeof e.ino==`number`&&`size`in e&&typeof e.size==`number`}function l(e){var t=e.mtime.getTime().toString(16);return`"`+e.size.toString(16)+`-`+t+`"`}}));export{require_etag as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{FastResponse,FastURL}from"srvx";const NullProtoObj=(()=>{let e=function(){};return e.prototype=Object.create(null),Object.freeze(e.prototype),e})(),kEventNS=`h3.internal.event.`,kEventRes=Symbol.for(`${kEventNS}res`),kEventResHeaders=Symbol.for(`${kEventNS}res.headers`);var H3Event=class{app;req;url;context;static __is_event__=!0;constructor(e,E,D){this.context=E||e.context||new NullProtoObj,this.req=e,this.app=D;let O=e._url;this.url=O&&O instanceof URL?O:new FastURL(e.url)}get res(){return this[kEventRes]||=new H3EventResponse}get runtime(){return this.req.runtime}waitUntil(e){this.req.waitUntil?.(e)}toString(){return`[${this.req.method}] ${this.req.url}`}toJSON(){return this.toString()}get node(){return this.req.runtime?.node}get headers(){return this.req.headers}get path(){return this.url.pathname+this.url.search}get method(){return this.req.method}},H3EventResponse=class{status;statusText;get headers(){return this[kEventResHeaders]||=new Headers}};const DISALLOWED_STATUS_CHARS=/[^\u0009\u0020-\u007E]/g;function sanitizeStatusMessage(e=``){return e.replace(DISALLOWED_STATUS_CHARS,``)}function sanitizeStatusCode(e,w=200){return!e||(typeof e==`string`&&(e=+e),e<100||e>599)?w:e}var HTTPError=class e extends Error{get name(){return`HTTPError`}status;statusText;headers;cause;data;body;unhandled;static isError(e){return e instanceof Error&&e?.name===`HTTPError`}static status(w,T,E){return new e({...E,statusText:T,status:w})}constructor(e,w){let T,E;typeof e==`string`?(T=e,E=w):E=e;let D=sanitizeStatusCode(E?.status||E?.cause?.status||E?.status||E?.statusCode,500),O=sanitizeStatusMessage(E?.statusText||E?.cause?.statusText||E?.statusText||E?.statusMessage),k=T||E?.message||E?.cause?.message||E?.statusText||E?.statusMessage||[`HTTPError`,D,O].filter(Boolean).join(` `);super(k,{cause:E}),this.cause=E,Error.captureStackTrace?.(this,this.constructor),this.status=D,this.statusText=O||void 0;let A=E?.headers||E?.cause?.headers;this.headers=A?new Headers(A):void 0,this.unhandled=E?.unhandled??E?.cause?.unhandled??void 0,this.data=E?.data,this.body=E?.body}get statusCode(){return this.status}get statusMessage(){return this.statusText}toJSON(){let e=this.unhandled;return{status:this.status,statusText:this.statusText,unhandled:e,message:e?`HTTPError`:this.message,data:e?void 0:this.data,...e?void 0:this.body}}};function isJSONSerializable(e,w){if(e==null)return!0;if(w!==`object`)return w===`boolean`||w===`number`||w===`string`;if(typeof e.toJSON==`function`||Array.isArray(e))return!0;if(typeof e.pipe==`function`||typeof e.pipeTo==`function`)return!1;if(e instanceof NullProtoObj)return!0;let E=Object.getPrototypeOf(e);return E===Object.prototype||E===null}const kNotFound=Symbol.for(`h3.notFound`),kHandled=Symbol.for(`h3.handled`);function toResponse(e,w,T={}){if(typeof e?.then==`function`)return(e.catch?.(e=>e)||Promise.resolve(e)).then(e=>toResponse(e,w,T));let E=prepareResponse(e,w,T);if(typeof E?.then==`function`)return toResponse(E,w,T);let{onResponse:D}=T;return D?Promise.resolve(D(E,w)).then(()=>E):E}var HTTPResponse=class{#headers;#init;body;constructor(e,w){this.body=e,this.#init=w}get status(){return this.#init?.status||200}get statusText(){return this.#init?.statusText||`OK`}get headers(){return this.#headers||=new Headers(this.#init?.headers)}};function prepareResponse(w,T,E,k){if(w===kHandled)return new FastResponse(null);if(w===kNotFound&&(w=new HTTPError({status:404,message:`Cannot find any route matching [${T.req.method}] ${T.url}`})),w&&w instanceof Error){let e=HTTPError.isError(w),D=e?w:new HTTPError(w);e||(D.unhandled=!0,w?.stack&&(D.stack=w.stack)),D.unhandled&&!E.silent&&console.error(D);let{onError:O}=E;return O&&!k?Promise.resolve(O(D,T)).catch(e=>e).then(e=>prepareResponse(e??w,T,E,!0)):errorResponse(D,E.debug)}let A=T[kEventRes],j=A?.[kEventResHeaders];if(!(w instanceof Response)){let D=prepareResponseBody(w,T,E),O=D.status||A?.status;return new FastResponse(nullBody(T.req.method,O)?null:D.body,{status:O,statusText:D.statusText||A?.statusText,headers:D.headers&&j?mergeHeaders$1(D.headers,j):D.headers||j})}if(!j||k||!w.ok)return w;try{return mergeHeaders$1(w.headers,j,w.headers),w}catch{return new FastResponse(nullBody(T.req.method,w.status)?null:w.body,{status:w.status,statusText:w.statusText,headers:mergeHeaders$1(w.headers,j)})}}function mergeHeaders$1(e,w,T=new Headers(e)){for(let[e,E]of w)e===`set-cookie`?T.append(e,E):T.set(e,E);return T}const frozenHeaders=()=>{throw Error(`Headers are frozen`)};var FrozenHeaders=class extends Headers{constructor(e){super(e),this.set=this.append=this.delete=frozenHeaders}};const emptyHeaders=new FrozenHeaders({"content-length":`0`}),jsonHeaders=new FrozenHeaders({"content-type":`application/json;charset=UTF-8`});function prepareResponseBody(e,w,T){if(e==null)return{body:``,headers:emptyHeaders};let E=typeof e;if(E===`string`)return{body:e};if(e instanceof Uint8Array)return w.res.headers.set(`content-length`,e.byteLength.toString()),{body:e};if(e instanceof HTTPResponse||e?.constructor?.name===`HTTPResponse`)return e;if(isJSONSerializable(e,E))return{body:JSON.stringify(e,void 0,T.debug?2:void 0),headers:jsonHeaders};if(E===`bigint`)return{body:e.toString(),headers:jsonHeaders};if(e instanceof Blob){let w=new Headers({"content-type":e.type,"content-length":e.size.toString()}),T=e.name;return T&&(T=encodeURIComponent(T),w.set(`content-disposition`,`filename="${T}"; filename*=UTF-8''${T}`)),{body:e.stream(),headers:w}}return E===`symbol`?{body:e.toString()}:E===`function`?{body:`${e.name}()`}:{body:e}}function nullBody(e,w){return e===`HEAD`||w===100||w===101||w===102||w===204||w===205||w===304}function errorResponse(w,T){return new FastResponse(JSON.stringify({...w.toJSON(),stack:T&&w.stack?w.stack.split(`
|
|
2
|
+
`).map(e=>e.trim()):void 0},void 0,T?2:void 0),{status:w.status,statusText:w.statusText,headers:w.headers?mergeHeaders$1(jsonHeaders,w.headers):new Headers(jsonHeaders)})}function callMiddleware(e,w,T,E=0){if(E===w.length)return T(e);let D=w[E],O,k,A=()=>O?k:(O=!0,k=callMiddleware(e,w,T,E+1),k),j=D(e,A);return isUnhandledResponse(j)?A():typeof j?.then==`function`?j.then(e=>isUnhandledResponse(e)?A():e):j}function isUnhandledResponse(e){return e===void 0||e===kNotFound}function defineHandler(e){if(typeof e==`function`)return handlerWithFetch(e);let w=e.handler||(e.fetch?function(w){return e.fetch(w.req)}:NoHandler);return Object.assign(handlerWithFetch(e.middleware?.length?function(T){return callMiddleware(T,e.middleware,w)}:w),e)}function handlerWithFetch(e){return`fetch`in e?e:Object.assign(e,{fetch:w=>{typeof w==`string`&&(w=new URL(w,`http://_`)),w instanceof URL&&(w=new Request(w));let T=new H3Event(w);try{return Promise.resolve(toResponse(e(T),T))}catch(e){return Promise.resolve(toResponse(e,T))}}})}const NoHandler=()=>kNotFound,defineEventHandler=defineHandler;export{defineEventHandler as n,HTTPError as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const decoder=new TextDecoder,toUTF8String=(J,Y=0,X=J.length)=>decoder.decode(J.slice(Y,X)),toHexString=(y,J=0,Y=y.length)=>y.slice(J,Y).reduce((y,J)=>y+(`0`+J.toString(16)).slice(-2),``),readInt16LE=(y,J=0)=>{let Y=y[J]+y[J+1]*2**8;return Y|(Y&2**15)*131070},readUInt16BE=(y,J=0)=>y[J]*2**8+y[J+1],readUInt16LE=(y,J=0)=>y[J]+y[J+1]*2**8,readUInt24LE=(y,J=0)=>y[J]+y[J+1]*2**8+y[J+2]*2**16,readInt32LE=(y,J=0)=>y[J]+y[J+1]*2**8+y[J+2]*2**16+(y[J+3]<<24),readUInt32BE=(y,J=0)=>y[J]*2**24+y[J+1]*2**16+y[J+2]*2**8+y[J+3],readUInt32LE=(y,J=0)=>y[J]+y[J+1]*2**8+y[J+2]*2**16+y[J+3]*2**24,methods={readUInt16BE,readUInt16LE,readUInt32BE,readUInt32LE};function readUInt(y,J,Y,X){Y||=0;let Z=X?`BE`:`LE`;return methods[`readUInt`+J+Z](y,Y)}const BMP={validate:y=>toUTF8String(y,0,2)===`BM`,calculate:y=>({height:Math.abs(readInt32LE(y,22)),width:readUInt32LE(y,18)})};function getSizeFromOffset(y,J){let Y=y[J];return Y===0?256:Y}function getImageSize$1(y,J){let Y=6+J*16;return{height:getSizeFromOffset(y,Y+1),width:getSizeFromOffset(y,Y)}}const ICO={validate(y){let J=readUInt16LE(y,0),Y=readUInt16LE(y,4);return J!==0||Y===0?!1:readUInt16LE(y,2)===1},calculate(y){let J=readUInt16LE(y,4),Y=getImageSize$1(y,0);if(J===1)return Y;let X=[Y];for(let Y=1;Y<J;Y+=1)X.push(getImageSize$1(y,Y));return{height:Y.height,images:X,width:Y.width}}},CUR={validate(y){let J=readUInt16LE(y,0),Y=readUInt16LE(y,4);return J!==0||Y===0?!1:readUInt16LE(y,2)===2},calculate:y=>ICO.calculate(y)},DDS={validate:y=>readUInt32LE(y,0)===542327876,calculate:y=>({height:readUInt32LE(y,12),width:readUInt32LE(y,16)})},gifRegexp=/^GIF8[79]a/,GIF={validate:y=>gifRegexp.test(toUTF8String(y,0,6)),calculate:y=>({height:readUInt16LE(y,8),width:readUInt16LE(y,6)})},HEIC={validate:y=>{let Y=findBox$1(y,`ftyp`);if(!Y)return!1;let X=toUTF8String(y,Y.offset+8,Y.offset+12);return[`heic`,`heix`,`hevc`,`hevx`,`mif1`,`msf1`].includes(X)},calculate:y=>{let J=findBox$1(y,`meta`);if(!J)throw TypeError(`heic: meta box not found`);let Y=findBox$1(y,`iprp`,J.offset+12,J.offset+J.size);if(!Y)throw TypeError(`heic: iprp box not found`);let X=findBox$1(y,`ipco`,Y.offset+8,Y.offset+Y.size);if(!X)throw TypeError(`heic: ipco box not found`);let Z=findAllBoxes(y,`ispe`,X.offset+8,X.offset+X.size).map(J=>({width:readUInt32BE(y,J.offset+12),height:readUInt32BE(y,J.offset+16)}));if(Z.length===0)throw TypeError(`heic: ispe box not found`);let Q=Z[0];for(let y=1;y<Z.length;y++){let J=Z[y];J.width*J.height>Q.width*Q.height&&(Q=J)}return Q}};function findBox$1(y,Y,X=0,Z=y.length){let Q=X;for(;Q<Z;){let X=readUInt32BE(y,Q);if(toUTF8String(y,Q+4,Q+8)===Y)return{offset:Q,size:X};if(X<=0||Q+X>Z)break;Q+=X}}function findAllBoxes(y,Y,X=0,Z=y.length){let Q=X,$=[];for(;Q<Z;){let X=readUInt32BE(y,Q);if(toUTF8String(y,Q+4,Q+8)===Y&&$.push({offset:Q,size:X}),X<=0||Q+X>Z)break;Q+=X}return $}const ICON_TYPE_SIZE={ICON:32,"ICN#":32,"icm#":16,icm4:16,icm8:16,"ics#":16,ics4:16,ics8:16,is32:16,s8mk:16,icp4:16,icl4:32,icl8:32,il32:32,l8mk:32,icp5:32,ic11:32,ich4:48,ich8:48,ih32:48,h8mk:48,icp6:64,ic12:32,it32:128,t8mk:128,ic07:128,ic08:256,ic13:256,ic09:512,ic14:512,ic10:1024};function readImageHeader(y,Y){let X=Y+4;return[toUTF8String(y,Y,X),readUInt32BE(y,X)]}function getImageSize(y){let J=ICON_TYPE_SIZE[y];return{width:J,height:J,type:y}}const ICNS={validate:y=>toUTF8String(y,0,4)===`icns`,calculate(y){let J=y.length,Y=readUInt32BE(y,4),X=8,Z=readImageHeader(y,X),Q=getImageSize(Z[0]);if(X+=Z[1],X===Y)return Q;let $={height:Q.height,images:[Q],width:Q.width};for(;X<Y&&X<J;)Z=readImageHeader(y,X),Q=getImageSize(Z[0]),X+=Z[1],$.images.push(Q);return $}},J2C={validate:y=>toHexString(y,0,4)===`ff4fff51`,calculate:y=>({height:readUInt32BE(y,12),width:readUInt32BE(y,8)})},BoxTypes={ftyp:`66747970`,jp2h:`6a703268`,jp__:`6a502020`,rreq:`72726571`},calculateRREQLength=y=>{let J=y[0],Y=1+2*J,X=readUInt16BE(y,Y)*(2+J);Y=Y+2+X;let Q=readUInt16BE(y,Y)*(16+J);return Y+2+Q},parseIHDR=y=>({height:readUInt32BE(y,4),width:readUInt32BE(y,8)}),JP2={validate(y){let J=toHexString(y,4,8),X=readUInt32BE(y,0);if(J!==BoxTypes.jp__||X<1)return!1;let Z=X+4,Q=readUInt32BE(y,X);return toHexString(y.slice(Z,Z+Q),0,4)===BoxTypes.ftyp},calculate(y){let X=readUInt32BE(y,0),Q=readUInt16BE(y,X+2),$=X+4+Q;switch(toHexString(y,$,$+4)){case BoxTypes.rreq:return $=$+4+4+calculateRREQLength(y.slice($+4)),parseIHDR(y.slice($+8,$+24));case BoxTypes.jp2h:return parseIHDR(y.slice($+8,$+24));default:throw TypeError(`Unsupported header found: `+toUTF8String(y,$,$+4))}}};function isEXIF(y){return toHexString(y,2,6)===`45786966`}function extractSize(y,J){return{height:readUInt16BE(y,J),width:readUInt16BE(y,J+2)}}function extractOrientation(y,J){let Y=readUInt(y,16,14,J);for(let X=0;X<Y;X++){let Y=16+X*12,Z=Y+12;if(Y>y.length)return;let Q=y.slice(Y,Z);if(readUInt(Q,16,0,J)===274)return readUInt(Q,16,2,J)!==3||readUInt(Q,32,4,J)!==1?void 0:readUInt(Q,16,8,J)}}function validateExifBlock(y,J){let X=y.slice(2,J),Z=toHexString(X,6,8),Q=Z===`4d4d`;if(Q||Z===`4949`)return extractOrientation(X,Q)}function validateInput(y,J){if(J>y.length)throw TypeError(`Corrupt JPG, exceeded buffer limits`);if(y[J]!==255)throw TypeError(`Invalid JPG, marker table corrupted`)}const JPG={validate:y=>toHexString(y,0,2)===`ffd8`,calculate(y){y=y.slice(4);let J,Y;for(;y.length>0;){let X=readUInt16BE(y,0);if(isEXIF(y)&&(J=validateExifBlock(y,X)),validateInput(y,X),Y=y[X+1],Y===192||Y===193||Y===194){let Y=extractSize(y,X+5);return J?{height:Y.height,orientation:J,width:Y.width}:Y}y=y.slice(X+2)}throw TypeError(`Invalid JPG, no size found`)}},KTX={validate:y=>toUTF8String(y,1,7)===`KTX 11`,calculate:y=>({height:readUInt32LE(y,40),width:readUInt32LE(y,36)})},pngFriedChunkName=`CgBI`,PNG={validate(y){if(toUTF8String(y,1,8)===`PNG\r
|
|
2
|
+
|
|
3
|
+
`){let Y=toUTF8String(y,12,16);if(Y===pngFriedChunkName&&(Y=toUTF8String(y,28,32)),Y!==`IHDR`)throw TypeError(`Invalid PNG`);return!0}return!1},calculate(y){return toUTF8String(y,12,16)===pngFriedChunkName?{height:readUInt32BE(y,36),width:readUInt32BE(y,32)}:{height:readUInt32BE(y,20),width:readUInt32BE(y,16)}}},PNMTypes={P1:`pbm/ascii`,P2:`pgm/ascii`,P3:`ppm/ascii`,P4:`pbm`,P5:`pgm`,P6:`ppm`,P7:`pam`,PF:`pfm`},handlers={default:y=>{let J=[];for(;y.length>0;){let Y=y.shift();if(Y[0]!==`#`){J=Y.split(` `);break}}if(J.length===2)return{height:Number.parseInt(J[1],10),width:Number.parseInt(J[0],10)};throw TypeError(`Invalid PNM`)},pam:y=>{let J={};for(;y.length>0;){let Y=y.shift();if(Y.length>16||(Y.codePointAt(0)||0)>128)continue;let[X,Z]=Y.split(` `);if(X&&Z&&(J[X.toLowerCase()]=Number.parseInt(Z,10)),J.height&&J.width)break}if(J.height&&J.width)return{height:J.height,width:J.width};throw TypeError(`Invalid PAM`)}},PNM={validate:y=>toUTF8String(y,0,2)in PNMTypes,calculate(y){let Y=PNMTypes[toUTF8String(y,0,2)],X=toUTF8String(y,3).split(/[\n\r]+/);return(handlers[Y]||handlers.default)(X)}},PSD={validate:y=>toUTF8String(y,0,4)===`8BPS`,calculate:y=>({height:readUInt32BE(y,14),width:readUInt32BE(y,18)})},svgReg=/<svg\s([^"'>]|"[^"]*"|'[^']*')*>/,extractorRegExps={height:/\sheight=(["'])([^%]+?)\1/,root:svgReg,viewbox:/\sviewbox=(["'])(.+?)\1/i,width:/\swidth=(["'])([^%]+?)\1/},INCH_CM=2.54,units={in:96,cm:96/INCH_CM,em:16,ex:8,m:96/INCH_CM*100,mm:96/INCH_CM/10,pc:96/72/12,pt:96/72,px:1},unitsReg=RegExp(`^([0-9.]+(?:e\\d+)?)(${Object.keys(units).join(`|`)})?$`);function parseLength(y){let J=unitsReg.exec(y);if(J)return Math.round(Number(J[1])*(units[J[2]]||1))}function parseViewbox(y){let J=y.split(` `);return{height:parseLength(J[3]),width:parseLength(J[2])}}function parseAttributes(y){let J=y.match(extractorRegExps.width),Y=y.match(extractorRegExps.height),X=y.match(extractorRegExps.viewbox);return{height:Y&&parseLength(Y[2]),viewbox:X&&parseViewbox(X[2]),width:J&&parseLength(J[2])}}function calculateByDimensions(y){return{height:y.height,width:y.width}}function calculateByViewbox(y,J){let Y=J.width/J.height;return y.width?{height:Math.floor(y.width/Y),width:y.width}:y.height?{height:y.height,width:Math.floor(y.height*Y)}:{height:J.height,width:J.width}}const SVG={validate:y=>svgReg.test(toUTF8String(y,0,1e3)),calculate(y){let Y=toUTF8String(y).match(extractorRegExps.root);if(Y){let y=parseAttributes(Y[0]);if(y.width&&y.height)return calculateByDimensions(y);if(y.viewbox)return calculateByViewbox(y,y.viewbox)}throw TypeError(`Invalid SVG`)}},TGA={validate(y){return readUInt16LE(y,0)===0&&readUInt16LE(y,4)===0},calculate(y){return{height:readUInt16LE(y,14),width:readUInt16LE(y,12)}}};function readIFD(y,J){let Y=readUInt(y,32,4,J),X=1024,Z=y.length;return Y+X>Z&&(X=Z-Y-10),y.slice(Y+2,Y+2+X)}function readValue(y,J){let Y=readUInt(y,16,8,J);return(readUInt(y,16,10,J)<<16)+Y}function nextTag(y){if(y.length>24)return y.slice(12)}function extractTags(y,J){let Y={},X=y;for(;X&&X.length>0;){let y=readUInt(X,16,0,J),Z=readUInt(X,16,2,J),Q=readUInt(X,32,4,J);if(y===0)break;Q===1&&(Z===3||Z===4)&&(Y[y]=readValue(X,J)),X=nextTag(X)}return Y}function determineEndianness(y){let Y=toUTF8String(y,0,2);if(Y===`II`)return`LE`;if(Y===`MM`)return`BE`}const signatures=new Set([`49492a00`,`4d4d002a`]),TIFF={validate:y=>signatures.has(toHexString(y,0,4)),calculate(y){let J=determineEndianness(y)===`BE`,Y=extractTags(readIFD(y,J),J),X=Y[256],Z=Y[257];if(!X||!Z)throw TypeError(`Invalid Tiff. Missing tags`);return{height:Z,width:X}}};function calculateExtended(y){return{height:1+readUInt24LE(y,7),width:1+readUInt24LE(y,4)}}function calculateLossless(y){return{height:1+((y[4]&15)<<10|y[3]<<2|(y[2]&192)>>6),width:1+((y[2]&63)<<8|y[1])}}function calculateLossy(y){return{height:readInt16LE(y,8)&16383,width:readInt16LE(y,6)&16383}}const WEBP={validate(y){let Y=toUTF8String(y,0,4)===`RIFF`,X=toUTF8String(y,8,12)===`WEBP`,Z=toUTF8String(y,12,15)===`VP8`;return Y&&X&&Z},calculate(y){let X=toUTF8String(y,12,16);if(y=y.slice(20,30),X===`VP8X`){let J=y[0],Y=(J&192)==0,X=(J&1)==0;if(Y&&X)return calculateExtended(y);throw TypeError(`Invalid WebP`)}if(X===`VP8 `&&y[0]!==47)return calculateLossy(y);let Z=toHexString(y,3,6);if(X===`VP8L`&&Z!==`9d012a`)return calculateLossless(y);throw TypeError(`Invalid WebP`)}},AVIF={validate:y=>toUTF8String(y,8,12)===`avif`,calculate:y=>{let J=findBox(y,`meta`),Y=findBox(y,`iprp`,J.offset+12,J.offset+J.size),X=findBox(y,`ipco`,Y.offset+8,Y.offset+Y.size),Z=findBox(y,`ispe`,X.offset+8,X.offset+X.size);return{width:readUInt32BE(y,Z.offset+12),height:readUInt32BE(y,Z.offset+16)}}};function findBox(y,Y,X=0,Z=y.length){for(let Q=X;Q<Z;){let X=readUInt32BE(y,Q);if(toUTF8String(y,Q+4,Q+8)===Y)return{offset:Q,size:X};if(X<=0||Q+X>Z)break;Q+=X}throw Error(`${Y} box not found`)}const typeHandlers={bmp:BMP,cur:CUR,dds:DDS,gif:GIF,heic:HEIC,icns:ICNS,ico:ICO,j2c:J2C,jp2:JP2,jpg:JPG,ktx:KTX,png:PNG,pnm:PNM,psd:PSD,svg:SVG,tga:TGA,tiff:TIFF,webp:WEBP,avif:AVIF},keys=Object.keys(typeHandlers),firstBytes={56:`psd`,66:`bmp`,68:`dds`,71:`gif`,73:`tiff`,77:`tiff`,82:`webp`,105:`icns`,137:`png`,255:`jpg`};function detector(y){let J=y[0];if(J in firstBytes){let Y=firstBytes[J];if(Y&&typeHandlers[Y].validate(y))return Y}return keys.find(J=>typeHandlers[J].validate(y))}function imageMeta(y){if(!(y instanceof Uint8Array))throw TypeError(`Input should be a Uint8Array`);let J=detector(y);if(J!==void 0&&J in typeHandlers){let Y=typeHandlers[J].calculate(y);if(Y!==void 0)return Y.type=J,Y}throw TypeError(`Unsupported file type: ${J}`)}export{imageMeta as t};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{r as __require,t as __commonJSMin}from"../rolldown-runtime.mjs";var require_sax=__commonJSMin((t=>{(function(t){t.parser=function(e,t){return new r(e,t)},t.SAXParser=r,t.SAXStream=u,t.createStream=l,t.MAX_BUFFER_LENGTH=64*1024;var n=[`comment`,`sgmlDecl`,`textNode`,`tagName`,`doctype`,`procInstName`,`procInstBody`,`entity`,`attribName`,`attribValue`,`cdata`,`script`];t.EVENTS=[`text`,`processinginstruction`,`sgmldeclaration`,`doctype`,`comment`,`opentagstart`,`attribute`,`opentag`,`closetag`,`opencdata`,`cdata`,`closecdata`,`error`,`end`,`ready`,`script`,`opennamespace`,`closenamespace`];function r(e,n){if(!(this instanceof r))return new r(e,n);var i=this;a(i),i.q=i.c=``,i.bufferCheckPosition=t.MAX_BUFFER_LENGTH,i.opt=n||{},i.opt.lowercase=i.opt.lowercase||i.opt.lowercasetags,i.looseCase=i.opt.lowercase?`toLowerCase`:`toUpperCase`,i.tags=[],i.closed=i.closedRoot=i.sawRoot=!1,i.tag=i.error=null,i.strict=!!e,i.noscript=!!(e||i.opt.noscript),i.state=T.BEGIN,i.strictEntities=i.opt.strictEntities,i.ENTITIES=i.strictEntities?Object.create(t.XML_ENTITIES):Object.create(t.ENTITIES),i.attribList=[],i.opt.xmlns&&(i.ns=Object.create(h)),i.opt.unquotedAttributeValues===void 0&&(i.opt.unquotedAttributeValues=!e),i.trackPosition=i.opt.position!==!1,i.trackPosition&&(i.position=i.line=i.column=0),D(i,`onready`)}Object.create||(Object.create=function(e){function t(){}return t.prototype=e,new t}),Object.keys||(Object.keys=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t});function i(e){for(var r=Math.max(t.MAX_BUFFER_LENGTH,10),i=0,a=0,o=n.length;a<o;a++){var s=e[n[a]].length;if(s>r)switch(n[a]){case`textNode`:k(e);break;case`cdata`:O(e,`oncdata`,e.cdata),e.cdata=``;break;case`script`:O(e,`onscript`,e.script),e.script=``;break;default:j(e,`Max buffer length exceeded: `+n[a])}i=Math.max(i,s)}e.bufferCheckPosition=t.MAX_BUFFER_LENGTH-i+e.position}function a(e){for(var t=0,r=n.length;t<r;t++)e[n[t]]=``}function o(e){k(e),e.cdata!==``&&(O(e,`oncdata`,e.cdata),e.cdata=``),e.script!==``&&(O(e,`onscript`,e.script),e.script=``)}r.prototype={end:function(){M(this)},write:H,resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){o(this)}};var s;try{s=__require(`stream`).Stream}catch{s=function(){}}s||=function(){};var c=t.EVENTS.filter(function(e){return e!==`error`&&e!==`end`});function l(e,t){return new u(e,t)}function u(e,t){if(!(this instanceof u))return new u(e,t);s.apply(this),this._parser=new r(e,t),this.writable=!0,this.readable=!0;var n=this;this._parser.onend=function(){n.emit(`end`)},this._parser.onerror=function(e){n.emit(`error`,e),n._parser.error=null},this._decoder=null,c.forEach(function(e){Object.defineProperty(n,`on`+e,{get:function(){return n._parser[`on`+e]},set:function(t){if(!t)return n.removeAllListeners(e),n._parser[`on`+e]=t,t;n.on(e,t)},enumerable:!0,configurable:!1})})}u.prototype=Object.create(s.prototype,{constructor:{value:u}}),u.prototype.write=function(t){if(typeof Buffer==`function`&&typeof Buffer.isBuffer==`function`&&Buffer.isBuffer(t)){if(!this._decoder){var n=__require(`string_decoder`).StringDecoder;this._decoder=new n(`utf8`)}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit(`data`,t),!0},u.prototype.end=function(e){return e&&e.length&&this.write(e),this._parser.end(),!0},u.prototype.on=function(e,t){var n=this;return!n._parser[`on`+e]&&c.indexOf(e)!==-1&&(n._parser[`on`+e]=function(){var t=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);t.splice(0,0,e),n.emit.apply(n,t)}),s.prototype.on.call(n,e,t)};var d=`[CDATA[`,f=`DOCTYPE`,p=`http://www.w3.org/XML/1998/namespace`,m=`http://www.w3.org/2000/xmlns/`,h={xml:p,xmlns:m},g=/[:_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]/,_=/[:_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-]/,v=/[#:_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]/,y=/[#:_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-]/;function b(e){return e===` `||e===`
|
|
2
|
+
`||e===`\r`||e===` `}function x(e){return e===`"`||e===`'`}function S(e){return e===`>`||b(e)}function C(e,t){return e.test(t)}function w(e,t){return!C(e,t)}var T=0;for(var E in t.STATE={BEGIN:T++,BEGIN_WHITESPACE:T++,TEXT:T++,TEXT_ENTITY:T++,OPEN_WAKA:T++,SGML_DECL:T++,SGML_DECL_QUOTED:T++,DOCTYPE:T++,DOCTYPE_QUOTED:T++,DOCTYPE_DTD:T++,DOCTYPE_DTD_QUOTED:T++,COMMENT_STARTING:T++,COMMENT:T++,COMMENT_ENDING:T++,COMMENT_ENDED:T++,CDATA:T++,CDATA_ENDING:T++,CDATA_ENDING_2:T++,PROC_INST:T++,PROC_INST_BODY:T++,PROC_INST_ENDING:T++,OPEN_TAG:T++,OPEN_TAG_SLASH:T++,ATTRIB:T++,ATTRIB_NAME:T++,ATTRIB_NAME_SAW_WHITE:T++,ATTRIB_VALUE:T++,ATTRIB_VALUE_QUOTED:T++,ATTRIB_VALUE_CLOSED:T++,ATTRIB_VALUE_UNQUOTED:T++,ATTRIB_VALUE_ENTITY_Q:T++,ATTRIB_VALUE_ENTITY_U:T++,CLOSE_TAG:T++,CLOSE_TAG_SAW_WHITE:T++,SCRIPT:T++,SCRIPT_ENDING:T++},t.XML_ENTITIES={amp:`&`,gt:`>`,lt:`<`,quot:`"`,apos:`'`},t.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},Object.keys(t.ENTITIES).forEach(function(e){var n=t.ENTITIES[e],r=typeof n==`number`?String.fromCharCode(n):n;t.ENTITIES[e]=r}),t.STATE)t.STATE[t.STATE[E]]=E;T=t.STATE;function D(e,t,n){e[t]&&e[t](n)}function O(e,t,n){e.textNode&&k(e),D(e,t,n)}function k(e){e.textNode=A(e.opt,e.textNode),e.textNode&&D(e,`ontext`,e.textNode),e.textNode=``}function A(e,t){return e.trim&&(t=t.trim()),e.normalize&&(t=t.replace(/\s+/g,` `)),t}function j(e,t){return k(e),e.trackPosition&&(t+=`
|
|
3
|
+
Line: `+e.line+`
|
|
4
|
+
Column: `+e.column+`
|
|
5
|
+
Char: `+e.c),t=Error(t),e.error=t,D(e,`onerror`,t),e}function M(e){return e.sawRoot&&!e.closedRoot&&N(e,`Unclosed root tag`),e.state!==T.BEGIN&&e.state!==T.BEGIN_WHITESPACE&&e.state!==T.TEXT&&j(e,`Unexpected end`),k(e),e.c=``,e.closed=!0,D(e,`onend`),r.call(e,e.strict,e.opt),e}function N(e,t){if(typeof e!=`object`||!(e instanceof r))throw Error(`bad call to strictFail`);e.strict&&j(e,t)}function P(e){e.strict||(e.tagName=e.tagName[e.looseCase]());var t=e.tags[e.tags.length-1]||e,n=e.tag={name:e.tagName,attributes:{}};e.opt.xmlns&&(n.ns=t.ns),e.attribList.length=0,O(e,`onopentagstart`,n)}function F(e,t){var n=e.indexOf(`:`)<0?[``,e]:e.split(`:`),r=n[0],i=n[1];return t&&e===`xmlns`&&(r=`xmlns`,i=``),{prefix:r,local:i}}function I(e){if(e.strict||(e.attribName=e.attribName[e.looseCase]()),e.attribList.indexOf(e.attribName)!==-1||e.tag.attributes.hasOwnProperty(e.attribName)){e.attribName=e.attribValue=``;return}if(e.opt.xmlns){var t=F(e.attribName,!0),n=t.prefix,r=t.local;if(n===`xmlns`)if(r===`xml`&&e.attribValue!==p)N(e,`xml: prefix must be bound to `+p+`
|
|
6
|
+
Actual: `+e.attribValue);else if(r===`xmlns`&&e.attribValue!==m)N(e,`xmlns: prefix must be bound to `+m+`
|
|
7
|
+
Actual: `+e.attribValue);else{var i=e.tag,a=e.tags[e.tags.length-1]||e;i.ns===a.ns&&(i.ns=Object.create(a.ns)),i.ns[r]=e.attribValue}e.attribList.push([e.attribName,e.attribValue])}else e.tag.attributes[e.attribName]=e.attribValue,O(e,`onattribute`,{name:e.attribName,value:e.attribValue});e.attribName=e.attribValue=``}function L(e,t){if(e.opt.xmlns){var n=e.tag,r=F(e.tagName);n.prefix=r.prefix,n.local=r.local,n.uri=n.ns[r.prefix]||``,n.prefix&&!n.uri&&(N(e,`Unbound namespace prefix: `+JSON.stringify(e.tagName)),n.uri=r.prefix);var i=e.tags[e.tags.length-1]||e;n.ns&&i.ns!==n.ns&&Object.keys(n.ns).forEach(function(t){O(e,`onopennamespace`,{prefix:t,uri:n.ns[t]})});for(var a=0,o=e.attribList.length;a<o;a++){var s=e.attribList[a],c=s[0],l=s[1],u=F(c,!0),d=u.prefix,f=u.local,p=d===``?``:n.ns[d]||``,m={name:c,value:l,prefix:d,local:f,uri:p};d&&d!==`xmlns`&&!p&&(N(e,`Unbound namespace prefix: `+JSON.stringify(d)),m.uri=d),e.tag.attributes[c]=m,O(e,`onattribute`,m)}e.attribList.length=0}e.tag.isSelfClosing=!!t,e.sawRoot=!0,e.tags.push(e.tag),O(e,`onopentag`,e.tag),t||(!e.noscript&&e.tagName.toLowerCase()===`script`?e.state=T.SCRIPT:e.state=T.TEXT,e.tag=null,e.tagName=``),e.attribName=e.attribValue=``,e.attribList.length=0}function R(e){if(!e.tagName){N(e,`Weird empty close tag.`),e.textNode+=`</>`,e.state=T.TEXT;return}if(e.script){if(e.tagName!==`script`){e.script+=`</`+e.tagName+`>`,e.tagName=``,e.state=T.SCRIPT;return}O(e,`onscript`,e.script),e.script=``}var t=e.tags.length,n=e.tagName;e.strict||(n=n[e.looseCase]());for(var r=n;t--&&e.tags[t].name!==r;)N(e,`Unexpected close tag`);if(t<0){N(e,`Unmatched closing tag: `+e.tagName),e.textNode+=`</`+e.tagName+`>`,e.state=T.TEXT;return}e.tagName=n;for(var i=e.tags.length;i-- >t;){var a=e.tag=e.tags.pop();e.tagName=e.tag.name,O(e,`onclosetag`,e.tagName);var o={};for(var s in a.ns)o[s]=a.ns[s];var c=e.tags[e.tags.length-1]||e;e.opt.xmlns&&a.ns!==c.ns&&Object.keys(a.ns).forEach(function(t){var n=a.ns[t];O(e,`onclosenamespace`,{prefix:t,uri:n})})}t===0&&(e.closedRoot=!0),e.tagName=e.attribValue=e.attribName=``,e.attribList.length=0,e.state=T.TEXT}function z(e){var t=e.entity,n=t.toLowerCase(),r,i=``;return e.ENTITIES[t]?e.ENTITIES[t]:e.ENTITIES[n]?e.ENTITIES[n]:(t=n,t.charAt(0)===`#`&&(t.charAt(1)===`x`?(t=t.slice(2),r=parseInt(t,16),i=r.toString(16)):(t=t.slice(1),r=parseInt(t,10),i=r.toString(10))),t=t.replace(/^0+/,``),isNaN(r)||i.toLowerCase()!==t||r<0||r>1114111?(N(e,`Invalid character entity`),`&`+e.entity+`;`):String.fromCodePoint(r))}function B(e,t){t===`<`?(e.state=T.OPEN_WAKA,e.startTagPosition=e.position):b(t)||(N(e,`Non-whitespace before first tag.`),e.textNode=t,e.state=T.TEXT)}function V(e,t){var n=``;return t<e.length&&(n=e.charAt(t)),n}function H(e){var n=this;if(this.error)throw this.error;if(n.closed)return j(n,`Cannot write after close. Assign an onready handler.`);if(e===null)return M(n);typeof e==`object`&&(e=e.toString());for(var r=0,a=``;a=V(e,r++),n.c=a,a;)switch(n.trackPosition&&(n.position++,a===`
|
|
8
|
+
`?(n.line++,n.column=0):n.column++),n.state){case T.BEGIN:if(n.state=T.BEGIN_WHITESPACE,a===``)continue;B(n,a);continue;case T.BEGIN_WHITESPACE:B(n,a);continue;case T.TEXT:if(n.sawRoot&&!n.closedRoot){for(var o=r-1;a&&a!==`<`&&a!==`&`;)a=V(e,r++),a&&n.trackPosition&&(n.position++,a===`
|
|
9
|
+
`?(n.line++,n.column=0):n.column++);n.textNode+=e.substring(o,r-1)}a===`<`&&!(n.sawRoot&&n.closedRoot&&!n.strict)?(n.state=T.OPEN_WAKA,n.startTagPosition=n.position):(!b(a)&&(!n.sawRoot||n.closedRoot)&&N(n,`Text data outside of root node.`),a===`&`?n.state=T.TEXT_ENTITY:n.textNode+=a);continue;case T.SCRIPT:a===`<`?n.state=T.SCRIPT_ENDING:n.script+=a;continue;case T.SCRIPT_ENDING:a===`/`?n.state=T.CLOSE_TAG:(n.script+=`<`+a,n.state=T.SCRIPT);continue;case T.OPEN_WAKA:if(a===`!`)n.state=T.SGML_DECL,n.sgmlDecl=``;else if(!b(a))if(C(g,a))n.state=T.OPEN_TAG,n.tagName=a;else if(a===`/`)n.state=T.CLOSE_TAG,n.tagName=``;else if(a===`?`)n.state=T.PROC_INST,n.procInstName=n.procInstBody=``;else{if(N(n,`Unencoded <`),n.startTagPosition+1<n.position){var s=n.position-n.startTagPosition;a=Array(s).join(` `)+a}n.textNode+=`<`+a,n.state=T.TEXT}continue;case T.SGML_DECL:if(n.sgmlDecl+a===`--`){n.state=T.COMMENT,n.comment=``,n.sgmlDecl=``;continue}n.doctype&&n.doctype!==!0&&n.sgmlDecl?(n.state=T.DOCTYPE_DTD,n.doctype+=`<!`+n.sgmlDecl+a,n.sgmlDecl=``):(n.sgmlDecl+a).toUpperCase()===d?(O(n,`onopencdata`),n.state=T.CDATA,n.sgmlDecl=``,n.cdata=``):(n.sgmlDecl+a).toUpperCase()===f?(n.state=T.DOCTYPE,(n.doctype||n.sawRoot)&&N(n,`Inappropriately located doctype declaration`),n.doctype=``,n.sgmlDecl=``):a===`>`?(O(n,`onsgmldeclaration`,n.sgmlDecl),n.sgmlDecl=``,n.state=T.TEXT):(x(a)&&(n.state=T.SGML_DECL_QUOTED),n.sgmlDecl+=a);continue;case T.SGML_DECL_QUOTED:a===n.q&&(n.state=T.SGML_DECL,n.q=``),n.sgmlDecl+=a;continue;case T.DOCTYPE:a===`>`?(n.state=T.TEXT,O(n,`ondoctype`,n.doctype),n.doctype=!0):(n.doctype+=a,a===`[`?n.state=T.DOCTYPE_DTD:x(a)&&(n.state=T.DOCTYPE_QUOTED,n.q=a));continue;case T.DOCTYPE_QUOTED:n.doctype+=a,a===n.q&&(n.q=``,n.state=T.DOCTYPE);continue;case T.DOCTYPE_DTD:a===`]`?(n.doctype+=a,n.state=T.DOCTYPE):a===`<`?(n.state=T.OPEN_WAKA,n.startTagPosition=n.position):x(a)?(n.doctype+=a,n.state=T.DOCTYPE_DTD_QUOTED,n.q=a):n.doctype+=a;continue;case T.DOCTYPE_DTD_QUOTED:n.doctype+=a,a===n.q&&(n.state=T.DOCTYPE_DTD,n.q=``);continue;case T.COMMENT:a===`-`?n.state=T.COMMENT_ENDING:n.comment+=a;continue;case T.COMMENT_ENDING:a===`-`?(n.state=T.COMMENT_ENDED,n.comment=A(n.opt,n.comment),n.comment&&O(n,`oncomment`,n.comment),n.comment=``):(n.comment+=`-`+a,n.state=T.COMMENT);continue;case T.COMMENT_ENDED:a===`>`?n.doctype&&n.doctype!==!0?n.state=T.DOCTYPE_DTD:n.state=T.TEXT:(N(n,`Malformed comment`),n.comment+=`--`+a,n.state=T.COMMENT);continue;case T.CDATA:for(var o=r-1;a&&a!==`]`;)a=V(e,r++),a&&n.trackPosition&&(n.position++,a===`
|
|
10
|
+
`?(n.line++,n.column=0):n.column++);n.cdata+=e.substring(o,r-1),a===`]`&&(n.state=T.CDATA_ENDING);continue;case T.CDATA_ENDING:a===`]`?n.state=T.CDATA_ENDING_2:(n.cdata+=`]`+a,n.state=T.CDATA);continue;case T.CDATA_ENDING_2:a===`>`?(n.cdata&&O(n,`oncdata`,n.cdata),O(n,`onclosecdata`),n.cdata=``,n.state=T.TEXT):a===`]`?n.cdata+=`]`:(n.cdata+=`]]`+a,n.state=T.CDATA);continue;case T.PROC_INST:a===`?`?n.state=T.PROC_INST_ENDING:b(a)?n.state=T.PROC_INST_BODY:n.procInstName+=a;continue;case T.PROC_INST_BODY:if(!n.procInstBody&&b(a))continue;a===`?`?n.state=T.PROC_INST_ENDING:n.procInstBody+=a;continue;case T.PROC_INST_ENDING:a===`>`?(O(n,`onprocessinginstruction`,{name:n.procInstName,body:n.procInstBody}),n.procInstName=n.procInstBody=``,n.state=T.TEXT):(n.procInstBody+=`?`+a,n.state=T.PROC_INST_BODY);continue;case T.OPEN_TAG:C(_,a)?n.tagName+=a:(P(n),a===`>`?L(n):a===`/`?n.state=T.OPEN_TAG_SLASH:(b(a)||N(n,`Invalid character in tag name`),n.state=T.ATTRIB));continue;case T.OPEN_TAG_SLASH:a===`>`?(L(n,!0),R(n)):(N(n,`Forward-slash in opening tag not followed by >`),n.state=T.ATTRIB);continue;case T.ATTRIB:if(b(a))continue;a===`>`?L(n):a===`/`?n.state=T.OPEN_TAG_SLASH:C(g,a)?(n.attribName=a,n.attribValue=``,n.state=T.ATTRIB_NAME):N(n,`Invalid attribute name`);continue;case T.ATTRIB_NAME:a===`=`?n.state=T.ATTRIB_VALUE:a===`>`?(N(n,`Attribute without value`),n.attribValue=n.attribName,I(n),L(n)):b(a)?n.state=T.ATTRIB_NAME_SAW_WHITE:C(_,a)?n.attribName+=a:N(n,`Invalid attribute name`);continue;case T.ATTRIB_NAME_SAW_WHITE:if(a===`=`)n.state=T.ATTRIB_VALUE;else if(b(a))continue;else N(n,`Attribute without value`),n.tag.attributes[n.attribName]=``,n.attribValue=``,O(n,`onattribute`,{name:n.attribName,value:``}),n.attribName=``,a===`>`?L(n):C(g,a)?(n.attribName=a,n.state=T.ATTRIB_NAME):(N(n,`Invalid attribute name`),n.state=T.ATTRIB);continue;case T.ATTRIB_VALUE:if(b(a))continue;x(a)?(n.q=a,n.state=T.ATTRIB_VALUE_QUOTED):(n.opt.unquotedAttributeValues||j(n,`Unquoted attribute value`),n.state=T.ATTRIB_VALUE_UNQUOTED,n.attribValue=a);continue;case T.ATTRIB_VALUE_QUOTED:if(a!==n.q){a===`&`?n.state=T.ATTRIB_VALUE_ENTITY_Q:n.attribValue+=a;continue}I(n),n.q=``,n.state=T.ATTRIB_VALUE_CLOSED;continue;case T.ATTRIB_VALUE_CLOSED:b(a)?n.state=T.ATTRIB:a===`>`?L(n):a===`/`?n.state=T.OPEN_TAG_SLASH:C(g,a)?(N(n,`No whitespace between attributes`),n.attribName=a,n.attribValue=``,n.state=T.ATTRIB_NAME):N(n,`Invalid attribute name`);continue;case T.ATTRIB_VALUE_UNQUOTED:if(!S(a)){a===`&`?n.state=T.ATTRIB_VALUE_ENTITY_U:n.attribValue+=a;continue}I(n),a===`>`?L(n):n.state=T.ATTRIB;continue;case T.CLOSE_TAG:if(n.tagName)a===`>`?R(n):C(_,a)?n.tagName+=a:n.script?(n.script+=`</`+n.tagName,n.tagName=``,n.state=T.SCRIPT):(b(a)||N(n,`Invalid tagname in closing tag`),n.state=T.CLOSE_TAG_SAW_WHITE);else{if(b(a))continue;w(g,a)?n.script?(n.script+=`</`+a,n.state=T.SCRIPT):N(n,`Invalid tagname in closing tag.`):n.tagName=a}continue;case T.CLOSE_TAG_SAW_WHITE:if(b(a))continue;a===`>`?R(n):N(n,`Invalid characters in closing tag`);continue;case T.TEXT_ENTITY:case T.ATTRIB_VALUE_ENTITY_Q:case T.ATTRIB_VALUE_ENTITY_U:var c,l;switch(n.state){case T.TEXT_ENTITY:c=T.TEXT,l=`textNode`;break;case T.ATTRIB_VALUE_ENTITY_Q:c=T.ATTRIB_VALUE_QUOTED,l=`attribValue`;break;case T.ATTRIB_VALUE_ENTITY_U:c=T.ATTRIB_VALUE_UNQUOTED,l=`attribValue`;break}if(a===`;`){var u=z(n);n.opt.unparsedEntities&&!Object.values(t.XML_ENTITIES).includes(u)?(n.entity=``,n.state=c,n.write(u)):(n[l]+=u,n.entity=``,n.state=c)}else C(n.entity.length?y:v,a)?n.entity+=a:(N(n,`Invalid character in entity name`),n[l]+=`&`+n.entity+a,n.entity=``,n.state=c);continue;default:throw Error(n,`Unknown state: `+n.state)}return n.position>=n.bufferCheckPosition&&i(n),n}String.fromCodePoint||(function(){var e=String.fromCharCode,t=Math.floor,n=function(){var n=16384,r=[],i,a,o=-1,s=arguments.length;if(!s)return``;for(var c=``;++o<s;){var l=Number(arguments[o]);if(!isFinite(l)||l<0||l>1114111||t(l)!==l)throw RangeError(`Invalid code point: `+l);l<=65535?r.push(l):(l-=65536,i=(l>>10)+55296,a=l%1024+56320,r.push(i,a)),(o+1===s||r.length>n)&&(c+=e.apply(null,r),r.length=0)}return c};Object.defineProperty?Object.defineProperty(String,`fromCodePoint`,{value:n,configurable:!0,writable:!0}):String.fromCodePoint=n})()})(t===void 0?t.sax={}:t)}));export{require_sax as t};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import{r as __require,t as __commonJSMin}from"../rolldown-runtime.mjs";import{n as require_commonjs,t as require_lib}from"./css-select.mjs";import{n as require_cjs}from"./css-tree.mjs";import{t as require_cjs$1}from"./csso.mjs";import{t as require_sax}from"./sax.mjs";var require_svgo_node=__commonJSMin((t=>{var s=__require(`os`),c=__require(`fs/promises`),l=__require(`path`),u=require_lib(),d=require_commonjs(),f=require_cjs(),p=require_cjs$1(),m=require_sax(),h=__require(`url`);function g(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if(n!==`default`){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var _=g(d),v=g(f),y=g(p);let b=Symbol(),x=(e,t,n)=>{let r=t[e.type];if(!(r?.enter&&r.enter(e,n)===b)){if(e.type===`root`)for(let n of e.children)x(n,t,e);if(e.type===`element`&&n.children.includes(e))for(let n of e.children)x(n,t,e);r?.exit&&r.exit(e,n)}},S=(e,t,n,r,i)=>{for(let a of n){let n=r?.[a.name];if(n===!1)continue;let o={...a.params,...i,...n},s=a.fn(e,o,t);s!=null&&x(e,s)}},ee=({name:e,plugins:t})=>({name:e,isPreset:!0,plugins:Object.freeze(t),fn:(n,r,i)=>{let{floatPrecision:a,overrides:o}=r,s={};if(a!=null&&(s.floatPrecision=a),o){let n=t.map((({name:e})=>e));for(let t of Object.keys(o))n.includes(t)||console.warn(`You are trying to configure ${t} which is not part of ${e}.\nTry to put it before or after, for example\n\nplugins: [\n {\n name: '${e}',\n },\n '${t}'\n]\n`)}S(n,i,t,o,s)}});function C(e){let t=new Map;for(let n of e.children)t.set(n,e),x(n,{element:{enter:(e,n)=>{t.set(e,n)}}},e);return t}let w=e=>e.type===`element`,T=(e,t)=>t.some((t=>w(t)&&(e(t)||T(e,D(t))))),E=(e,t)=>e.attributes[t],D=e=>e.children||[],te=e=>e.name,ne=e=>e.children[0].type===`text`||e.children[0].type===`cdata`?e.children[0].value:``,re=(e,t)=>e.attributes[t]!==void 0,ie=(e,t)=>{let n=[];for(let r of t)w(r)&&(e(r)&&n.push(r),n.push(...ie(e,D(r))));return n},ae=(e,t)=>{for(let n of t)if(w(n)){if(e(n))return n;let t=ae(e,D(n));if(t)return t}return null};function oe(e,t){let n=n=>(t||=C(e),t.get(n)||null);return{isTag:w,existsOne:T,getAttributeValue:E,getChildren:D,getName:te,getParent:n,getSiblings:e=>{let t=n(e);return t?D(t):[]},getText:ne,hasAttrib:re,removeSubsets:e=>{let t=e.length,r,i,a;for(;--t>-1;){for(r=i=e[t],e[t]=null,a=!0;i;){if(e.includes(i)){a=!1,e.splice(t,1);break}i=n(i)}a&&(e[t]=r)}return e},findAll:ie,findOne:ae}}function se(e,t){return{xmlMode:!0,adapter:oe(e,t)}}let O=(e,t,n)=>u.selectAll(t,e,se(e,n)),ce=(e,t,n)=>u.selectOne(t,e,se(e,n)),le=(e,t,n)=>u.is(e,t,se(e,n)),k=(e,t)=>{t.children=t.children.filter((t=>t!==e))};var ue=Object.freeze({__proto__:null,description:`removes doctype declaration`,fn:()=>({doctype:{enter:(e,t)=>{k(e,t)}}}),name:`removeDoctype`}),de=Object.freeze({__proto__:null,description:`removes XML processing instructions`,fn:()=>({instruction:{enter:(e,t)=>{e.name===`xml`&&k(e,t)}}}),name:`removeXMLProcInst`});let fe=[/^!/];var pe=Object.freeze({__proto__:null,description:`removes comments`,fn:(e,t)=>{let{preservePatterns:n=fe}=t;return{comment:{enter:(e,t)=>{if(n){if(!Array.isArray(n))throw Error(`Expected array in removeComments preservePatterns parameter but received ${n}`);if(n.some((t=>new RegExp(t).test(e.value))))return}k(e,t)}}}},name:`removeComments`});let A={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`])},me=new Set([...A.textContent,`pre`,`title`]),he=new Set([`glyph`,`missing-glyph`,`path`]),j={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`.split(`.`)),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`.split(`.`)),filterPrimitive:new Set([`x`,`y`,`width`,`height`,`result`]),transferFunction:new Set([`amplitude`,`exponent`,`intercept`,`offset`,`slope`,`tableValues`,`type`])},ge={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`}},_e={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`])}},ve={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`.split(`.`)),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`])}}},ye=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`]),M=new Set([`clip-path`,`color-profile`,`fill`,`filter`,`marker-end`,`marker-mid`,`marker-start`,`mask`,`stroke`,`style`]),N=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`.split(`.`)),be=new Set([`clip-path`,`display`,`filter`,`mask`,`opacity`,`text-decoration`,`transform`,`unicode-bidi`]),xe={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`},Se={"#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`},Ce=new Set([`color`,`fill`,`flood-color`,`lighting-color`,`stop-color`,`stroke`]),we={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`])};var Te=Object.freeze({__proto__:null,attrsGroups:j,attrsGroupsDefaults:ge,attrsGroupsDeprecated:_e,colorsNames:xe,colorsProps:Ce,colorsShortNames:Se,editorNamespaces:ye,elems:ve,elemsGroups:A,inheritableAttrs:N,pathElems:he,presentationNonInheritableGroupAttrs:be,pseudoClasses:we,referencesProps:M,textElems:me});let Ee=v.walk.skip,De=(e,t)=>{let n=[];e.block.children.forEach((e=>{e.type===`Declaration`&&n.push({name:e.property,value:v.generate(e.value),important:e.important===!0})}));let r=[];return v.walk(e.prelude,(e=>{if(e.type===`Selector`){let i=v.clone(e),a=!1;v.walk(i,((e,t,n)=>{e.type===`PseudoClassSelector`&&(a=!0,n.remove(t))})),r.push({specificity:p.syntax.specificity(e),dynamic:a||t,selector:v.generate(i),declarations:n})}})),r},Oe=(e,t)=>{let n=[],r=v.parse(e,{parseValue:!1,parseAtrulePrelude:!1});return v.walk(r,(e=>{if(e.type===`Rule`)return n.push(...De(e,t||!1)),Ee;if(e.type===`Atrule`)return[`keyframes`,`-webkit-keyframes`,`-o-keyframes`,`-moz-keyframes`].includes(e.name)||v.walk(e,(e=>{if(e.type===`Rule`)return n.push(...De(e,t||!0)),Ee})),Ee})),n},ke=e=>{let t=[],n=v.parse(e,{context:`declarationList`,parseValue:!1});return v.walk(n,(e=>{e.type===`Declaration`&&t.push({name:e.property,value:v.generate(e.value),important:e.important===!0})})),t},Ae=(e,t,n)=>{let r={},i=new Map;for(let[e,n]of Object.entries(t.attributes))j.presentation.has(e)&&(r[e]={type:`static`,inherited:!1,value:n},i.set(e,!1));for(let{selector:a,declarations:o,dynamic:s}of e.rules)if(le(t,a,n))for(let{name:e,value:t,important:n}of o){let a=r[e];if(!(a&&a.type===`dynamic`)){if(s){r[e]={type:`dynamic`,inherited:!1};continue}(a==null||n===!0||i.get(e)===!1)&&(r[e]={type:`static`,inherited:!1,value:t},i.set(e,n))}}let a=t.attributes.style==null?[]:ke(t.attributes.style);for(let{name:e,value:t,important:n}of a){let a=r[e];a&&a.type===`dynamic`||(a==null||n===!0||i.get(e)===!1)&&(r[e]={type:`static`,inherited:!1,value:t},i.set(e,n))}return r},je=(e,t)=>{for(let n=0;n<4;n+=1){if(e[n]<t[n])return-1;if(e[n]>t[n])return 1}return 0},P=e=>{let t=[],n=new Map;return x(e,{element:{enter:(e,r)=>{if(n.set(e,r),e.name===`style`&&(e.attributes.type==null||e.attributes.type===``||e.attributes.type===`text/css`)){let n=e.attributes.media!=null&&e.attributes.media!==`all`;for(let r of e.children)r.type!==`text`&&r.type!==`cdata`||t.push(...Oe(r.value,n))}}}}),t.sort(((e,t)=>je(e.specificity,t.specificity))),{rules:t,parents:n}},F=(e,t)=>{let{parents:n}=e,r=Ae(e,t,n),i=n.get(t);for(;i!=null&&i.type!==`root`;){let t=Ae(e,i,n);for(let[e,n]of Object.entries(t))r[e]==null&&N.has(e)&&!be.has(e)&&(r[e]={...n,inherited:!0});i=n.get(i)}return r},Me=(e,t,n=null,r=!1)=>{let i=typeof e==`string`?_.parse(e):_.parse(v.generate(e.data));for(let e of i)if(e.some(((i,a)=>r&&(a===e.length-1||!_.isTraversal(e[a+1]))||i.type!==`attribute`||i.name!==t?!1:n==null||i.value===n)))return!0;return!1};function Ne(e){let t=new Set;return e.rules.forEach((e=>{_.parse(e.selector).forEach((e=>{e.forEach((e=>{e.type===`attribute`&&t.add(e.name)}))}))})),t}function Pe(e,t,n,r){t&&(t.safe&&t.safe.forEach((t=>{r.has(t)||delete e.attributes[t]})),n.removeUnsafe&&t.unsafe&&t.unsafe.forEach((t=>{r.has(t)||delete e.attributes[t]})))}function Fe(e,t){let n=Ne(P(e));return{element:{enter:e=>{let r=ve[e.name];r&&(r.attrsGroups.has(`core`)&&e.attributes[`xml:lang`]&&!n.has(`xml:lang`)&&e.attributes.lang&&delete e.attributes[`xml:lang`],r.attrsGroups.forEach((r=>{Pe(e,_e[r],t,n)})),Pe(e,r.deprecated,t,n))}}}}var Ie=Object.freeze({__proto__:null,description:`removes deprecated attributes`,fn:Fe,name:`removeDeprecatedAttrs`}),Le=Object.freeze({__proto__:null,description:`removes <metadata>`,fn:()=>({element:{enter:(e,t)=>{e.name===`metadata`&&k(e,t)}}}),name:`removeMetadata`}),Re=Object.freeze({__proto__:null,description:`removes editors namespaces, elements and attributes`,fn:(e,t)=>{let n=[...ye];Array.isArray(t.additionalNamespaces)&&(n=[...ye,...t.additionalNamespaces]);let r=[];return{element:{enter:(e,t)=>{if(e.name===`svg`)for(let[t,i]of Object.entries(e.attributes))t.startsWith(`xmlns:`)&&n.includes(i)&&(r.push(t.slice(6)),delete e.attributes[t]);for(let t of Object.keys(e.attributes))if(t.includes(`:`)){let[n]=t.split(`:`);r.includes(n)&&delete e.attributes[t]}if(e.name.includes(`:`)){let[n]=e.name.split(`:`);r.includes(n)&&k(e,t)}}}}},name:`removeEditorsNSData`});let ze=/(\S)\r?\n(\S)/g,Be=/\r?\n/g,Ve=/\s{2,}/g;var He=Object.freeze({__proto__:null,description:`cleanups attributes from newlines, trailing and repeating spaces`,fn:(e,t)=>{let{newlines:n=!0,trim:r=!0,spaces:i=!0}=t;return{element:{enter:e=>{for(let t of Object.keys(e.attributes))n&&(e.attributes[t]=e.attributes[t].replace(ze,((e,t,n)=>t+` `+n)),e.attributes[t]=e.attributes[t].replace(Be,``)),r&&(e.attributes[t]=e.attributes[t].trim()),i&&(e.attributes[t]=e.attributes[t].replace(Ve,` `))}}}},name:`cleanupAttrs`}),Ue=Object.freeze({__proto__:null,description:`merge multiple style elements into one`,fn:()=>{let e=null,t=``,n=`text`;return{element:{enter:(r,i)=>{if(r.name===`foreignObject`)return b;if(r.name!==`style`||r.attributes.type!=null&&r.attributes.type!==``&&r.attributes.type!==`text/css`)return;let a=``;for(let e of r.children)e.type===`text`&&(a+=e.value),e.type===`cdata`&&(n=`cdata`,a+=e.value);if(a.trim().length===0){k(r,i);return}r.attributes.media==null?t+=a:(t+=`@media ${r.attributes.media}{${a}}`,delete r.attributes.media),e==null?e=r:(k(r,i),e.children=[{type:n,value:t}])}}}},name:`mergeStyles`});let We=[...we.functional,...we.treeStructural];var Ge=Object.freeze({__proto__:null,description:`inline styles (additional options)`,fn:(e,t)=>{let{onlyMatchedOnce:n=!0,removeMatchedSelectors:r=!0,useMqs:i=[``,`screen`],usePseudos:a=[``]}=t,o=[],s=[];return{element:{enter:(e,t)=>{if(e.name===`foreignObject`)return b;if(e.name!==`style`||e.children.length===0||e.attributes.type!=null&&e.attributes.type!==``&&e.attributes.type!==`text/css`)return;let n=e.children.filter((e=>e.type===`text`||e.type===`cdata`)).map((e=>e.value)).join(``),r=null;try{r=v.parse(n,{parseValue:!1,parseCustomProperty:!1})}catch{return}r.type===`StyleSheet`&&o.push({node:e,parentNode:t,cssAst:r}),v.walk(r,{visit:`Rule`,enter(e){let t=this.atrule,n=``;t!=null&&(n=t.name,t.prelude!=null&&(n+=` ${v.generate(t.prelude)}`)),i.includes(n)&&e.prelude.type===`SelectorList`&&e.prelude.children.forEach(((t,n)=>{if(t.type===`Selector`){let r=[];t.children.forEach(((e,t,n)=>{(e.type===`PseudoClassSelector`||e.type===`PseudoElementSelector`)&&!We.includes(e.name)&&r.push({item:t,list:n})}));let i=v.generate({type:`Selector`,children:new v.List().fromArray(r.map((e=>e.item.data)))});if(a.includes(i))for(let e of r)e.list.remove(e.item);s.push({node:t,rule:e,item:n})}}))}})}},root:{exit:()=>{if(o.length===0)return;let t=s.slice().sort(((e,t)=>je(p.syntax.specificity(e.item.data),p.syntax.specificity(t.item.data)))).reverse();for(let i of t){let t=v.generate(i.item.data),a=[];try{for(let n of O(e,t))n.type===`element`&&a.push(n)}catch{continue}if(a.length!==0&&!(n&&a.length>1)){for(let e of a){let t=v.parse(e.attributes.style??``,{context:`declarationList`,parseValue:!1});if(t.type!==`DeclarationList`)continue;let n=new Map,r;v.walk(t,{visit:`Declaration`,enter(e,t){r??=t,n.set(e.property.toLowerCase(),t)}}),v.walk(i.rule,{visit:`Declaration`,enter(i){let a=i.property;j.presentation.has(a)&&!s.some((e=>Me(e.item,a)))&&delete e.attributes[a];let o=n.get(a),c=t.children.createItem(i);o==null?t.children.insert(c,r):o.data.important!==!0&&i.important===!0&&(t.children.replace(o,c),n.set(a,c))}});let a=v.generate(t);a.length!==0&&(e.attributes.style=a)}r&&a.length!==0&&i.rule.prelude.type===`SelectorList`&&i.rule.prelude.children.remove(i.item),i.matchedElements=a}}if(r){for(let e of t)if(e.matchedElements!=null&&!(n&&e.matchedElements.length>1))for(let t of e.matchedElements){let n=new Set(t.attributes.class==null?null:t.attributes.class.split(` `));for(let t of e.node.children)t.type!==`ClassSelector`||s.some((e=>Me(e.item,`class`,t.name,!0)))||n.delete(t.name);n.size===0?delete t.attributes.class:t.attributes.class=Array.from(n).join(` `);let r=e.node.children.first;r?.type!==`IdSelector`||t.attributes.id!==r.name||s.some((e=>Me(e.item,`id`,r.name,!0)))||delete t.attributes.id}for(let e of o)if(v.walk(e.cssAst,{visit:`Rule`,enter:function(e,t,n){e.type===`Rule`&&e.prelude.type===`SelectorList`&&e.prelude.children.isEmpty&&n.remove(t)}}),e.cssAst.children.isEmpty)k(e.node,e.parentNode);else{let t=e.node.children[0];t.type!==`text`&&t.type!==`cdata`||(t.value=v.generate(e.cssAst))}}}}}},name:`inlineStyles`});let Ke=/\burl\((["'])?#(.+?)\1\)/g,qe=/^#(.+?)$/,Je=/(\w+)\.[a-zA-Z]/,Ye=(e,t)=>{let n=`data:image/svg+xml`;return t&&t!==`base64`?t===`enc`?e=n+`,`+encodeURIComponent(e):t===`unenc`&&(e=n+`,`+e):(n+=`;base64,`,e=n+Buffer.from(e).toString(`base64`)),e},I=(e,t,n)=>{let r=``,i,a;return e.forEach(((e,n)=>{i=` `,n==0&&(i=``),t.noSpaceAfterFlags;let o=t.leadingZero?L(e):e.toString();t.negativeExtraSpace&&i!=``&&(e<0||o.charAt(0)===`.`&&a%1!=0)&&(i=``),a=e,r+=i+o})),r},L=e=>{let t=e.toString();return 0<e&&e<1&&t.startsWith(`0`)?t.slice(1):-1<e&&e<0&&t[1]===`0`?t[0]+t.slice(2):t},Xe=e=>e.name===`script`&&e.children.length!==0||e.name===`a`&&Object.entries(e.attributes).some((([e,t])=>(e===`href`||e.endsWith(`:href`))&&t!=null&&t.trimStart().startsWith(`javascript:`)))?!0:[...j.animationEvent,...j.documentEvent,...j.documentElementEvent,...j.globalEvent,...j.graphicalEvent].some((t=>e.attributes[t]!=null)),Ze=e=>new RegExp(Ke).test(e),Qe=(e,t)=>{let n=[];if(M.has(e)){let e=t.matchAll(Ke);for(let t of e)n.push(t[2])}if(e===`href`||e.endsWith(`:href`)){let e=qe.exec(t);e!=null&&n.push(e[1])}if(e===`begin`){let e=Je.exec(t);e!=null&&n.push(e[1])}return n.map((e=>decodeURI(e)))},R=(e,t)=>{let n=10**t;return Math.round(e*n)/n};var $e=Object.freeze({__proto__:null,description:`minifies styles and removes unused styles`,fn:(e,{usage:t,...n})=>{let r=new Map,i=[],a=new Set,o=new Set,s=new Set,c=!0,l=!0,u=!0,d=!1;typeof t==`boolean`?(c=t,l=t,u=t):t&&(c=t.tags==null||t.tags,l=t.ids==null||t.ids,u=t.classes==null||t.classes,d=t.force!=null&&t.force);let f=!1;return{element:{enter:(e,t)=>{if(Xe(e)&&(f=!0),a.add(e.name),e.attributes.id!=null&&o.add(e.attributes.id),e.attributes.class!=null)for(let t of e.attributes.class.split(/\s+/))s.add(t);e.name===`style`&&e.children.length!==0?r.set(e,t):e.attributes.style!=null&&i.push(e)}},root:{exit:()=>{let e={};(!f||d)&&(c&&(e.tags=Array.from(a)),l&&(e.ids=Array.from(o)),u&&(e.classes=Array.from(s)));for(let[t,i]of r.entries())if(t.children[0].type===`text`||t.children[0].type===`cdata`){let r=t.children[0].value,a=y.minify(r,{...n,usage:e}).css;if(a.length===0){k(t,i);continue}r.indexOf(`>`)>=0||r.indexOf(`<`)>=0?(t.children[0].type=`cdata`,t.children[0].value=a):(t.children[0].type=`text`,t.children[0].value=a)}for(let e of i){let t=e.attributes.style;e.attributes.style=y.minifyBlock(t,{...n}).css}}}}},name:`minifyStyles`});let et=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`.split(``),tt=et.length-1,nt=(e,t)=>{for(let n of t)if(e.startsWith(n))return!0;return!1},rt=e=>{if(e==null)return[0];e[e.length-1]+=1;for(let t=e.length-1;t>0;t--)e[t]>tt&&(e[t]=0,e[t-1]!==void 0&&e[t-1]++);return e[0]>tt&&(e[0]=0,e.unshift(0)),e},it=e=>e.map((e=>et[e])).join(``);var at=Object.freeze({__proto__:null,description:`removes unused IDs and minifies used`,fn:(e,t)=>{let{remove:n=!0,minify:r=!0,preserve:i=[],preservePrefixes:a=[],force:o=!1}=t,s=new Set(Array.isArray(i)?i:i?[i]:[]),c=Array.isArray(a)?a:a?[a]:[],l=new Map,u=new Map,d=!1;return{element:{enter:e=>{if(!o){if(e.name===`style`&&e.children.length!==0||Xe(e)){d=!0;return}if(e.name===`svg`){let t=!0;for(let n of e.children)if(n.type!==`element`||n.name!==`defs`){t=!1;break}if(t)return b}}for(let[t,n]of Object.entries(e.attributes))if(t===`id`){let t=n;l.has(t)?delete e.attributes.id:l.set(t,e)}else{let r=Qe(t,n);for(let n of r){let r=u.get(n);r??(r=[],u.set(n,r)),r.push({element:e,name:t})}}}},root:{exit:()=>{if(d)return;let e=e=>s.has(e)||nt(e,c),t=null;for(let[n,i]of u){let a=l.get(n);if(a!=null){if(r&&e(n)===!1){let r;do t=rt(t),r=it(t);while(e(r)||u.has(r)&&l.get(r)==null);a.attributes.id=r;for(let{element:e,name:t}of i){let i=e.attributes[t];i.includes(`#`)?e.attributes[t]=i.replace(`#${encodeURI(n)}`,`#${r}`).replace(`#${n}`,`#${r}`):e.attributes[t]=i.replace(`${n}.`,`${r}.`)}}l.delete(n)}}if(n)for(let[t,n]of l)e(t)===!1&&delete n.attributes.id}}}},name:`cleanupIds`});let ot=()=>({element:{enter:(e,t)=>{if(e.name===`defs`||A.nonRendering.has(e.name)&&e.attributes.id==null){let n=[];st(e,n),n.length===0&&k(e,t),e.children=n}}}}),st=(e,t)=>{for(let n of e.children)n.type===`element`&&(n.attributes.id!=null||n.name===`style`?t.push(n):st(n,t))};var ct=Object.freeze({__proto__:null,description:`removes elements in <defs> without id`,fn:ot,name:`removeUselessDefs`});let lt=/^([-+]?\d*\.?\d+([eE][-+]?\d+)?)(px|pt|pc|mm|cm|m|in|ft|em|ex|%)?$/,ut={cm:96/2.54,mm:96/25.4,in:96,pt:4/3,pc:16,px:1};var dt=Object.freeze({__proto__:null,description:`rounds numeric values to the fixed precision, removes default "px" units`,fn:(e,t)=>{let{floatPrecision:n=3,leadingZero:r=!0,defaultPx:i=!0,convertToPx:a=!0}=t;return{element:{enter:e=>{if(e.attributes.viewBox!=null){let t=e.attributes.viewBox.trim().split(/(?:\s,?|,)\s*/g);e.attributes.viewBox=t.map((e=>{let t=Number(e);return Number.isNaN(t)?e:Number(t.toFixed(n))})).join(` `)}for(let[t,o]of Object.entries(e.attributes)){if(t===`version`)continue;let s=lt.exec(o);if(s){let o=Number(Number(s[1]).toFixed(n)),c=s[3]||``;if(a&&c!==``&&c in ut){let e=Number((ut[c]*Number(s[1])).toFixed(n));e.toString().length<s[0].length&&(o=e,c=`px`)}let l;l=r?L(o):o.toString(),i&&c===`px`&&(c=``),e.attributes[t]=l+c}}}}}},name:`cleanupNumericValues`});let ft=`([+-]?(?:\\d*\\.\\d+|\\d+\\.?)%?)`,pt=`(?:\\s*,\\s*|\\s+)`,mt=RegExp(`^rgb\\(\\s*`+ft+pt+ft+pt+ft+`\\s*\\)$`),ht=/^#(([a-fA-F0-9])\2){3}$/,gt=([e,t,n])=>`#`+((256+e<<8|t)<<8|n).toString(16).slice(1).toUpperCase();var _t=Object.freeze({__proto__:null,description:`converts colors: rgb() to #rrggbb and #rrggbb to #rgb`,fn:(e,t)=>{let{currentColor:n=!1,names2hex:r=!0,rgb2hex:i=!0,convertCase:a=`lower`,shorthex:o=!0,shortname:s=!0}=t,c=0;return{element:{enter:e=>{e.name===`mask`&&c++;for(let[t,l]of Object.entries(e.attributes))if(Ce.has(t)){let u=l;if(n&&c===0){let e;e=typeof n==`string`?u===n:n instanceof RegExp?n.exec(u)!=null:u!==`none`,e&&(u=`currentColor`)}if(r){let e=u.toLowerCase();xe[e]!=null&&(u=xe[e])}if(i){let e=u.match(mt);e!=null&&(u=gt(e.slice(1,4).map((e=>{let t;return t=e.indexOf(`%`)>-1?Math.round(parseFloat(e)*2.55):Number(e),Math.max(0,Math.min(t,255))}))))}if(a&&!Ze(u)&&u!==`currentColor`&&(a===`lower`?u=u.toLowerCase():a===`upper`&&(u=u.toUpperCase())),o){let e=ht.exec(u);e!=null&&(u=`#`+e[0][1]+e[0][3]+e[0][5])}if(s){let e=u.toLowerCase();Se[e]!=null&&(u=Se[e])}e.attributes[t]=u}},exit:e=>{e.name===`mask`&&c--}}}},name:`convertColors`});let vt=new Map,yt=new Map,bt=new Map;for(let[e,t]of Object.entries(ve)){let n=new Set;if(t.content)for(let e of t.content)n.add(e);if(t.contentGroups)for(let e of t.contentGroups){let t=A[e];if(t)for(let e of t)n.add(e)}let r=new Set;if(t.attrs)for(let e of t.attrs)r.add(e);let i=new Map;if(t.defaults)for(let[e,n]of Object.entries(t.defaults))i.set(e,n);for(let e of t.attrsGroups){let t=j[e];if(t)for(let e of t)r.add(e);let n=ge[e];if(n)for(let[e,t]of Object.entries(n))i.set(e,t)}vt.set(e,n),yt.set(e,r),bt.set(e,i)}var xt=Object.freeze({__proto__:null,description:`removes unknown elements content and attributes, removes attrs with default values`,fn:(e,t)=>{let{unknownContent:n=!0,unknownAttrs:r=!0,defaultAttrs:i=!0,defaultMarkupDeclarations:a=!0,uselessOverrides:o=!0,keepDataAttrs:s=!0,keepAriaAttrs:c=!0,keepRoleAttr:l=!1}=t,u=P(e);return{instruction:{enter:e=>{a&&(e.value=e.value.replace(/\s*standalone\s*=\s*(["'])no\1/,``))}},element:{enter:(e,t)=>{if(e.name.includes(`:`))return;if(e.name===`foreignObject`)return b;if(n&&t.type===`element`){let n=vt.get(t.name);if(n==null||n.size===0){if(vt.get(e.name)==null){k(e,t);return}}else if(n.has(e.name)===!1){k(e,t);return}}let a=yt.get(e.name),d=bt.get(e.name),f=t.type===`element`?F(u,t):null;for(let[t,n]of Object.entries(e.attributes))if(!(s&&t.startsWith(`data-`))&&!(c&&t.startsWith(`aria-`))&&!(l&&t===`role`)&&t!==`xmlns`){if(t.includes(`:`)){let[e]=t.split(`:`);if(e!==`xml`&&e!==`xlink`)continue}if(r&&a&&a.has(t)===!1&&delete e.attributes[t],i&&e.attributes.id==null&&d&&d.get(t)===n&&f?.[t]==null&&delete e.attributes[t],o&&e.attributes.id==null){let r=f?.[t];be.has(t)===!1&&r!=null&&r.type===`static`&&r.value===n&&delete e.attributes[t]}}}}}},name:`removeUnknownsAndDefaults`}),St=Object.freeze({__proto__:null,description:`removes non-inheritable group's presentational attributes`,fn:()=>({element:{enter:e=>{if(e.name===`g`)for(let t of Object.keys(e.attributes))!j.presentation.has(t)||N.has(t)||be.has(t)||delete e.attributes[t]}}}),name:`removeNonInheritableGroupAttrs`}),Ct=Object.freeze({__proto__:null,description:`removes useless stroke and fill attributes`,fn:(e,t)=>{let{stroke:n=!0,fill:r=!0,removeNone:i=!1}=t,a=!1;if(x(e,{element:{enter:e=>{(e.name===`style`||Xe(e))&&(a=!0)}}}),a)return null;let o=P(e);return{element:{enter:(e,t)=>{if(e.attributes.id!=null)return b;if(!A.shape.has(e.name))return;let a=F(o,e),s=a.stroke,c=a[`stroke-opacity`],l=a[`stroke-width`],u=a[`marker-end`],d=a.fill,f=a[`fill-opacity`],p=t.type===`element`?F(o,t):null,m=p==null?null:p.stroke;if(n&&(s==null||s.type===`static`&&s.value==`none`||c!=null&&c.type===`static`&&c.value===`0`||l!=null&&l.type===`static`&&l.value===`0`)&&(l!=null&&l.type===`static`&&l.value===`0`||u==null)){for(let t of Object.keys(e.attributes))t.startsWith(`stroke`)&&delete e.attributes[t];m!=null&&m.type===`static`&&m.value!==`none`&&(e.attributes.stroke=`none`)}if(r&&(d!=null&&d.type===`static`&&d.value===`none`||f!=null&&f.type===`static`&&f.value===`0`)){for(let t of Object.keys(e.attributes))t.startsWith(`fill-`)&&delete e.attributes[t];(d==null||d.type===`static`&&d.value!==`none`)&&(e.attributes.fill=`none`)}i&&(s!=null&&e.attributes.stroke!==`none`||(d==null||d.type!==`static`||d.value!==`none`)&&e.attributes.fill!==`none`||k(e,t))}}}},name:`removeUselessStrokeAndFill`});let wt=/^new\s0\s0\s([-+]?\d*\.?\d+([eE][-+]?\d+)?)\s([-+]?\d*\.?\d+([eE][-+]?\d+)?)$/,Tt=e=>{let t=!1;return x(e,{element:{enter:e=>{e.name===`filter`&&(t=!0)}}}),{element:{enter:e=>{let n=null,r=null;if(e.attributes.style!=null&&(n=v.parse(e.attributes.style,{context:`declarationList`}),n.type===`DeclarationList`)){let e=[];v.walk(n,((t,n)=>{t.type===`Declaration`&&t.property===`enable-background`&&(e.push(n),r=n)}));for(let t=0;t<e.length-1;t++)n.children.remove(e[t])}if(!t){delete e.attributes[`enable-background`],n?.type===`DeclarationList`&&(r&&n.children.remove(r),n.children.isEmpty?delete e.attributes.style:e.attributes.style=v.generate(n));return}let i=e.attributes.width!=null&&e.attributes.height!=null;if((e.name===`svg`||e.name===`mask`||e.name===`pattern`)&&i){let t=e.attributes[`enable-background`],i=Et(t,e.name,e.attributes.width,e.attributes.height);if(i?e.attributes[`enable-background`]=i:delete e.attributes[`enable-background`],n?.type===`DeclarationList`&&r){let t=Et(v.generate(r.data.value),e.name,e.attributes.width,e.attributes.height);t?r.data.value={type:`Raw`,value:t}:n.children.remove(r)}}n?.type===`DeclarationList`&&(n.children.isEmpty?delete e.attributes.style:e.attributes.style=v.generate(n))}}}},Et=(e,t,n,r)=>{let i=wt.exec(e);return i!=null&&n===i[1]&&r===i[3]?t===`svg`?void 0:`new`:e};var Dt=Object.freeze({__proto__:null,description:`remove or cleanup enable-background attribute when possible`,fn:Tt,name:`cleanupEnableBackground`});let Ot={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},kt=e=>e in Ot,At=e=>e===` `||e===` `||e===`\r`||e===`
|
|
2
|
+
`,jt=e=>{let t=e.codePointAt(0);return t==null?!1:48<=t&&t<=57},Mt=(e,t)=>{let n=t,r=``,i=`none`;for(;n<e.length;n+=1){let t=e[n];if(t===`+`||t===`-`){if(i===`none`){i=`sign`,r+=t;continue}if(i===`e`){i=`exponent_sign`,r+=t;continue}}if(jt(t)){if(i===`none`||i===`sign`||i===`whole`){i=`whole`,r+=t;continue}if(i===`decimal_point`||i===`decimal`){i=`decimal`,r+=t;continue}if(i===`e`||i===`exponent_sign`||i===`exponent`){i=`exponent`,r+=t;continue}}if(t===`.`&&(i===`none`||i===`sign`||i===`whole`)){i=`decimal_point`,r+=t;continue}if((t===`E`||t==`e`)&&(i===`whole`||i===`decimal_point`||i===`decimal`)){i=`e`,r+=t;continue}break}let a=Number.parseFloat(r);return Number.isNaN(a)?[t,null]:[n-1,a]},Nt=e=>{let t=[],n=null,r=[],i=0,a=!1,o=!1;for(let s=0;s<e.length;s+=1){let c=e.charAt(s);if(At(c))continue;if(a&&c===`,`){if(o)break;o=!0;continue}if(kt(c)){if(o)return t;if(n==null){if(c!==`M`&&c!==`m`)return t}else if(r.length!==0)return t;n=c,r=[],i=Ot[n],a=!1,i===0&&t.push({command:n,args:r});continue}if(n==null)return t;let l=s,u=null;if(n===`A`||n===`a`){let t=r.length;t!==0&&t!==1||c!==`+`&&c!==`-`&&([l,u]=Mt(e,s)),t!==2&&t!==5&&t!==6||([l,u]=Mt(e,s)),(t===3||t===4)&&(c===`0`&&(u=0),c===`1`&&(u=1))}else [l,u]=Mt(e,s);if(u==null)return t;r.push(u),a=!0,o=!1,s=l,r.length===i&&(t.push({command:n,args:r}),n===`M`&&(n=`L`),n===`m`&&(n=`l`),r=[])}return t},Pt=(e,t)=>(t!=null&&(e=R(e,t)),{roundedStr:L(e),rounded:e}),Ft=(e,t,n,r)=>{let i=``,a;for(let o=0;o<t.length;o++){let{roundedStr:s,rounded:c}=Pt(t[o],n);!r||e!==`A`&&e!==`a`||o%7!=4&&o%7!=5?o===0||c<0?i+=s:Number.isInteger(a)||jt(s[0])?i+=` ${s}`:i+=s:i+=s,a=c}return i},z=({pathData:e,precision:t,disableSpaceAfterFlags:n})=>{if(e.length===1){let{command:r,args:i}=e[0];return r+Ft(r,i,t,n)}let r=``,i={...e[0]};e[1].command===`L`?i.command=`M`:e[1].command===`l`&&(i.command=`m`);for(let a=1;a<e.length;a++){let{command:o,args:s}=e[a];i.command===o&&i.command!==`M`&&i.command!==`m`||i.command===`M`&&o===`L`||i.command===`m`&&o===`l`?(i.args=[...i.args,...s],a===e.length-1&&(r+=i.command+Ft(i.command,i.args,t,n))):(r+=i.command+Ft(i.command,i.args,t,n),a===e.length-1?r+=o+Ft(o,s,t,n):i={command:o,args:s})}return r},It=A.nonRendering;var Lt=Object.freeze({__proto__:null,description:`removes hidden elements (zero sized, with absent attributes)`,fn:(e,t)=>{let{isHidden:n=!0,displayNone:r=!0,opacity0:i=!0,circleR0:a=!0,ellipseRX0:o=!0,ellipseRY0:s=!0,rectWidth0:c=!0,rectHeight0:l=!0,patternWidth0:u=!0,patternHeight0:d=!0,imageWidth0:f=!0,imageHeight0:p=!0,pathEmptyD:m=!0,polylineEmptyPoints:h=!0,polygonEmptyPoints:g=!0}=t,_=P(e),v=new Map,y=new Set,S=new Map,ee=new Set,C=new Map,w=!1;function T(e){if(ee.has(e.attributes.id))return!1;for(let t of e.children)if(t.type===`element`&&!T(t))return!1;return!0}function E(e,t){e.type===`element`&&e.attributes.id!=null&&t.type===`element`&&t.name===`defs`&&y.add(e.attributes.id),k(e,t)}return x(e,{element:{enter:(e,t)=>{if(It.has(e.name))return v.set(e,t),b;let n=F(_,e);if(i&&n.opacity&&n.opacity.type===`static`&&n.opacity.value===`0`){if(e.name===`path`)return v.set(e,t),b;E(e,t)}}}}),{element:{enter:(e,t)=>{if(e.name===`style`&&e.children.length!==0||Xe(e)){w=!0;return}if(e.name===`defs`&&S.set(e,t),e.name===`use`)for(let n of Object.keys(e.attributes)){if(n!==`href`&&!n.endsWith(`:href`))continue;let r=e.attributes[n].slice(1),i=C.get(r);i||(i=[],C.set(r,i)),i.push({node:e,parentNode:t})}let i=F(_,e);if(n&&i.visibility&&i.visibility.type===`static`&&i.visibility.value===`hidden`&&ce(e,`[visibility=visible]`)==null){E(e,t);return}if(r&&i.display&&i.display.type===`static`&&i.display.value===`none`&&e.name!==`marker`){E(e,t);return}if(a&&e.name===`circle`&&e.children.length===0&&e.attributes.r===`0`){E(e,t);return}if(o&&e.name===`ellipse`&&e.children.length===0&&e.attributes.rx===`0`){E(e,t);return}if(s&&e.name===`ellipse`&&e.children.length===0&&e.attributes.ry===`0`){E(e,t);return}if(c&&e.name===`rect`&&e.children.length===0&&e.attributes.width===`0`){E(e,t);return}if(l&&c&&e.name===`rect`&&e.children.length===0&&e.attributes.height===`0`){E(e,t);return}if(u&&e.name===`pattern`&&e.attributes.width===`0`){E(e,t);return}if(d&&e.name===`pattern`&&e.attributes.height===`0`){E(e,t);return}if(f&&e.name===`image`&&e.attributes.width===`0`){E(e,t);return}if(p&&e.name===`image`&&e.attributes.height===`0`){E(e,t);return}if(m&&e.name===`path`){if(e.attributes.d==null){E(e,t);return}let n=Nt(e.attributes.d);if(n.length===0){E(e,t);return}if(n.length===1&&i[`marker-start`]==null&&i[`marker-end`]==null){E(e,t);return}}if(h&&e.name===`polyline`&&e.attributes.points==null){E(e,t);return}if(g&&e.name===`polygon`&&e.attributes.points==null){E(e,t);return}for(let[t,n]of Object.entries(e.attributes)){let e=Qe(t,n);for(let t of e)ee.add(t)}}},root:{exit:()=>{for(let e of y){let t=C.get(e);if(t)for(let{node:e,parentNode:n}of t)k(e,n)}if(!w)for(let[e,t]of v.entries())T(e)&&k(e,t);for(let[e,t]of S.entries())e.children.length===0&&k(e,t)}}}},name:`removeHiddenElems`}),Rt=Object.freeze({__proto__:null,description:`removes empty <text> elements`,fn:(e,t)=>{let{text:n=!0,tspan:r=!0,tref:i=!0}=t;return{element:{enter:(e,t)=>{n&&e.name===`text`&&e.children.length===0&&k(e,t),r&&e.name===`tspan`&&e.children.length===0&&k(e,t),i&&e.name===`tref`&&e.attributes[`xlink:href`]==null&&k(e,t)}}}},name:`removeEmptyText`});let zt=/[-+]?(?:\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g;var Bt=Object.freeze({__proto__:null,description:`converts basic shapes to more compact path form`,fn:(e,t)=>{let{convertArcs:n=!1,floatPrecision:r}=t;return{element:{enter:(e,t)=>{if(e.name===`rect`&&e.attributes.width!=null&&e.attributes.height!=null&&e.attributes.rx==null&&e.attributes.ry==null){let t=Number(e.attributes.x||`0`),n=Number(e.attributes.y||`0`),i=Number(e.attributes.width),a=Number(e.attributes.height);if(Number.isNaN(t-n+i-a))return;let o=[{command:`M`,args:[t,n]},{command:`H`,args:[t+i]},{command:`V`,args:[n+a]},{command:`H`,args:[t]},{command:`z`,args:[]}];e.name=`path`,e.attributes.d=z({pathData:o,precision:r}),delete e.attributes.x,delete e.attributes.y,delete e.attributes.width,delete e.attributes.height}if(e.name===`line`){let t=Number(e.attributes.x1||`0`),n=Number(e.attributes.y1||`0`),i=Number(e.attributes.x2||`0`),a=Number(e.attributes.y2||`0`);if(Number.isNaN(t-n+i-a))return;let o=[{command:`M`,args:[t,n]},{command:`L`,args:[i,a]}];e.name=`path`,e.attributes.d=z({pathData:o,precision:r}),delete e.attributes.x1,delete e.attributes.y1,delete e.attributes.x2,delete e.attributes.y2}if((e.name===`polyline`||e.name===`polygon`)&&e.attributes.points!=null){let n=(e.attributes.points.match(zt)||[]).map(Number);if(n.length<4){k(e,t);return}let i=[];for(let e=0;e<n.length;e+=2)i.push({command:e===0?`M`:`L`,args:n.slice(e,e+2)});e.name===`polygon`&&i.push({command:`z`,args:[]}),e.name=`path`,e.attributes.d=z({pathData:i,precision:r}),delete e.attributes.points}if(e.name===`circle`&&n){let t=Number(e.attributes.cx||`0`),n=Number(e.attributes.cy||`0`),i=Number(e.attributes.r||`0`);if(Number.isNaN(t-n+i))return;let a=[{command:`M`,args:[t,n-i]},{command:`A`,args:[i,i,0,1,0,t,n+i]},{command:`A`,args:[i,i,0,1,0,t,n-i]},{command:`z`,args:[]}];e.name=`path`,e.attributes.d=z({pathData:a,precision:r}),delete e.attributes.cx,delete e.attributes.cy,delete e.attributes.r}if(e.name===`ellipse`&&n){let t=Number(e.attributes.cx||`0`),n=Number(e.attributes.cy||`0`),i=Number(e.attributes.rx||`0`),a=Number(e.attributes.ry||`0`);if(Number.isNaN(t-n+i-a))return;let o=[{command:`M`,args:[t,n-a]},{command:`A`,args:[i,a,0,1,0,t,n+a]},{command:`A`,args:[i,a,0,1,0,t,n-a]},{command:`z`,args:[]}];e.name=`path`,e.attributes.d=z({pathData:o,precision:r}),delete e.attributes.cx,delete e.attributes.cy,delete e.attributes.rx,delete e.attributes.ry}}}}},name:`convertShapeToPath`}),Vt=Object.freeze({__proto__:null,description:`converts non-eccentric <ellipse>s to <circle>s`,fn:()=>({element:{enter:e=>{if(e.name===`ellipse`){let t=e.attributes.rx||`0`,n=e.attributes.ry||`0`;if(t===n||t===`auto`||n===`auto`){e.name=`circle`;let r=t===`auto`?n:t;delete e.attributes.rx,delete e.attributes.ry,e.attributes.r=r}}}}}),name:`convertEllipseToCircle`}),Ht=Object.freeze({__proto__:null,description:`Move common attributes of group children to the group`,fn:e=>{let t=!1;return x(e,{element:{enter:e=>{e.name===`style`&&(t=!0)}}}),{element:{exit:e=>{if(e.name!==`g`||e.children.length<=1||t)return;let n=new Map,r=!0,i=!0;for(let t of e.children)if(t.type===`element`)if(he.has(t.name)||(i=!1),r){r=!1;for(let[e,r]of Object.entries(t.attributes))N.has(e)&&n.set(e,r)}else for(let[e,r]of n)t.attributes[e]!==r&&n.delete(e);e.attributes.filter==null&&e.attributes[`clip-path`]==null&&e.attributes.mask==null||n.delete(`transform`),i&&n.delete(`transform`);for(let[t,r]of n)t===`transform`?e.attributes.transform==null?e.attributes.transform=r:e.attributes.transform=`${e.attributes.transform} ${r}`:e.attributes[t]=r;for(let t of e.children)if(t.type===`element`)for(let[e]of n)delete t.attributes[e]}}}},name:`moveElemsAttrsToGroup`});let Ut=[...he,`g`,`text`];var Wt=Object.freeze({__proto__:null,description:`moves some group attributes to the content elements`,fn:()=>({element:{enter:e=>{if(e.name===`g`&&e.children.length!==0&&e.attributes.transform!=null&&Object.entries(e.attributes).some((([e,t])=>M.has(e)&&Ze(t)))===!1&&e.children.every((e=>e.type===`element`&&Ut.includes(e.name)&&e.attributes.id==null))){for(let t of e.children){let n=e.attributes.transform;t.type===`element`&&(t.attributes.transform==null?t.attributes.transform=n:t.attributes.transform=`${n} ${t.attributes.transform}`)}delete e.attributes.transform}}}}),name:`moveGroupAttrsToElems`});let Gt=(e,t)=>{if(e.type===`element`){if(A.animation.has(e.name)&&e.attributes.attributeName===t)return!0;for(let n of e.children)if(Gt(n,t))return!0}return!1};var Kt=Object.freeze({__proto__:null,description:`collapses useless groups`,fn:e=>{let t=P(e);return{element:{exit:(e,n)=>{if(!(n.type===`root`||n.name===`switch`)&&!(e.name!==`g`||e.children.length===0)){if(Object.keys(e.attributes).length!==0&&e.children.length===1){let n=e.children[0],r=!!(e.attributes.filter||F(t,e).filter);if(n.type===`element`&&n.attributes.id==null&&!r&&(e.attributes.class==null||n.attributes.class==null)&&(e.attributes[`clip-path`]==null&&e.attributes.mask==null||n.name===`g`&&e.attributes.transform==null&&n.attributes.transform==null)){let t={...n.attributes};for(let[r,i]of Object.entries(e.attributes)){if(Gt(n,r))return;if(t[r]==null)t[r]=i;else if(r===`transform`)t[r]=i+` `+t[r];else if(t[r]===`inherit`)t[r]=i;else if(!N.has(r)&&t[r]!==i)return}e.attributes={},n.attributes=t}}if(Object.keys(e.attributes).length===0){for(let t of e.children)if(t.type===`element`&&A.animation.has(t.name))return;let t=n.children.indexOf(e);n.children.splice(t,1,...e.children)}}}}}},name:`collapseGroups`});let B,qt=e=>{if(e.pathJS)return e.pathJS;let t=[],n=Nt(e.attributes.d);for(let{command:e,args:r}of n)t.push({command:e,args:r});return t.length&&t[0].command==`m`&&(t[0].command=`M`),e.pathJS=t,t},Jt=e=>{let t=[],n=[0,0],r=[0,0];for(let{command:i,args:a}of e)a=a.slice(),i===`m`&&(a[0]+=r[0],a[1]+=r[1],i=`M`),i===`M`&&(r[0]=a[0],r[1]=a[1],n[0]=r[0],n[1]=r[1]),i===`h`&&(a[0]+=r[0],i=`H`),i===`H`&&(r[0]=a[0]),i===`v`&&(a[0]+=r[1],i=`V`),i===`V`&&(r[1]=a[0]),i===`l`&&(a[0]+=r[0],a[1]+=r[1],i=`L`),i===`L`&&(r[0]=a[0],r[1]=a[1]),i===`c`&&(a[0]+=r[0],a[1]+=r[1],a[2]+=r[0],a[3]+=r[1],a[4]+=r[0],a[5]+=r[1],i=`C`),i===`C`&&(r[0]=a[4],r[1]=a[5]),i===`s`&&(a[0]+=r[0],a[1]+=r[1],a[2]+=r[0],a[3]+=r[1],i=`S`),i===`S`&&(r[0]=a[2],r[1]=a[3]),i===`q`&&(a[0]+=r[0],a[1]+=r[1],a[2]+=r[0],a[3]+=r[1],i=`Q`),i===`Q`&&(r[0]=a[2],r[1]=a[3]),i===`t`&&(a[0]+=r[0],a[1]+=r[1],i=`T`),i===`T`&&(r[0]=a[0],r[1]=a[1]),i===`a`&&(a[5]+=r[0],a[6]+=r[1],i=`A`),i===`A`&&(r[0]=a[5],r[1]=a[6]),(i===`z`||i===`Z`)&&(r[0]=n[0],r[1]=n[1],i=`z`),t.push({command:i,args:a});return t},Yt=function(e,t,n){e.pathJS=t;let r=[];for(let e of t){if(r.length!==0&&(e.command===`M`||e.command===`m`)){let e=r[r.length-1];e.command!==`M`&&e.command!==`m`||r.pop()}r.push({command:e.command,args:e.args})}e.attributes.d=z({pathData:r,precision:n.floatPrecision,disableSpaceAfterFlags:n.noSpaceAfterFlags})};function V(e,t){return e[0]=t[t.length-2],e[1]=t[t.length-1],e}let Xt=function(e,t){let n=en(Jt(e)),r=en(Jt(t));if(n.maxX<=r.minX||r.maxX<=n.minX||n.maxY<=r.minY||r.maxY<=n.minY||n.list.every((e=>r.list.every((t=>e.list[e.maxX][0]<=t.list[t.minX][0]||t.list[t.maxX][0]<=e.list[e.minX][0]||e.list[e.maxY][1]<=t.list[t.minY][1]||t.list[t.maxY][1]<=e.list[e.minY][1])))))return!1;let i=n.list.map(tn),a=r.list.map(tn);return i.some((function(e){return e.list.length<3?!1:a.some((function(t){if(t.list.length<3)return!1;let n=[o(e,t,[1,0])],r=H(n[0]),i=1e4;for(;;){if(i--==0)return console.error(`Error: infinite loop while processing mergePaths plugin.`),!0;if(n.push(o(e,t,r)),U(r,n[n.length-1])<=0)return!1;if(Zt(n,r))return!0}}))}));function o(e,t,n){return Qt(s(e,n),s(t,H(n)))}function s(e,t){let n=t[1]>=0?t[0]<0?e.maxY:e.maxX:t[0]<0?e.minX:e.minY,r=-1/0,i;for(;(i=U(e.list[n],t))>r;)r=i,n=++n%e.list.length;return e.list[(n||e.list.length)-1]}};function Zt(e,t){if(e.length==2){let n=e[1],r=e[0],i=H(e[1]),a=Qt(r,n);U(i,a)>0?V(t,$t(a,n)):(V(t,i),e.shift())}else{let n=e[2],r=e[1],i=e[0],a=Qt(r,n),o=Qt(i,n),s=H(n),c=$t(a,o),l=$t(o,a);if(U(c,s)>0)U(a,s)>0?(V(t,c),e.shift()):(V(t,s),e.splice(0,2));else{if(!(U(l,s)>0))return!0;U(o,s)>0?(V(t,l),e.splice(1,1)):(V(t,s),e.splice(0,2))}}return!1}function H(e){return[-e[0],-e[1]]}function Qt(e,t){return[e[0]-t[0],e[1]-t[1]]}function U(e,t){return e[0]*t[0]+e[1]*t[1]}function $t(e,t){let n=[-e[1],e[0]];return U(n,H(t))<0?H(n):n}function en(e){let t={list:[],minX:0,minY:0,maxX:0,maxY:0},n=(e,n)=>{(!e.list.length||n[1]>e.list[e.maxY][1])&&(e.maxY=e.list.length,t.maxY=t.list.length?Math.max(n[1],t.maxY):n[1]),(!e.list.length||n[0]>e.list[e.maxX][0])&&(e.maxX=e.list.length,t.maxX=t.list.length?Math.max(n[0],t.maxX):n[0]),(!e.list.length||n[1]<e.list[e.minY][1])&&(e.minY=e.list.length,t.minY=t.list.length?Math.min(n[1],t.minY):n[1]),(!e.list.length||n[0]<e.list[e.minX][0])&&(e.minX=e.list.length,t.minX=t.list.length?Math.min(n[0],t.minX):n[0]),e.list.push(n)};for(let i=0;i<e.length;i+=1){let a=e[i],o=t.list.length===0?{list:[],minX:0,minY:0,maxX:0,maxY:0}:t.list[t.list.length-1],s=i===0?null:e[i-1],c=o.list.length===0?null:o.list[o.list.length-1],l=a.args,u=c,d=(e,t)=>e+(c==null?0:c[t%2]);switch(a.command){case`M`:o={list:[],minX:0,minY:0,maxX:0,maxY:0},t.list.push(o);break;case`H`:c!=null&&n(o,[l[0],c[1]]);break;case`V`:c!=null&&n(o,[c[0],l[0]]);break;case`Q`:n(o,l.slice(0,2)),B=[l[2]-l[0],l[3]-l[1]];break;case`T`:c!=null&&s!=null&&(s.command==`Q`||s.command==`T`)&&(u=[c[0]+B[0],c[1]+B[1]],n(o,u),B=[l[0]-u[0],l[1]-u[1]]);break;case`C`:c!=null&&n(o,[.5*(c[0]+l[0]),.5*(c[1]+l[1])]),n(o,[.5*(l[0]+l[2]),.5*(l[1]+l[3])]),n(o,[.5*(l[2]+l[4]),.5*(l[3]+l[5])]),B=[l[4]-l[2],l[5]-l[3]];break;case`S`:c!=null&&s!=null&&(s.command==`C`||s.command==`S`)&&(n(o,[c[0]+.5*B[0],c[1]+.5*B[1]]),u=[c[0]+B[0],c[1]+B[1]]),u!=null&&n(o,[.5*(u[0]+l[0]),.5*(u[1]+l[1])]),n(o,[.5*(l[0]+l[2]),.5*(l[1]+l[3])]),B=[l[2]-l[0],l[3]-l[1]];break;case`A`:if(c!=null){let e=rn.apply(0,c.concat(l));for(var r;(r=e.splice(0,6).map(d)).length;)c!=null&&n(o,[.5*(c[0]+r[0]),.5*(c[1]+r[1])]),n(o,[.5*(r[0]+r[2]),.5*(r[1]+r[3])]),n(o,[.5*(r[2]+r[4]),.5*(r[3]+r[5])]),e.length&&n(o,c=r.slice(-2))}break}l.length>=2&&n(o,l.slice(-2))}return t}function tn(e){e.list.sort((function(e,t){return e[0]==t[0]?e[1]-t[1]:e[0]-t[0]}));let t=[],n=0,r=0;for(let i=0;i<e.list.length;i++){for(;t.length>=2&&nn(t[t.length-2],t[t.length-1],e.list[i])<=0;)t.pop();e.list[i][1]<e.list[n][1]&&(n=i,r=t.length),t.push(e.list[i])}let i=[],a=e.list.length-1,o=0;for(let t=e.list.length;t--;){for(;i.length>=2&&nn(i[i.length-2],i[i.length-1],e.list[t])<=0;)i.pop();e.list[t][1]>e.list[a][1]&&(a=t,o=i.length),i.push(e.list[t])}i.pop(),t.pop();let s=t.concat(i);return{list:s,minX:0,maxX:t.length,minY:r,maxY:(t.length+o)%s.length}}function nn(e,t,n){return(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0])}let rn=(e,t,n,r,i,a,o,s,c,l)=>{let u=Math.PI*120/180,d=Math.PI/180*(+i||0),f=[],p=(e,t,n)=>e*Math.cos(n)-t*Math.sin(n),m=(e,t,n)=>e*Math.sin(n)+t*Math.cos(n);if(l)_=l[0],v=l[1],h=l[2],g=l[3];else{e=p(e,t,-d),t=m(e,t,-d),s=p(s,c,-d),c=m(s,c,-d);let i=(e-s)/2,l=(t-c)/2,u=i*i/(n*n)+l*l/(r*r);u>1&&(u=Math.sqrt(u),n*=u,r*=u);let f=n*n,y=r*r,b=(a==o?-1:1)*Math.sqrt(Math.abs((f*y-f*l*l-y*i*i)/(f*l*l+y*i*i)));var h=b*n*l/r+(e+s)/2,g=b*-r*i/n+(t+c)/2,_=Math.asin(Number(((t-g)/r).toFixed(9))),v=Math.asin(Number(((c-g)/r).toFixed(9)));_=e<h?Math.PI-_:_,v=s<h?Math.PI-v:v,_<0&&(_=Math.PI*2+_),v<0&&(v=Math.PI*2+v),o&&_>v&&(_-=Math.PI*2),!o&&v>_&&(v-=Math.PI*2)}let y=v-_;if(Math.abs(y)>u){let e=v,t=s,a=c;v=_+u*(o&&v>_?1:-1),s=h+n*Math.cos(v),c=g+r*Math.sin(v),f=rn(s,c,n,r,i,0,o,t,a,[v,e,h,g])}y=v-_;let b=Math.cos(_),x=Math.sin(_),S=Math.cos(v),ee=Math.sin(v),C=Math.tan(y/4),w=4/3*n*C,T=4/3*r*C,E=[-w*x,T*b,s+w*ee-e,c-T*S-t,s-e,c-t];if(l)return E.concat(f);{f=E.concat(f);let e=[];for(let t=0,n=f.length;t<n;t++)e[t]=t%2?m(f[t-1],f[t],d):p(f[t],f[t+1],d);return e}},an=new Set([`matrix`,`rotate`,`scale`,`skewX`,`skewY`,`translate`]),on=/\s*(matrix|translate|scale|rotate|skewX|skewY)\s*\(\s*(.+?)\s*\)[\s,]*/,sn=/[-+]?(?:\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g,cn=e=>{let t=[],n=null;for(let r of e.split(on))if(r)if(an.has(r))n={name:r,data:[]},t.push(n);else{let e;for(;e=sn.exec(r);)e=Number(e),n?.data.push(e)}return n==null||n.data.length==0?[]:t},ln=e=>{let t=e.map((e=>e.name===`matrix`?e.data:vn(e)));return{name:`matrix`,data:t.length>0?t.reduce(bn):[]}},W={rad:e=>e*Math.PI/180,deg:e=>e*180/Math.PI,cos:e=>Math.cos(W.rad(e)),acos:(e,t)=>R(W.deg(Math.acos(e)),t),sin:e=>Math.sin(W.rad(e)),asin:(e,t)=>R(W.deg(Math.asin(e)),t),tan:e=>Math.tan(W.rad(e)),atan:(e,t)=>R(W.deg(Math.atan(e)),t)},un=e=>{let t=[],n=dn(e),r=fn(e);return n&&t.push(n),r&&t.push(r),t},dn=e=>{let[t,n,r,i,a,o]=e.data,s=t*i-n*r;if(s===0)return;let c=Math.hypot(t,n);if(c===0)return;let l=[],u=t/c;if((a||o)&&l.push({name:`translate`,data:[a,o]}),u!==1){let e=Math.acos(u);l.push({name:`rotate`,data:[W.deg(n<0?-e:e),0,0]})}let d=c,f=s/d;d===1&&f===1||l.push({name:`scale`,data:[d,f]});let p=t*r+n*i;return p&&l.push({name:`skewX`,data:[W.deg(Math.atan(p/(t*t+n*n)))]}),l},fn=e=>{let[t,n,r,i,a,o]=e.data,s=t*i-n*r;if(s===0)return;let c=Math.hypot(r,i);if(c===0)return;let l=[];(a||o)&&l.push({name:`translate`,data:[a,o]});let u=Math.PI/2-(i<0?-1:1)*Math.acos(-r/c);l.push({name:`rotate`,data:[W.deg(u),0,0]});let d=s/c,f=c;d===1&&f===1||l.push({name:`scale`,data:[d,f]});let p=t*r+n*i;return p&&l.push({name:`skewY`,data:[W.deg(Math.atan(p/(r*r+i*i)))]}),l},pn=(e,t,n)=>{let r=W.rad(n),i=1-Math.cos(r),a=Math.sin(r),o=(i*t+a*e)/(i*i+a*a);return{name:`rotate`,data:[n,(e-a*o)/i,o]}},mn=e=>{switch(e.name){case`rotate`:case`skewX`:case`skewY`:return e.data[0]===0;case`scale`:return e.data[0]===1&&e.data[1]===1;case`translate`:return e.data[0]===0&&e.data[1]===0}return!1},hn=(e,t)=>{let n=[];for(let r=0;r<e.length;r++){let i=e[r];if(mn(i))continue;let a=i.data;switch(i.name){case`rotate`:switch(a[0]){case 180:case-180:{let t=e[r+1];t&&t.name===`scale`?(n.push(gn(t.data.map((e=>-e)))),r++):n.push({name:`scale`,data:[-1]})}continue}n.push({name:`rotate`,data:a.slice(0,a[1]||a[2]?3:1)});break;case`scale`:n.push(gn(a));break;case`skewX`:case`skewY`:n.push({name:i.name,data:[a[0]]});break;case`translate`:{let i=e[r+1];if(i&&i.name===`rotate`&&i.data[0]!==180&&i.data[0]!==-180&&i.data[0]!==0&&i.data[1]===0&&i.data[2]===0){let e=t[r].data;n.push(pn(e[0],e[1],t[r+1].data[0])),r++;continue}}n.push({name:`translate`,data:a.slice(0,a[1]?2:1)});break}}return n.length?n:[{name:`scale`,data:[1]}]},gn=e=>({name:`scale`,data:e.slice(0,e[0]===e[1]?1:2)}),_n=(e,t)=>{let n=un(e),r,i=Number.MAX_VALUE;for(let e of n){let n=hn(e.map((e=>xn({name:e.name,data:[...e.data]},t))),e),a=Dn(n,t).length;a<i&&(r=n,i=a)}return r??[e]},vn=e=>{if(e.name===`matrix`)return e.data;switch(e.name){case`translate`:return[1,0,0,1,e.data[0],e.data[1]||0];case`scale`:return[e.data[0],0,0,e.data[1]??e.data[0],0,0];case`rotate`:var t=W.cos(e.data[0]),n=W.sin(e.data[0]),r=e.data[1]||0,i=e.data[2]||0;return[t,n,-n,t,(1-t)*r+n*i,(1-t)*i-n*r];case`skewX`:return[1,0,W.tan(e.data[0]),1,0,0];case`skewY`:return[1,W.tan(e.data[0]),0,1,0,0];default:throw Error(`Unknown transform ${e.name}`)}},yn=(e,t,n)=>{let r=t[5]-e[0],i=t[6]-e[1],a=t[0],o=t[1],s=t[2]*Math.PI/180,c=Math.cos(s),l=Math.sin(s);if(a>0&&o>0){let e=(r*c+i*l)**2/(4*a*a)+(i*c-r*l)**2/(4*o*o);e>1&&(e=Math.sqrt(e),a*=e,o*=e)}let u=bn(n,[a*c,a*l,-o*l,o*c,0,0]),d=u[2]*u[2]+u[3]*u[3],f=u[0]*u[0]+u[1]*u[1]+d,p=Math.hypot(u[0]-u[3],u[1]+u[2])*Math.hypot(u[0]+u[3],u[1]-u[2]);if(p){let e=(f+p)/2,n=(f-p)/2,r=Math.abs(e-d)>1e-6,i=(r?e:n)-d,a=u[0]*u[2]+u[1]*u[3],o=u[0]*i+u[2]*a,s=u[1]*i+u[3]*a;t[0]=Math.sqrt(e),t[1]=Math.sqrt(n),t[2]=((r?s<0:o>0)?-1:1)*Math.acos((r?o:s)/Math.hypot(o,s))*180/Math.PI}else t[0]=t[1]=Math.sqrt(f/2),t[2]=0;return n[0]<0!=n[3]<0&&(t[4]=1-t[4]),t},bn=(e,t)=>[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]],xn=(e,t)=>{switch(e.name){case`translate`:e.data=Cn(e.data,t);break;case`rotate`:e.data=[...Sn(e.data.slice(0,1),t),...Cn(e.data.slice(1),t)];break;case`skewX`:case`skewY`:e.data=Sn(e.data,t);break;case`scale`:e.data=wn(e.data,t);break;case`matrix`:e.data=[...wn(e.data.slice(0,4),t),...Cn(e.data.slice(4),t)];break}return e},Sn=(e,t)=>t.degPrecision!=null&&t.degPrecision>=1&&t.floatPrecision<20?En(t.degPrecision,e):Tn(e),Cn=(e,t)=>t.floatPrecision>=1&&t.floatPrecision<20?En(t.floatPrecision,e):Tn(e),wn=(e,t)=>t.transformPrecision>=1&&t.floatPrecision<20?En(t.transformPrecision,e):Tn(e),Tn=e=>e.map(Math.round),En=(e,t)=>{for(let n=t.length,r=+(.1**e).toFixed(e);n--;)if(R(t[n],e)!==t[n]){let i=+t[n].toFixed(e-1);t[n]=+Math.abs(i-t[n]).toFixed(e+1)>=r?+t[n].toFixed(e):i}return t},Dn=(e,t)=>e.map((e=>(xn(e,t),`${e.name}(${I(e.data,t)})`))).join(``),On=/[-+]?(\d*\.\d+|\d+\.?)(?:[eE][-+]?\d+)?/g,kn=(e,t)=>{let n=P(e);return{element:{enter:e=>{if(e.attributes.d==null||e.attributes.id!=null||e.attributes.transform==null||e.attributes.transform===``||e.attributes.style!=null||Object.entries(e.attributes).some((([e,t])=>M.has(e)&&Ze(t))))return;let r=F(n,e),i=r.transform;if(i.type===`static`&&i.value!==e.attributes.transform)return;let a=ln(cn(e.attributes.transform)),o=r.stroke?.type===`static`?r.stroke.value:null,s=r[`stroke-width`]?.type===`static`?r[`stroke-width`].value:null,c=t.transformPrecision;if(r.stroke?.type===`dynamic`||r[`stroke-width`]?.type===`dynamic`)return;let l=Number(Math.hypot(a.data[0],a.data[1]).toFixed(c));if(o&&o!=`none`){if(!t.applyTransformsStroked||(a.data[0]!==a.data[3]||a.data[1]!==-a.data[2])&&(a.data[0]!==-a.data[3]||a.data[1]!==a.data[2]))return;l!==1&&e.attributes[`vector-effect`]!==`non-scaling-stroke`&&(e.attributes[`stroke-width`]=(s||ge.presentation[`stroke-width`]).trim().replace(On,(e=>L(Number(e)*l))),e.attributes[`stroke-dashoffset`]!=null&&(e.attributes[`stroke-dashoffset`]=e.attributes[`stroke-dashoffset`].trim().replace(On,(e=>L(Number(e)*l)))),e.attributes[`stroke-dasharray`]!=null&&(e.attributes[`stroke-dasharray`]=e.attributes[`stroke-dasharray`].trim().replace(On,(e=>L(Number(e)*l)))))}An(qt(e),a.data),delete e.attributes.transform}}}},G=(e,t,n)=>[e[0]*t+e[2]*n+e[4],e[1]*t+e[3]*n+e[5]],K=(e,t,n)=>[e[0]*t+e[2]*n,e[1]*t+e[3]*n],An=(e,t)=>{let n=[0,0],r=[0,0];for(let i of e){let{command:e,args:a}=i;if(e===`M`){r[0]=a[0],r[1]=a[1],n[0]=r[0],n[1]=r[1];let[e,i]=G(t,a[0],a[1]);a[0]=e,a[1]=i}if(e===`m`){r[0]+=a[0],r[1]+=a[1],n[0]=r[0],n[1]=r[1];let[e,i]=K(t,a[0],a[1]);a[0]=e,a[1]=i}if(e===`H`&&(e=`L`,a=[a[0],r[1]]),e===`h`&&(e=`l`,a=[a[0],0]),e===`V`&&(e=`L`,a=[r[0],a[0]]),e===`v`&&(e=`l`,a=[0,a[0]]),e===`L`){r[0]=a[0],r[1]=a[1];let[e,n]=G(t,a[0],a[1]);a[0]=e,a[1]=n}if(e===`l`){r[0]+=a[0],r[1]+=a[1];let[e,n]=K(t,a[0],a[1]);a[0]=e,a[1]=n}if(e===`C`){r[0]=a[4],r[1]=a[5];let[e,n]=G(t,a[0],a[1]),[i,o]=G(t,a[2],a[3]),[s,c]=G(t,a[4],a[5]);a[0]=e,a[1]=n,a[2]=i,a[3]=o,a[4]=s,a[5]=c}if(e===`c`){r[0]+=a[4],r[1]+=a[5];let[e,n]=K(t,a[0],a[1]),[i,o]=K(t,a[2],a[3]),[s,c]=K(t,a[4],a[5]);a[0]=e,a[1]=n,a[2]=i,a[3]=o,a[4]=s,a[5]=c}if(e===`S`){r[0]=a[2],r[1]=a[3];let[e,n]=G(t,a[0],a[1]),[i,o]=G(t,a[2],a[3]);a[0]=e,a[1]=n,a[2]=i,a[3]=o}if(e===`s`){r[0]+=a[2],r[1]+=a[3];let[e,n]=K(t,a[0],a[1]),[i,o]=K(t,a[2],a[3]);a[0]=e,a[1]=n,a[2]=i,a[3]=o}if(e===`Q`){r[0]=a[2],r[1]=a[3];let[e,n]=G(t,a[0],a[1]),[i,o]=G(t,a[2],a[3]);a[0]=e,a[1]=n,a[2]=i,a[3]=o}if(e===`q`){r[0]+=a[2],r[1]+=a[3];let[e,n]=K(t,a[0],a[1]),[i,o]=K(t,a[2],a[3]);a[0]=e,a[1]=n,a[2]=i,a[3]=o}if(e===`T`){r[0]=a[0],r[1]=a[1];let[e,n]=G(t,a[0],a[1]);a[0]=e,a[1]=n}if(e===`t`){r[0]+=a[0],r[1]+=a[1];let[e,n]=K(t,a[0],a[1]);a[0]=e,a[1]=n}if(e===`A`){if(yn(r,a,t),r[0]=a[5],r[1]=a[6],Math.abs(a[2])>80){let e=a[0],t=a[2];a[0]=a[1],a[1]=e,a[2]=t+(t>0?-90:90)}let[e,n]=G(t,a[5],a[6]);a[5]=e,a[6]=n}if(e===`a`){if(yn([0,0],a,t),r[0]+=a[5],r[1]+=a[6],Math.abs(a[2])>80){let e=a[0],t=a[2];a[0]=a[1],a[1]=e,a[2]=t+(t>0?-90:90)}let[e,n]=K(t,a[5],a[6]);a[5]=e,a[6]=n}(e===`z`||e===`Z`)&&(r[0]=n[0],r[1]=n[1]),i.command=e,i.args=a}},q,J,Y,jn,Mn,Nn=(e,t)=>{let{applyTransforms:n=!0,applyTransformsStroked:r=!0,makeArcs:i={threshold:2.5,tolerance:.5},straightCurves:a=!0,convertToQ:o=!0,lineShorthands:s=!0,convertToZ:c=!0,curveSmoothShorthands:l=!0,floatPrecision:u=3,transformPrecision:d=5,smartArcRounding:f=!0,removeUseless:p=!0,collapseRepeated:m=!0,utilizeAbsolute:h=!0,leadingZero:g=!0,negativeExtraSpace:_=!0,noSpaceAfterFlags:v=!1,forceAbsolutePath:y=!1}=t,b={applyTransforms:n,applyTransformsStroked:r,makeArcs:i,straightCurves:a,convertToQ:o,lineShorthands:s,convertToZ:c,curveSmoothShorthands:l,floatPrecision:u,transformPrecision:d,smartArcRounding:f,removeUseless:p,collapseRepeated:m,utilizeAbsolute:h,leadingZero:g,negativeExtraSpace:_,noSpaceAfterFlags:v,forceAbsolutePath:y};n&&x(e,kn(e,{transformPrecision:d,applyTransformsStroked:r}));let S=P(e);return{element:{enter:e=>{if(he.has(e.name)&&e.attributes.d!=null){let t=F(S,e);J=u,Y=J===!1?.01:+(.1**J).toFixed(J),q=J&&J>0&&J<20?zn:Bn,i&&(jn=i.threshold,Mn=i.tolerance);let n=t[`marker-mid`]!=null,r=t.stroke&&(t.stroke.type===`dynamic`||t.stroke.value!==`none`),a=t[`stroke-linecap`]&&(t[`stroke-linecap`].type===`dynamic`||t[`stroke-linecap`].value!==`butt`),o=r&&a,s=!r||t[`stroke-linecap`]?.type===`static`&&t[`stroke-linecap`].value===`round`&&t[`stroke-linejoin`]?.type===`static`&&t[`stroke-linejoin`].value===`round`,c=qt(e);if(c.length){let t=c.some((e=>e.command!==`m`&&e.command!==`M`));Pn(c),c=Fn(c,b,{isSafeToUseZ:s,maybeHasStrokeAndLinecap:o,hasMarkerMid:n}),h&&(c=In(c,b)),(e.attributes[`marker-start`]!=null||e.attributes[`marker-end`]!=null)&&t&&c.every((e=>e.command===`m`||e.command===`M`))&&c.push({command:`z`,args:[]}),Yt(e,c,b)}}}}}},Pn=e=>{let t=[0,0],n=[0,0],r=[0,0];for(let i=0;i<e.length;i+=1){let a=e[i],{command:o,args:s}=a;o===`m`&&(n[0]+=s[0],n[1]+=s[1],t[0]=n[0],t[1]=n[1]),o===`M`&&(i!==0&&(o=`m`),s[0]-=n[0],s[1]-=n[1],n[0]+=s[0],n[1]+=s[1],t[0]=n[0],t[1]=n[1]),o===`l`&&(n[0]+=s[0],n[1]+=s[1]),o===`L`&&(o=`l`,s[0]-=n[0],s[1]-=n[1],n[0]+=s[0],n[1]+=s[1]),o===`h`&&(n[0]+=s[0]),o===`H`&&(o=`h`,s[0]-=n[0],n[0]+=s[0]),o===`v`&&(n[1]+=s[0]),o===`V`&&(o=`v`,s[0]-=n[1],n[1]+=s[0]),o===`c`&&(n[0]+=s[4],n[1]+=s[5]),o===`C`&&(o=`c`,s[0]-=n[0],s[1]-=n[1],s[2]-=n[0],s[3]-=n[1],s[4]-=n[0],s[5]-=n[1],n[0]+=s[4],n[1]+=s[5]),o===`s`&&(n[0]+=s[2],n[1]+=s[3]),o===`S`&&(o=`s`,s[0]-=n[0],s[1]-=n[1],s[2]-=n[0],s[3]-=n[1],n[0]+=s[2],n[1]+=s[3]),o===`q`&&(n[0]+=s[2],n[1]+=s[3]),o===`Q`&&(o=`q`,s[0]-=n[0],s[1]-=n[1],s[2]-=n[0],s[3]-=n[1],n[0]+=s[2],n[1]+=s[3]),o===`t`&&(n[0]+=s[0],n[1]+=s[1]),o===`T`&&(o=`t`,s[0]-=n[0],s[1]-=n[1],n[0]+=s[0],n[1]+=s[1]),o===`a`&&(n[0]+=s[5],n[1]+=s[6]),o===`A`&&(o=`a`,s[5]-=n[0],s[6]-=n[1],n[0]+=s[5],n[1]+=s[6]),(o===`Z`||o===`z`)&&(n[0]=t[0],n[1]=t[1]),a.command=o,a.args=s,a.base=r,a.coords=[n[0],n[1]],r=a.coords}return e};function Fn(e,t,{isSafeToUseZ:n,maybeHasStrokeAndLinecap:r,hasMarkerMid:i}){let a=Xn.bind(null,t),o=[0,0],s=[0,0],c={},l;return e=e.filter((function(e,u,d){let f=l,p=e.command,m=e.args,h=d[u+1];if(p!==`Z`&&p!==`z`){let l=m,_;if(p===`s`){l=[0,0].concat(m);let e=c.args,t=e.length;l[0]=e[t-2]-e[t-4],l[1]=e[t-1]-e[t-3]}if(t.makeArcs&&(p==`c`||p==`s`)&&Ln(l)&&(_=Kn(l))){let t=q([_.radius])[0],n=Yn(l,_),r=l[5]*l[0]-l[4]*l[1]>0?1:0,i={command:`a`,args:[t,t,0,0,r,l[4],l[5]],coords:e.coords.slice(),base:e.base},s=[i],f=[_.center[0]-l[4],_.center[1]-l[5]],v={center:f,radius:_.radius},y=[e],b=0,x=``,S;if(c.command==`c`&&Ln(c.args)&&Jn(c.args,_)||c.command==`a`&&c.sdata&&Jn(c.sdata,_)){y.unshift(c),i.base=c.base,i.args[5]=i.coords[0]-i.base[0],i.args[6]=i.coords[1]-i.base[1];let e=c.command==`a`?c.sdata:c.args,t=Yn(e,{center:[e[4]+_.center[0],e[5]+_.center[1]],radius:_.radius});n+=t,n>Math.PI&&(i.args[3]=1),b=1}for(var g=u;(h=d[++g])&&(h.command===`c`||h.command===`s`);){let e=h.args;if(h.command==`s`&&(S=X({command:`s`,args:h.args.slice()},d[g-1].args),e=S.args,S.args=e.slice(0,2),x=a([S])),!Ln(e)||!qn(e,v)||(n+=Yn(e,v),n-2*Math.PI>.001))break;if(n>Math.PI&&(i.args[3]=1),y.push(h),!(2*Math.PI-n>.001)){i.args[5]=2*(v.center[0]-e[4]),i.args[6]=2*(v.center[1]-e[5]),i.coords=[i.base[0]+i.args[5],i.base[1]+i.args[6]],i={command:`a`,args:[t,t,0,0,r,h.coords[0]-i.coords[0],h.coords[1]-i.coords[1]],coords:h.coords,base:i.coords},s.push(i),g++;break}i.coords=h.coords,i.args[5]=i.coords[0]-i.base[0],i.args[6]=i.coords[1]-i.base[1],f[0]-=e[4],f[1]-=e[5]}if((a(s)+x).length<a(y).length){if(d[g]&&d[g].command==`s`&&X(d[g],d[g-1].args),b){let t=s.shift();q(t.args),o[0]+=t.args[5]-c.args[c.args.length-2],o[1]+=t.args[6]-c.args[c.args.length-1],c.command=`a`,c.args=t.args,e.base=c.coords=t.coords}if(i=s.shift(),y.length==1?e.sdata=l.slice():y.length-1-b>0&&d.splice(u+1,y.length-1-b,...s),!i)return!1;p=`a`,m=i.args,e.coords=i.coords}}if(J!==!1){if(p===`m`||p===`l`||p===`t`||p===`q`||p===`s`||p===`c`)for(let t=m.length;t--;)m[t]+=e.base[t%2]-o[t%2];else p==`h`?m[0]+=e.base[0]-o[0]:p==`v`?m[0]+=e.base[1]-o[1]:p==`a`&&(m[5]+=e.base[0]-o[0],m[6]+=e.base[1]-o[1]);q(m),p==`h`?o[0]+=m[0]:p==`v`?o[1]+=m[0]:(o[0]+=m[m.length-2],o[1]+=m[m.length-1]),q(o),(p===`M`||p===`m`)&&(s[0]=o[0],s[1]=o[1])}let v=p===`a`?Hn(m):void 0;if(t.smartArcRounding&&v!==void 0&&J)for(let e=J;e>=0;e--){let t=R(m[0],e),n=Hn([t,t,...m.slice(2)]);if(!(Math.abs(v-n)<Y))break;m[0]=t,m[1]=t}if(t.straightCurves&&(p===`c`&&Vn(m)||p===`s`&&Vn(l)?(h&&h.command==`s`&&X(h,m),p=`l`,m=m.slice(-2)):p===`q`&&Vn(m)?(h&&h.command==`t`&&X(h,m),p=`l`,m=m.slice(-2)):(p===`t`&&c.command!==`q`&&c.command!==`t`||p===`a`&&(m[0]===0||m[1]===0||v!==void 0&&v<Y))&&(p=`l`,m=m.slice(-2))),t.convertToQ&&p==`c`){let n=.75*(e.base[0]+m[0])-.25*e.base[0],r=.75*(e.base[0]+m[2])-.25*(e.base[0]+m[4]);if(Math.abs(n-r)<Y*2){let i=.75*(e.base[1]+m[1])-.25*e.base[1],a=.75*(e.base[1]+m[3])-.25*(e.base[1]+m[5]);if(Math.abs(i-a)<Y*2){let o=m.slice();o.splice(0,4,n+r-e.base[0],i+a-e.base[1]),q(o);let s=I(m,t).length;I(o,t).length<s&&(p=`q`,m=o,h&&h.command==`s`&&X(h,m))}}}if(t.lineShorthands&&p===`l`&&(m[1]===0?(p=`h`,m.pop()):m[0]===0&&(p=`v`,m.shift())),t.collapseRepeated&&i===!1&&(p===`m`||p===`h`||p===`v`)&&c.command&&p==c.command.toLowerCase()&&(p!=`h`&&p!=`v`||c.args[0]>=0==m[0]>=0))return c.args[0]+=m[0],p!=`h`&&p!=`v`&&(c.args[1]+=m[1]),c.coords=e.coords,d[u]=c,!1;if(t.curveSmoothShorthands&&c.command){if(p===`c`)(c.command===`c`&&Math.abs(m[0]- -(c.args[2]-c.args[4]))<Y&&Math.abs(m[1]- -(c.args[3]-c.args[5]))<Y||c.command===`s`&&Math.abs(m[0]- -(c.args[0]-c.args[2]))<Y&&Math.abs(m[1]- -(c.args[1]-c.args[3]))<Y||c.command!==`c`&&c.command!==`s`&&Math.abs(m[0])<Y&&Math.abs(m[1])<Y)&&(p=`s`,m=m.slice(2));else if(p===`q`){if(c.command===`q`&&Math.abs(m[0]-(c.args[2]-c.args[0]))<Y&&Math.abs(m[1]-(c.args[3]-c.args[1]))<Y)p=`t`,m=m.slice(2);else if(c.command===`t`){let t=Wn(f,e.base),n=[m[0]+e.base[0],m[1]+e.base[1]];Math.abs(t[0]-n[0])<Y&&Math.abs(t[1]-n[1])<Y&&(p=`t`,m=m.slice(2))}}}if(t.removeUseless&&!r&&((p===`l`||p===`h`||p===`v`||p===`q`||p===`t`||p===`c`||p===`s`)&&m.every((function(e){return e===0}))||p===`a`&&m[5]===0&&m[6]===0))return d[u]=c,!1;t.convertToZ&&(n||h?.command===`Z`||h?.command===`z`)&&(p===`l`||p===`h`||p===`v`)&&Math.abs(s[0]-e.coords[0])<Y&&Math.abs(s[1]-e.coords[1])<Y&&(p=`z`,m=[]),e.command=p,e.args=m}else if(o[0]=s[0],o[1]=s[1],c.command===`Z`||c.command===`z`)return!1;return(p===`Z`||p===`z`)&&t.removeUseless&&n&&Math.abs(e.base[0]-e.coords[0])<Y/10&&Math.abs(e.base[1]-e.coords[1])<Y/10?!1:(l=p===`q`?[m[0]+e.base[0],m[1]+e.base[1]]:p===`t`?f?Wn(f,e.base):e.coords:void 0,c=e,!0)})),e}function In(e,t){let n=e[0];return e=e.filter((function(e,r){if(r==0)return!0;if(e.command===`Z`||e.command===`z`)return n=e,!0;let i=e.command,a=e.args,o=a.slice(),s=a.slice();if(i===`m`||i===`l`||i===`t`||i===`q`||i===`s`||i===`c`)for(let t=o.length;t--;)o[t]+=e.base[t%2];else i==`h`?o[0]+=e.base[0]:i==`v`?o[0]+=e.base[1]:i==`a`&&(o[5]+=e.base[0],o[6]+=e.base[1]);q(o),q(s);let c=I(o,t),l=I(s,t);return(t.forceAbsolutePath||c.length<l.length&&!(t.negativeExtraSpace&&i==n.command&&n.command.charCodeAt(0)>96&&c.length==l.length-1&&(a[0]<0||Math.floor(a[0])===0&&!Number.isInteger(a[0])&&n.args[n.args.length-1]%1)))&&(e.command=i.toUpperCase(),e.args=o),n=e,!0})),e}function Ln(e){let t=Rn([0,0,e[2],e[3],e[0],e[1],e[4],e[5]]);return t!=null&&e[2]<t[0]==t[0]<0&&e[3]<t[1]==t[1]<0&&e[4]<t[0]==t[0]<e[0]&&e[5]<t[1]==t[1]<e[1]}function Rn(e){let t=e[1]-e[3],n=e[2]-e[0],r=e[0]*e[3]-e[2]*e[1],i=e[5]-e[7],a=e[6]-e[4],o=e[4]*e[7]-e[5]*e[6],s=t*a-i*n;if(!s)return;let c=[(n*o-a*r)/s,(t*o-i*r)/-s];if(!isNaN(c[0])&&!isNaN(c[1])&&isFinite(c[0])&&isFinite(c[1]))return c}function zn(e){let t=J||0;for(let n=e.length;n-- >0;){let r=R(e[n],t);if(r!==e[n]){let i=R(e[n],t-1);e[n]=R(Math.abs(i-e[n]),t+1)>=Y?r:i}}return e}function Bn(e){for(let t=e.length;t-- >0;)e[t]=Math.round(e[t]);return e}function Vn(e){let t=e.length-2,n=-e[t+1],r=e[t],i=1/(n*n+r*r);if(t<=1||!isFinite(i))return!1;for(;(t-=2)>=0;)if(Math.sqrt((n*e[t]+r*e[t+1])**2*i)>Y)return!1;return!0}function Hn(e){if(e[3]===1)return;let[t,n]=e;if(Math.abs(t-n)>Y)return;let r=Math.hypot(e[5],e[6]);if(!(r>t*2))return t-Math.sqrt(t**2-.25*r**2)}function X(e,t){switch(e.command){case`s`:e.command=`c`;break;case`t`:e.command=`q`;break}return e.args.unshift(t[t.length-2]-t[t.length-4],t[t.length-1]-t[t.length-3]),e}function Un(e,t){return Math.hypot(e[0]-t[0],e[1]-t[1])}function Wn(e,t){return[2*t[0]-e[0],2*t[1]-e[1]]}function Gn(e,t){let n=t*t,r=n*t,i=1-t,a=i*i;return[3*a*t*e[0]+3*i*n*e[2]+r*e[4],3*a*t*e[1]+3*i*n*e[3]+r*e[5]]}function Kn(e){let t=Gn(e,.5),n=[t[0]/2,t[1]/2],r=[(t[0]+e[4])/2,(t[1]+e[5])/2],i=Rn([n[0],n[1],n[0]+n[1],n[1]-n[0],r[0],r[1],r[0]+(r[1]-t[1]),r[1]-(r[0]-t[0])]),a=i&&Un([0,0],i),o=Math.min(jn*Y,Mn*a/100);if(i&&a<0x38d7ea4c68000&&[1/4,3/4].every((function(t){return Math.abs(Un(Gn(e,t),i)-a)<=o})))return{center:i,radius:a}}function qn(e,t){let n=Math.min(jn*Y,Mn*t.radius/100);return[0,1/4,.5,3/4,1].every((function(r){return Math.abs(Un(Gn(e,r),t.center)-t.radius)<=n}))}function Jn(e,t){return qn(e,{center:[t.center[0]+e[4],t.center[1]+e[5]],radius:t.radius})}function Yn(e,t){let n=-t.center[0],r=-t.center[1],i=e[4]-t.center[0],a=e[5]-t.center[1];return Math.acos((n*i+r*a)/Math.sqrt((n*n+r*r)*(i*i+a*a)))}function Xn(e,t){return t.reduce((function(t,n){let r=``;return n.args&&(r=I(q(n.args.slice()),e)),t+n.command+r}),``)}var Zn=Object.freeze({__proto__:null,description:`optimizes path data: writes in shorter form, applies transformations`,fn:Nn,name:`convertPathData`});let Qn=(e,t)=>{let{convertToShorts:n=!0,degPrecision:r,floatPrecision:i=3,transformPrecision:a=5,matrixToTransform:o=!0,shortTranslate:s=!0,shortScale:c=!0,shortRotate:l=!0,removeUseless:u=!0,collapseIntoOne:d=!0,leadingZero:f=!0,negativeExtraSpace:p=!1}=t,m={convertToShorts:n,degPrecision:r,floatPrecision:i,transformPrecision:a,matrixToTransform:o,shortTranslate:s,shortScale:c,shortRotate:l,removeUseless:u,collapseIntoOne:d,leadingZero:f,negativeExtraSpace:p};return{element:{enter:e=>{e.attributes.transform!=null&&$n(e,`transform`,m),e.attributes.gradientTransform!=null&&$n(e,`gradientTransform`,m),e.attributes.patternTransform!=null&&$n(e,`patternTransform`,m)}}}},$n=(e,t,n)=>{let r=cn(e.attributes[t]);n=er(r,n),n.collapseIntoOne&&r.length>1&&(r=[ln(r)]),n.convertToShorts?r=nr(r,n):r.forEach((e=>xn(e,n))),n.removeUseless&&(r=rr(r)),r.length?e.attributes[t]=Dn(r,n):delete e.attributes[t]},er=(e,{...t})=>{let n=[];for(let t of e)t.name==`matrix`&&n.push(...t.data.slice(0,4));let r=t.transformPrecision;return n.length&&(t.transformPrecision=Math.min(t.transformPrecision,Math.max.apply(Math,n.map(tr))||t.transformPrecision),r=Math.max.apply(Math,n.map((e=>e.toString().replace(/\D+/g,``).length)))),t.degPrecision??=Math.max(0,Math.min(t.floatPrecision,r-2)),t},tr=e=>{let t=e.toString();return t.slice(t.indexOf(`.`)).length-1},nr=(e,t)=>{for(let n=0;n<e.length;n++){let r=e[n];if(t.matrixToTransform&&r.name===`matrix`){let i=_n(r,t);Dn(i,t).length<=Dn([r],t).length&&e.splice(n,1,...i),r=e[n]}xn(r,t),t.shortTranslate&&r.name===`translate`&&r.data.length===2&&!r.data[1]&&r.data.pop(),t.shortScale&&r.name===`scale`&&r.data.length===2&&r.data[0]===r.data[1]&&r.data.pop(),t.shortRotate&&e[n-2]?.name===`translate`&&e[n-1].name===`rotate`&&e[n].name===`translate`&&e[n-2].data[0]===-e[n].data[0]&&e[n-2].data[1]===-e[n].data[1]&&(e.splice(n-2,3,{name:`rotate`,data:[e[n-1].data[0],e[n-2].data[0],e[n-2].data[1]]}),n-=2)}return e},rr=e=>e.filter((e=>!([`translate`,`rotate`,`skewX`,`skewY`].indexOf(e.name)>-1&&(e.data.length==1||e.name==`rotate`)&&!e.data[0]||e.name==`translate`&&!e.data[0]&&!e.data[1]||e.name==`scale`&&e.data[0]==1&&(e.data.length<2||e.data[1]==1)||e.name==`matrix`&&e.data[0]==1&&e.data[3]==1&&!(e.data[1]||e.data[2]||e.data[4]||e.data[5]))));var ir=Object.freeze({__proto__:null,description:`collapses multiple transformations and optimizes it`,fn:Qn,name:`convertTransform`}),ar=Object.freeze({__proto__:null,description:`removes empty attributes`,fn:()=>({element:{enter:e=>{for(let[t,n]of Object.entries(e.attributes))n!==``||j.conditionalProcessing.has(t)||delete e.attributes[t]}}}),name:`removeEmptyAttrs`}),or=Object.freeze({__proto__:null,description:`removes empty container elements`,fn:e=>{let t=P(e);return{element:{exit:(e,n)=>{e.name===`svg`||!A.container.has(e.name)||e.children.length!==0||e.name===`pattern`&&Object.keys(e.attributes).length!==0||e.name===`mask`&&e.attributes.id!=null||n.type===`element`&&n.name===`switch`||e.name===`g`&&(e.attributes.filter!=null||F(t,e).filter)||k(e,n)}}}},name:`removeEmptyContainers`});function sr(e,t){let n=e[t];return n?.type===`static`?Ze(n.value):!1}var cr=Object.freeze({__proto__:null,description:`merges multiple paths in one if possible`,fn:(e,t)=>{let{force:n=!1,floatPrecision:r=3,noSpaceAfterFlags:i=!1}=t,a=P(e);return{element:{enter:e=>{if(e.children.length<=1)return;let t=[],o=e.children[0],s=null,c=(e,t)=>{Yt(e,t,{floatPrecision:r,noSpaceAfterFlags:i}),s=null};for(let r=1;r<e.children.length;r++){let i=e.children[r];if(o.type!==`element`||o.name!==`path`||o.children.length!==0||o.attributes.d==null){s&&o.type===`element`&&c(o,s),o=i;continue}if(i.type!==`element`||i.name!==`path`||i.children.length!==0||i.attributes.d==null){s&&c(o,s),o=i;continue}let l=F(a,i);if(l[`marker-start`]||l[`marker-mid`]||l[`marker-end`]||l[`clip-path`]||l.mask||l[`mask-image`]||[`fill`,`filter`,`stroke`].some((e=>sr(l,e)))){s&&c(o,s),o=i;continue}let u=Object.keys(i.attributes);if(u.length!==Object.keys(o.attributes).length){s&&c(o,s),o=i;continue}if(u.some((e=>e!==`d`&&o.type===`element`&&o.attributes[e]!==i.attributes[e]))){s&&c(o,s),o=i;continue}let d=s!=null,f=qt(i);if(s??=qt(o),n||!Xt(s,f)){s.push(...f),t.push(i);continue}d&&c(o,s),o=i,s=null}s&&o.type===`element`&&c(o,s),e.children=e.children.filter((e=>!t.includes(e)))}}}},name:`mergePaths`}),lr=Object.freeze({__proto__:null,description:`removes unused namespaces declaration`,fn:()=>{let e=new Set;return{element:{enter:(t,n)=>{if(t.name===`svg`&&n.type===`root`){for(let n of Object.keys(t.attributes))if(n.startsWith(`xmlns:`)){let t=n.slice(6);e.add(t)}}if(e.size!==0){if(t.name.includes(`:`)){let[n]=t.name.split(`:`);e.has(n)&&e.delete(n)}for(let n of Object.keys(t.attributes))if(n.includes(`:`)){let[t]=n.split(`:`);e.delete(t)}}},exit:(t,n)=>{if(t.name===`svg`&&n.type===`root`)for(let n of e)delete t.attributes[`xmlns:${n}`]}}}},name:`removeUnusedNS`}),ur=Object.freeze({__proto__:null,description:`Sort element attributes for better compression`,fn:(e,t)=>{let{order:n=[`id`,`width`,`height`,`x`,`x1`,`x2`,`y`,`y1`,`y2`,`cx`,`cy`,`r`,`fill`,`stroke`,`marker`,`d`,`points`],xmlnsOrder:r=`front`}=t,i=e=>{if(r===`front`){if(e===`xmlns`)return 3;if(e.startsWith(`xmlns:`))return 2}return e.includes(`:`)?1:0},a=([e],[t])=>{let r=i(e),a=i(t)-r;if(a!==0)return a;let[o]=e.split(`-`),[s]=t.split(`-`);if(o!==s){let e=n.includes(o)?1:0,t=n.includes(s)?1:0;if(e===1&&t===1)return n.indexOf(o)-n.indexOf(s);let r=t-e;if(r!==0)return r}return e<t?-1:1};return{element:{enter:e=>{let t=Object.entries(e.attributes);t.sort(a);let n={};for(let[e,r]of t)n[e]=r;e.attributes=n}}}},name:`sortAttrs`}),dr=Object.freeze({__proto__:null,description:`Sorts children of <defs> to improve compression`,fn:()=>({element:{enter:e=>{if(e.name===`defs`){let t=new Map;for(let n of e.children)if(n.type===`element`){let e=t.get(n.name);e==null?t.set(n.name,1):t.set(n.name,e+1)}e.children.sort(((e,n)=>{if(e.type!==`element`||n.type!==`element`)return 0;let r=t.get(e.name),i=t.get(n.name);if(r!=null&&i!=null){let e=i-r;if(e!==0)return e}let a=n.name.length-e.name.length;return a===0?e.name===n.name?0:e.name>n.name?-1:1:a}))}}}}),name:`sortDefsChildren`});let fr=/^(Created with|Created using)/;var pr=Object.freeze({__proto__:null,description:`removes <desc>`,fn:(e,t)=>{let{removeAny:n=!1}=t;return{element:{enter:(e,t)=>{e.name===`desc`&&(n||e.children.length===0||e.children[0].type===`text`&&fr.test(e.children[0].value))&&k(e,t)}}}},name:`removeDesc`});let mr=ee({name:`preset-default`,plugins:[ue,de,pe,Ie,Le,Re,He,Ue,Ge,$e,at,ct,dt,_t,xt,St,Ct,Dt,Lt,Rt,Bt,Vt,Ht,Wt,Kt,Zn,ir,ar,or,cr,lr,ur,dr,pr]});var hr=Object.freeze({__proto__:null,description:`adds attributes to an outer <svg> element`,fn:(e,t)=>{if(!Array.isArray(t.attributes)&&!t.attribute)return console.error(`Error in plugin "addAttributesToSVGElement": absent parameters.
|
|
3
|
+
It should have a list of "attributes" or one "attribute".
|
|
4
|
+
Config example:
|
|
5
|
+
|
|
6
|
+
plugins: [
|
|
7
|
+
{
|
|
8
|
+
name: 'addAttributesToSVGElement',
|
|
9
|
+
params: {
|
|
10
|
+
attribute: "mySvg"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
|
|
15
|
+
plugins: [
|
|
16
|
+
{
|
|
17
|
+
name: 'addAttributesToSVGElement',
|
|
18
|
+
params: {
|
|
19
|
+
attributes: ["mySvg", "size-big"]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
plugins: [
|
|
25
|
+
{
|
|
26
|
+
name: 'addAttributesToSVGElement',
|
|
27
|
+
params: {
|
|
28
|
+
attributes: [
|
|
29
|
+
{
|
|
30
|
+
focusable: false
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
'data-image': icon
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
`),null;let n=t.attributes||[t.attribute];return{element:{enter:(e,t)=>{if(e.name===`svg`&&t.type===`root`){for(let t of n)if(typeof t==`string`&&e.attributes[t]==null&&(e.attributes[t]=void 0),typeof t==`object`)for(let n of Object.keys(t))e.attributes[n]??(e.attributes[n]=t[n])}}}}},name:`addAttributesToSVGElement`}),gr=Object.freeze({__proto__:null,description:`adds classnames to an outer <svg> element`,fn:(e,t,n)=>{if(!(Array.isArray(t.classNames)&&t.classNames.length!==0)&&!t.className)return console.error(`Error in plugin "addClassesToSVGElement": absent parameters.
|
|
40
|
+
It should have a list of classes in "classNames" or one "className".
|
|
41
|
+
Config example:
|
|
42
|
+
|
|
43
|
+
plugins: [
|
|
44
|
+
{
|
|
45
|
+
name: "addClassesToSVGElement",
|
|
46
|
+
params: {
|
|
47
|
+
className: "mySvg"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
plugins: [
|
|
53
|
+
{
|
|
54
|
+
name: "addClassesToSVGElement",
|
|
55
|
+
params: {
|
|
56
|
+
classNames: ["mySvg", "size-big"]
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
`),null;let r=t.classNames||[t.className];return{element:{enter:(e,t)=>{if(e.name===`svg`&&t.type===`root`){let t=new Set(e.attributes.class==null?null:e.attributes.class.split(` `));for(let i of r)if(i!=null){let r=typeof i==`string`?i:i(e,n);t.add(r)}e.attributes.class=Array.from(t).join(` `)}}}}},name:`addClassesToSVGElement`});let _r=/^([-+]?\d*\.?\d+([eE][-+]?\d+)?)(px|pt|pc|mm|cm|m|in|ft|em|ex|%)?$/,vr=/\s+,?\s*|,\s*/,yr={cm:96/2.54,mm:96/25.4,in:96,pt:4/3,pc:16,px:1};var br=Object.freeze({__proto__:null,description:`rounds list of values to the fixed precision`,fn:(e,t)=>{let{floatPrecision:n=3,leadingZero:r=!0,defaultPx:i=!0,convertToPx:a=!0}=t,o=e=>{let t=[];for(let o of e.split(vr)){let e=o.match(_r),s=o.match(/new/);if(e){let o=Number(Number(e[1]).toFixed(n)),s=e[3]||``;if(a&&s&&s in yr){let t=Number((yr[s]*Number(e[1])).toFixed(n));t.toString().length<e[0].length&&(o=t,s=`px`)}let c;c=r?L(o):o.toString(),i&&s===`px`&&(s=``),t.push(c+s)}else s?t.push(`new`):o&&t.push(o)}return t.join(` `)};return{element:{enter:e=>{e.attributes.points!=null&&(e.attributes.points=o(e.attributes.points)),e.attributes[`enable-background`]!=null&&(e.attributes[`enable-background`]=o(e.attributes[`enable-background`])),e.attributes.viewBox!=null&&(e.attributes.viewBox=o(e.attributes.viewBox)),e.attributes[`stroke-dasharray`]!=null&&(e.attributes[`stroke-dasharray`]=o(e.attributes[`stroke-dasharray`])),e.attributes.dx!=null&&(e.attributes.dx=o(e.attributes.dx)),e.attributes.dy!=null&&(e.attributes.dy=o(e.attributes.dy)),e.attributes.x!=null&&(e.attributes.x=o(e.attributes.x)),e.attributes.y!=null&&(e.attributes.y=o(e.attributes.y))}}}},name:`cleanupListOfValues`}),xr=Object.freeze({__proto__:null,description:`converts one-stop (single color) gradients to a plain color`,fn:e=>{let t=P(e),n=new Set,r=new Map,i=new Map,a=0;return{element:{enter:(o,s)=>{if(o.attributes[`xlink:href`]!=null&&a++,o.name===`defs`){r.set(o,s);return}if(o.name!==`linearGradient`&&o.name!==`radialGradient`)return;let c=o.children.filter((e=>e.type===`element`&&e.name===`stop`)),l=o.attributes[`xlink:href`]||o.attributes.href,u=c.length===0&&l!=null&&l.startsWith(`#`)?ce(e,l):o;if(u==null||u.type!==`element`){i.set(o,s);return}let d=u.children.filter((e=>e.type===`element`&&e.name===`stop`));if(d.length!==1||d[0].type!==`element`)return;s.type===`element`&&s.name===`defs`&&n.add(s),i.set(o,s);let f,p=F(t,d[0])[`stop-color`];p!=null&&p.type===`static`&&(f=p.value);let m=`url(#${o.attributes.id})`,h=O(e,[...Ce].map((e=>`[${e}="${m}"]`)).join(`,`));for(let e of h)if(e.type===`element`)for(let t of Ce)e.attributes[t]===m&&(f==null?delete e.attributes[t]:e.attributes[t]=f);let g=O(e,`[style*=${m}]`);for(let e of g)e.type===`element`&&(e.attributes.style=e.attributes.style.replace(m,f||ge.presentation[`stop-color`]))},exit:e=>{if(e.name===`svg`){for(let[e,t]of i.entries())e.attributes[`xlink:href`]!=null&&a--,k(e,t);a===0&&delete e.attributes[`xmlns:xlink`];for(let[e,t]of r.entries())n.has(e)&&e.children.length===0&&k(e,t)}}}}},name:`convertOneStopGradients`});let Sr=(...e)=>`(?:`+e.join(`|`)+`)`,Cr=j.presentation,Z=`\\\\(?:[0-9a-f]{1,6}\\s?|\\r\\n|.)`,wr=`\\s*(`+Sr(`[^:;\\\\]`,Z)+`*?)\\s*`,Tr=`'(?:[^'\\n\\r\\\\]|`+Z+`)*?(?:'|$)`,Er=`"(?:[^"\\n\\r\\\\]|`+Z+`)*?(?:"|$)`,Dr=RegExp(`^`+Sr(Tr,Er)+`$`),Or=`\\s*(`+Sr(`[^!'"();\\\\]+?`,Z,Tr,Er,`\\(`+Sr(`[^'"()\\\\]+`,Z,Tr,Er)+`*?\\)`,`[^;]*?`)+`*?)`,kr=RegExp(wr+`:`+Or+`(\\s*!important(?![-(\\w]))?\\s*(?:;\\s*|$)`,`ig`),Ar=new RegExp(Sr(Z,Tr,Er,`/\\*[^]*?\\*/`),`ig`);var jr=Object.freeze({__proto__:null,description:`converts style to attributes`,fn:(e,t)=>{let{keepImportant:n=!1}=t;return{element:{enter:e=>{if(e.attributes.style!=null){let r=[],i={},a=e.attributes.style.replace(Ar,(e=>e[0]==`/`?``:e[0]==`\\`&&/[-g-z]/i.test(e[1])?e[1]:e));kr.lastIndex=0;for(var t;t=kr.exec(a);)n&&t[3]||r.push([t[1],t[2]]);r.length&&(r=r.filter((function(e){if(e[0]){let t=e[0].toLowerCase(),n=e[1];if(Dr.test(n)&&(n=n.slice(1,-1)),Cr.has(t))return i[t]=n,!1}return!0})),Object.assign(e.attributes,i),r.length?e.attributes.style=r.map((e=>e.join(`:`))).join(`;`):delete e.attributes.style)}}}}},name:`convertStyleToAttrs`});let Mr=e=>{let t=/[/\\]?([^/\\]+)$/.exec(e);return t?t[1]:``},Nr=e=>e.replace(/[. ]/g,`_`),Pr=e=>e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`)?e.slice(1,-1):e,Fr=(e,t)=>{let n=e(t);return t.startsWith(n)?t:n+t},Ir=(e,t)=>t.startsWith(`#`)?`#`+Fr(e,t.slice(1)):null,Lr=(e,t,n,r,i,a)=>{if(typeof r==`function`){let o=a.get(e);return o??(o=r(t,n)+i,a.set(e,o),o)}return typeof r==`string`?r+i:r===!1?``:n.path!=null&&n.path.length>0?Nr(Mr(n.path))+i:`prefix`+i};var Rr=Object.freeze({__proto__:null,description:`prefix IDs`,fn:(e,t,n)=>{let{delim:r=`__`,prefix:i,prefixIds:a=!0,prefixClassNames:o=!0}=t,s=new Map;return{element:{enter:e=>{let t=t=>Lr(t,e,n,i,r,s);if(e.name===`style`){if(e.children.length===0)return;for(let n of e.children){if(n.type!==`text`&&n.type!==`cdata`)continue;let e=n.value,r;try{r=v.parse(e,{parseValue:!0,parseCustomProperty:!1})}catch{return}v.walk(r,(e=>{if(a&&e.type===`IdSelector`||o&&e.type===`ClassSelector`){e.name=Fr(t,e.name);return}if(e.type===`Url`&&e.value.length>0){let n=Ir(t,Pr(e.value));n!=null&&(e.value=n)}})),n.value=v.generate(r)}}a&&e.attributes.id!=null&&e.attributes.id.length!==0&&(e.attributes.id=Fr(t,e.attributes.id)),o&&e.attributes.class!=null&&e.attributes.class.length!==0&&(e.attributes.class=e.attributes.class.split(/\s+/).map((e=>Fr(t,e))).join(` `));for(let n of[`href`,`xlink:href`])if(e.attributes[n]!=null&&e.attributes[n].length!==0){let r=Ir(t,e.attributes[n]);r!=null&&(e.attributes[n]=r)}for(let n of M)e.attributes[n]!=null&&e.attributes[n].length!==0&&(e.attributes[n]=e.attributes[n].replace(/\burl\((["'])?(#.+?)\1\)/gi,((e,n,r)=>{let i=Ir(t,r);return i==null?e:`url(${i})`})));for(let n of[`begin`,`end`])if(e.attributes[n]!=null&&e.attributes[n].length!==0){let r=e.attributes[n].split(/\s*;\s+/).map((e=>{if(e.endsWith(`.end`)||e.endsWith(`.start`)){let[n,r]=e.split(`.`);return`${Fr(t,n)}.${r}`}return e}));e.attributes[n]=r.join(`; `)}}}}},name:`prefixIds`}),zr=Object.freeze({__proto__:null,description:`removes attributes of elements that match a css selector`,fn:(e,t)=>{let n=Array.isArray(t.selectors)?t.selectors:[t];for(let{selector:t,attributes:r}of n){let n=O(e,t);for(let e of n)if(e.type===`element`)if(Array.isArray(r))for(let t of r)delete e.attributes[t];else delete e.attributes[r]}return{}},name:`removeAttributesBySelector`}),Br=Object.freeze({__proto__:null,description:`removes specified attributes`,fn:(e,t)=>{if(t.attrs===void 0)return console.warn(`Warning: The plugin "removeAttrs" requires the "attrs" parameter.
|
|
61
|
+
It should have a pattern to remove, otherwise the plugin is a noop.
|
|
62
|
+
Config example:
|
|
63
|
+
|
|
64
|
+
plugins: [
|
|
65
|
+
{
|
|
66
|
+
name: "removeAttrs",
|
|
67
|
+
params: {
|
|
68
|
+
attrs: "(fill|stroke)"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
`),null;let n=typeof t.elemSeparator==`string`?t.elemSeparator:`:`,r=typeof t.preserveCurrentColor==`boolean`&&t.preserveCurrentColor,i=Array.isArray(t.attrs)?t.attrs:[t.attrs];return{element:{enter:e=>{for(let t of i){t.includes(n)?t.split(n).length<3&&(t=[t,`.*`].join(n)):t=[`.*`,t,`.*`].join(n);let i=t.split(n).map((e=>(e===`*`&&(e=`.*`),new RegExp([`^`,e,`$`].join(``),`i`))));if(i[0].test(e.name))for(let[t,n]of Object.entries(e.attributes)){let a=n.toLowerCase()===`currentcolor`;!(r&&t==`fill`&&a)&&!(r&&t==`stroke`&&a)&&i[1].test(t)&&i[2].test(n)&&delete e.attributes[t]}}}}}},name:`removeAttrs`}),Vr=Object.freeze({__proto__:null,description:`removes width and height in presence of viewBox (opposite to removeViewBox)`,fn:()=>({element:{enter:e=>{if(e.name===`svg`){if(e.attributes.viewBox!=null)delete e.attributes.width,delete e.attributes.height;else if(e.attributes.width!=null&&e.attributes.height!=null&&Number.isNaN(Number(e.attributes.width))===!1&&Number.isNaN(Number(e.attributes.height))===!1){let t=Number(e.attributes.width),n=Number(e.attributes.height);e.attributes.viewBox=`0 0 ${t} ${n}`,delete e.attributes.width,delete e.attributes.height}}}}}),name:`removeDimensions`}),Hr=Object.freeze({__proto__:null,description:`removes arbitrary elements by ID or className (disabled by default)`,fn:(e,t)=>{let n=t.id==null?[]:Array.isArray(t.id)?t.id:[t.id],r=t.class==null?[]:Array.isArray(t.class)?t.class:[t.class];return{element:{enter:(e,t)=>{if(e.attributes.id!=null&&n.length!==0&&n.includes(e.attributes.id)&&k(e,t),e.attributes.class&&r.length!==0){let n=e.attributes.class.split(` `);for(let i of r)if(n.includes(i)){k(e,t);break}}}}}},name:`removeElementsByAttr`}),Ur=Object.freeze({__proto__:null,description:`removes elements that are drawn outside of the viewBox (disabled by default)`,fn:()=>{let e=null;return{element:{enter:(t,n)=>{if(t.name===`svg`&&n.type===`root`){let n=``;t.attributes.viewBox==null?t.attributes.height!=null&&t.attributes.width!=null&&(n=`0 0 ${t.attributes.width} ${t.attributes.height}`):n=t.attributes.viewBox,n=n.replace(/[,+]|px/g,` `).replace(/\s+/g,` `).replace(/^\s*|\s*$/g,``);let r=/^(-?\d*\.?\d+) (-?\d*\.?\d+) (\d*\.?\d+) (\d*\.?\d+)$/.exec(n);if(r==null)return;let i=Number.parseFloat(r[1]),a=Number.parseFloat(r[2]),o=Number.parseFloat(r[3]),s=Number.parseFloat(r[4]);e={left:i,top:a,right:i+o,bottom:a+s,width:o,height:s}}if(t.attributes.transform!=null)return b;if(t.name===`path`&&t.attributes.d!=null&&e!=null){let r=Nt(t.attributes.d),i=!1;for(let t of r)if(t.command===`M`){let[n,r]=t.args;n>=e.left&&n<=e.right&&r>=e.top&&r<=e.bottom&&(i=!0)}if(i)return;r.length===2&&r.push({command:`z`,args:[]});let{left:a,top:o,width:s,height:c}=e;Xt([{command:`M`,args:[a,o]},{command:`h`,args:[s]},{command:`v`,args:[c]},{command:`H`,args:[a]},{command:`z`,args:[]}],r)===!1&&k(t,n)}}}}},name:`removeOffCanvasPaths`}),Wr=Object.freeze({__proto__:null,description:`removes raster images (disabled by default)`,fn:()=>({element:{enter:(e,t)=>{e.name===`image`&&e.attributes[`xlink:href`]!=null&&/(\.|image\/)(jpe?g|png|gif)/.test(e.attributes[`xlink:href`])&&k(e,t)}}}),name:`removeRasterImages`});let Gr=[...j.animationEvent,...j.documentEvent,...j.documentElementEvent,...j.globalEvent,...j.graphicalEvent];var Kr=Object.freeze({__proto__:null,description:`removes scripts (disabled by default)`,fn:()=>({element:{enter:(e,t)=>{if(e.name===`script`){k(e,t);return}for(let t of Gr)e.attributes[t]!=null&&delete e.attributes[t]},exit:(e,t)=>{if(e.name===`a`){for(let n of Object.keys(e.attributes))if(n===`href`||n.endsWith(`:href`)){if(e.attributes[n]==null||!e.attributes[n].trimStart().startsWith(`javascript:`))continue;let r=t.children.indexOf(e),i=e.children.filter((e=>e.type!==`text`));t.children.splice(r,1,...i)}}}}}),name:`removeScripts`}),qr=Object.freeze({__proto__:null,description:`removes <style> element (disabled by default)`,fn:()=>({element:{enter:(e,t)=>{e.name===`style`&&k(e,t)}}}),name:`removeStyleElement`}),Jr=Object.freeze({__proto__:null,description:`removes <title>`,fn:()=>({element:{enter:(e,t)=>{e.name===`title`&&k(e,t)}}}),name:`removeTitle`});let Yr=new Set([`pattern`,`svg`,`symbol`]);var Xr=Object.freeze({__proto__:null,description:`removes viewBox attribute when possible`,fn:()=>({element:{enter:(e,t)=>{if(Yr.has(e.name)&&e.attributes.viewBox!=null&&e.attributes.width!=null&&e.attributes.height!=null){if(e.name===`svg`&&t.type!==`root`)return;let n=e.attributes.viewBox.split(/[ ,]+/g);n[0]===`0`&&n[1]===`0`&&e.attributes.width.replace(/px$/,``)===n[2]&&e.attributes.height.replace(/px$/,``)===n[3]&&delete e.attributes.viewBox}}}}),name:`removeViewBox`});let Zr=`http://www.w3.org/1999/xlink`,Qr={new:`_blank`,replace:`_self`},$r=new Set([`cursor`,`filter`,`font-face-uri`,`glyphRef`,`tref`]),ei=(e,t,n)=>t.map((e=>`${e}:${n}`)).filter((t=>e.attributes[t]!=null));var ti=Object.freeze({__proto__:null,description:`remove xlink namespace and replaces attributes with the SVG 2 equivalent where applicable`,fn:(e,t)=>{let{includeLegacy:n}=t,r=[],i=[],a=[];return{element:{enter:e=>{for(let[t,n]of Object.entries(e.attributes))if(t.startsWith(`xmlns:`)){let e=t.split(`:`,2)[1];if(n===Zr){r.push(e);continue}r.includes(e)&&i.push(e)}if(i.some((e=>r.includes(e))))return;let t=ei(e,r,`show`),o=e.attributes.target!=null;for(let n=t.length-1;n>=0;n--){let r=t[n],i=Qr[e.attributes[r]];if(o||i==null){delete e.attributes[r];continue}i!==ve[e.name]?.defaults?.target&&(e.attributes.target=i),delete e.attributes[r],o=!0}let s=ei(e,r,`title`);for(let t=s.length-1;t>=0;t--){let n=s[t],r=e.attributes[n];if(e.children.filter((e=>e.type===`element`&&e.name===`title`)).length>0){delete e.attributes[n];continue}let i={type:`element`,name:`title`,attributes:{},children:[{type:`text`,value:r}]};Object.defineProperty(i,`parentNode`,{writable:!0,value:e}),e.children.unshift(i),delete e.attributes[n]}let c=ei(e,r,`href`);if(c.length>0&&$r.has(e.name)&&!n){c.map((e=>e.split(`:`,1)[0])).forEach((e=>a.push(e)));return}for(let t=c.length-1;t>=0;t--){let n=c[t],r=e.attributes[n];if(e.attributes.href!=null){delete e.attributes[n];continue}e.attributes.href=r,delete e.attributes[n]}},exit:e=>{for(let[t,o]of Object.entries(e.attributes)){let[s,c]=t.split(`:`,2);if(r.includes(s)&&!i.includes(s)&&!a.includes(s)&&!n){delete e.attributes[t];continue}if(t.startsWith(`xmlns:`)&&!a.includes(c)){if(o===Zr){let n=r.indexOf(c);r.splice(n,1),delete e.attributes[t];continue}if(i.includes(s)){let e=i.indexOf(c);i.splice(e,1)}}}}}}},name:`removeXlink`}),ni=Object.freeze({__proto__:null,description:`removes xmlns attribute (for inline svg, disabled by default)`,fn:()=>({element:{enter:e=>{e.name===`svg`&&delete e.attributes.xmlns}}}),name:`removeXMLNS`}),ri=Object.freeze({__proto__:null,description:`Finds <path> elements with the same d, fill, and stroke, and converts them to <use> elements referencing a single <path> def.`,fn:e=>{let t=P(e),n=new Map,r,i=new Set;return{element:{enter:(e,t)=>{if(e.name===`path`&&e.attributes.d!=null){let t=e.attributes.d,r=e.attributes.fill||``,i=e.attributes.stroke||``,a=t+`;s:`+i+`;f:`+r,o=n.get(a);o??(o=[],n.set(a,o)),o.push(e)}if(r==null&&e.name===`defs`&&t.type===`element`&&t.name===`svg`&&(r=e),e.name===`use`)for(let t of[`href`,`xlink:href`]){let n=e.attributes[t];n!=null&&n.startsWith(`#`)&&n.length>1&&i.add(n.slice(1))}},exit:(e,a)=>{if(e.name===`svg`&&a.type===`root`){let a=r;a??={type:`element`,name:`defs`,attributes:{},children:[]};let o=0;for(let r of n.values())if(r.length>1){let n={type:`element`,name:`path`,attributes:{},children:[]};for(let e of[`fill`,`stroke`,`d`])r[0].attributes[e]!=null&&(n.attributes[e]=r[0].attributes[e]);let s=r[0].attributes.id;s==null||i.has(s)||t.rules.some((e=>e.selector===`#${s}`))?n.attributes.id=`reuse-`+ o++:(n.attributes.id=s,delete r[0].attributes.id),a.children.push(n);for(let t of r){if(delete t.attributes.d,delete t.attributes.stroke,delete t.attributes.fill,a.children.includes(t)&&t.children.length===0){if(Object.keys(t.attributes).length===0){k(t,a);continue}if(Object.keys(t.attributes).length===1&&t.attributes.id!=null){k(t,a);let r=`[xlink\\:href=#${t.attributes.id}], [href=#${t.attributes.id}]`;for(let t of O(e,r))if(t.type===`element`)for(let e of[`href`,`xlink:href`])t.attributes[e]!=null&&(t.attributes[e]=`#`+n.attributes.id);continue}}t.name=`use`,t.attributes[`xlink:href`]=`#`+n.attributes.id}}a.children.length!==0&&(e.attributes[`xmlns:xlink`]??(e.attributes[`xmlns:xlink`]=`http://www.w3.org/1999/xlink`),r??e.children.unshift(a))}}}}},name:`reusePaths`});let ii=Object.freeze([mr,hr,gr,He,Dt,at,br,dt,Kt,_t,Vt,xr,Zn,Bt,jr,ir,Ge,cr,Ue,$e,Ht,Wt,Rr,zr,Br,pe,Ie,pr,Vr,ue,Re,Hr,ar,or,Rt,Lt,Le,St,Ur,Wr,Kr,qr,Jr,xt,lr,ct,Ct,Xr,ti,ni,de,ri,ur,dr]);var ai=class e extends Error{constructor(t,n,r,i,a){super(t),this.name=`SvgoParserError`,this.message=`${a||`<input>`}:${n}:${r}: ${t}`,this.reason=t,this.line=n,this.column=r,this.source=i,Error.captureStackTrace&&Error.captureStackTrace(this,e)}toString(){let e=this.source.split(/\r?\n/),t=Math.max(this.line-3,0),n=Math.min(this.line+2,e.length),r=String(n).length,i=Math.max(this.column-54,0),a=Math.max(this.column+20,80),o=e.slice(t,n).map(((e,n)=>{let o=e.slice(i,a),s=``,c=``;i!==0&&(s=i>e.length-1?` `:`…`),a<e.length-1&&(c=`…`);let l=t+1+n,u=` ${l.toString().padStart(r)} | `;if(l===this.line){let t=u.replace(/[^|]/g,` `)+(s+e.slice(i,this.column-1)).replace(/[^\t]/g,` `);return`>${u}${s}${o}${c}\n ${t}^`}return` ${u}${s}${o}${c}`})).join(`
|
|
73
|
+
`);return`${this.name}: ${this.message}\n\n${o}\n`}};let oi=/<!ENTITY\s+(\S+)\s+(?:'([^']+)'|"([^"]+)")\s*>/g,si={strict:!0,trim:!1,normalize:!1,lowercase:!0,xmlns:!0,position:!0,unparsedEntities:!0},ci=(e,t)=>{let n=m.parser(si.strict,si),r={type:`root`,children:[]},i=r,a=[r],o=e=>{i.children.push(e)};return n.ondoctype=t=>{o({type:`doctype`,name:`svg`,data:{doctype:t}});let r=t.indexOf(`[`);if(r>=0){oi.lastIndex=r;let t=oi.exec(e);for(;t!=null;)n.ENTITIES[t[1]]=t[2]||t[3],t=oi.exec(e)}},n.onprocessinginstruction=e=>{o({type:`instruction`,name:e.name,value:e.body})},n.oncomment=e=>{o({type:`comment`,value:e.trim()})},n.oncdata=e=>{o({type:`cdata`,value:e})},n.onopentag=e=>{let t={type:`element`,name:e.name,attributes:{},children:[]};for(let[n,r]of Object.entries(e.attributes))t.attributes[n]=r.value;o(t),i=t,a.push(t)},n.ontext=e=>{if(i.type===`element`)if(me.has(i.name))o({type:`text`,value:e});else{let t=e.trim();t!==``&&o({type:`text`,value:t})}},n.onclosetag=()=>{a.pop(),i=a[a.length-1]},n.onerror=r=>{let i=r.message.split(`
|
|
74
|
+
`)[0],a=new ai(i,n.line+1,n.column,e,t);if(r.message.indexOf(`Unexpected end`)===-1)throw a},n.write(e).close(),r},Q={doctypeStart:`<!DOCTYPE`,doctypeEnd:`>`,procInstStart:`<?`,procInstEnd:`?>`,tagOpenStart:`<`,tagOpenEnd:`>`,tagCloseStart:`</`,tagCloseEnd:`>`,tagShortStart:`<`,tagShortEnd:`/>`,attrStart:`="`,attrEnd:`"`,commentStart:`<!--`,commentEnd:`-->`,cdataStart:`<![CDATA[`,cdataEnd:`]]>`,textStart:``,textEnd:``,indent:4,regEntities:/[&'"<>]/g,regValEntities:/[&"<>]/g,encodeEntity:e=>li[e],pretty:!1,useShortTags:!0,eol:`lf`,finalNewline:!1},li={"&":`&`,"'":`'`,'"':`"`,">":`>`,"<":`<`},ui=(e,t={})=>{let n={...Q,...t},r=n.indent,i=` `;typeof r==`number`&&Number.isNaN(r)===!1?i=r<0?` `:` `.repeat(r):typeof r==`string`&&(i=r);let a={indent:i,textContext:null,indentLevel:0},o=n.eol===`crlf`?`\r
|
|
75
|
+
`:`
|
|
76
|
+
`;n.pretty&&(n.doctypeEnd+=o,n.procInstEnd+=o,n.commentEnd+=o,n.cdataEnd+=o,n.tagShortEnd+=o,n.tagOpenEnd+=o,n.tagCloseEnd+=o,n.textEnd+=o);let s=di(e,n,a);return n.finalNewline&&s.length>0&&!s.endsWith(`
|
|
77
|
+
`)&&(s+=o),s},di=(e,t,n)=>{let r=``;n.indentLevel++;for(let i of e.children)switch(i.type){case`element`:r+=gi(i,t,n);break;case`text`:r+=vi(i,t,n);break;case`doctype`:r+=fi(i,t);break;case`instruction`:r+=pi(i,t);break;case`comment`:r+=mi(i,t);break;case`cdata`:r+=hi(i,t,n)}return n.indentLevel--,r},$=(e,t)=>{let n=``;return e.pretty&&t.textContext==null&&(n=t.indent.repeat(t.indentLevel-1)),n},fi=(e,t)=>t.doctypeStart+e.data.doctype+t.doctypeEnd,pi=(e,t)=>t.procInstStart+e.name+` `+e.value+t.procInstEnd,mi=(e,t)=>t.commentStart+e.value+t.commentEnd,hi=(e,t,n)=>$(t,n)+t.cdataStart+e.value+t.cdataEnd,gi=(e,t,n)=>{if(e.children.length===0)return t.useShortTags?$(t,n)+t.tagShortStart+e.name+_i(e,t)+t.tagShortEnd:$(t,n)+t.tagShortStart+e.name+_i(e,t)+t.tagOpenEnd+t.tagCloseStart+e.name+t.tagCloseEnd;let r=t.tagOpenStart,i=t.tagOpenEnd,a=t.tagCloseStart,o=t.tagCloseEnd,s=$(t,n),c=$(t,n);n.textContext?(r=Q.tagOpenStart,i=Q.tagOpenEnd,a=Q.tagCloseStart,o=Q.tagCloseEnd,s=``):me.has(e.name)&&(i=Q.tagOpenEnd,a=Q.tagCloseStart,c=``,n.textContext=e);let l=di(e,t,n);return n.textContext===e&&(n.textContext=null),s+r+e.name+_i(e,t)+i+l+c+a+e.name+o},_i=(e,t)=>{let n=``;for(let[r,i]of Object.entries(e.attributes))if(n+=` `+r,i!==void 0){let e=i.toString().replace(t.regValEntities,t.encodeEntity);n+=t.attrStart+e+t.attrEnd}return n},vi=(e,t,n)=>$(t,n)+t.textStart+e.value.replace(t.regEntities,t.encodeEntity)+(n.textContext?``:t.textEnd),yi=new Map;for(let e of ii)yi.set(e.name,e);function bi(e){return e===`removeScriptElement`?(console.warn(`Warning: removeScriptElement has been renamed to removeScripts, please update your SVGO config`),yi.get(`removeScripts`)):yi.get(e)}let xi=e=>{if(typeof e==`string`){let t=bi(e);if(t==null)throw Error(`Unknown builtin plugin "${e}" specified.`);return{name:e,params:{},fn:t.fn}}if(typeof e==`object`&&e){if(e.name==null)throw Error(`Plugin name must be specified`);let t=e.fn;if(t==null){let n=bi(e.name);if(n==null)throw Error(`Unknown builtin plugin "${e.name}" specified.`);t=n.fn}return{name:e.name,params:e.params,fn:t}}return null},Si=(e,t)=>{if(t??={},typeof t!=`object`)throw Error(`Config should be an object`);let n=t.multipass?10:1,r=1/0,i=``,a={};t.path!=null&&(a.path=t.path);for(let o=0;o<n;o+=1){a.multipassCount=o;let n=ci(e,t.path),s=t.plugins||[`preset-default`];if(!Array.isArray(s))throw Error("malformed config, `plugins` property must be an array.\nSee more info here: https://github.com/svg/svgo#configuration");let c=s.filter((e=>e!=null)).map(xi);c.length<s.length&&console.warn(`Warning: plugins list includes null or undefined elements, these will be ignored.`);let l={};if(t.floatPrecision!=null&&(l.floatPrecision=t.floatPrecision),S(n,a,c,null,l),i=ui(n,t.js2svg),!(i.length<r))break;e=i,r=i.length}return t.datauri&&(i=Ye(i,t.datauri)),{data:i}},Ci=async e=>{let t=l.resolve(e),n=(await import(h.pathToFileURL(t).toString())).default;if(typeof n!=`object`||!n||Array.isArray(n))throw Error(`Invalid config file "${e}"`);return n},wi=async e=>{try{return(await c.stat(e)).isFile()}catch{return!1}};t.VERSION=`4.0.0`,t._collections=Te,t.builtinPlugins=ii,t.loadConfig=async(e,t=process.cwd())=>{if(e!=null)return l.isAbsolute(e)?Ci(e):Ci(l.join(t,e));let n=t;for(;;){let e=l.join(n,`svgo.config.js`);if(await wi(e))return Ci(e);let t=l.join(n,`svgo.config.mjs`);if(await wi(t))return Ci(t);let r=l.join(n,`svgo.config.cjs`);if(await wi(r))return Ci(r);let i=l.dirname(n);if(n===i)return null;n=i}},t.mapNodesToParents=C,t.optimize=(e,t)=>{if(t??={},typeof t!=`object`)throw Error(`Config should be an object`);return Si(e,{...t,js2svg:{eol:s.EOL===`\r
|
|
78
|
+
`?`crlf`:`lf`,...t.js2svg}})},t.querySelector=ce,t.querySelectorAll=O}));export{require_svgo_node as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
String.fromCharCode;function decode(e=``){try{return decodeURIComponent(``+e)}catch{return``+e}}const PROTOCOL_STRICT_REGEX=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,PROTOCOL_REGEX=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,PROTOCOL_RELATIVE_REGEX=/^([/\\]\s*){2,}[^/\\]/,TRAILING_SLASH_RE=/\/$|\/\?|\/#/,JOIN_LEADING_SLASH_RE=/^\.?\//;function hasProtocol(e,u={}){return typeof u==`boolean`&&(u={acceptRelative:u}),u.strict?PROTOCOL_STRICT_REGEX.test(e):PROTOCOL_REGEX.test(e)||(u.acceptRelative?PROTOCOL_RELATIVE_REGEX.test(e):!1)}function hasTrailingSlash(e=``,s){return s?TRAILING_SLASH_RE.test(e):e.endsWith(`/`)}function withTrailingSlash(e=``,s){if(!s)return e.endsWith(`/`)?e:e+`/`;if(hasTrailingSlash(e,!0))return e||`/`;let c=e,l=``,u=e.indexOf(`#`);if(u!==-1&&(c=e.slice(0,u),l=e.slice(u),!c))return l;let[d,...f]=c.split(`?`);return d+`/`+(f.length>0?`?${f.join(`?`)}`:``)+l}function hasLeadingSlash(e=``){return e.startsWith(`/`)}function withLeadingSlash(e=``){return hasLeadingSlash(e)?e:`/`+e}function isNonEmptyURL(e){return e&&e!==`/`}function joinURL(e,...s){let c=e||``;for(let e of s.filter(e=>isNonEmptyURL(e)))if(c){let s=e.replace(JOIN_LEADING_SLASH_RE,``);c=withTrailingSlash(c)+s}else c=e;return c}export{withLeadingSlash as i,hasProtocol as n,joinURL as r,decode as t};
|