svg-path-commander 2.0.5 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/.eslintrc.cjs +1 -1
  2. package/.lgtm.yml +0 -0
  3. package/.prettierrc.json +0 -0
  4. package/LICENSE +0 -0
  5. package/README.md +5 -5
  6. package/cypress/e2e/svg-path-commander.spec.ts +1 -1
  7. package/cypress/fixtures/shapeObjects.js +0 -0
  8. package/cypress/fixtures/shapes.js +7 -7
  9. package/cypress/fixtures/simpleShapes.js +0 -0
  10. package/cypress/plugins/esbuild-istanbul.ts +0 -0
  11. package/cypress/plugins/tsCompile.ts +0 -0
  12. package/cypress/support/commands.ts +0 -0
  13. package/cypress/support/e2e.ts +0 -0
  14. package/cypress/test.html +0 -0
  15. package/cypress.config.ts +0 -0
  16. package/dist/svg-path-commander.cjs +1 -1
  17. package/dist/svg-path-commander.cjs.map +1 -1
  18. package/dist/svg-path-commander.d.ts +8 -0
  19. package/dist/svg-path-commander.js +1 -1
  20. package/dist/svg-path-commander.js.map +1 -1
  21. package/dist/svg-path-commander.mjs +66 -63
  22. package/dist/svg-path-commander.mjs.map +1 -1
  23. package/dts.config.ts +0 -0
  24. package/package.json +12 -12
  25. package/src/convert/pathToAbsolute.ts +0 -0
  26. package/src/convert/pathToCurve.ts +0 -0
  27. package/src/convert/pathToRelative.ts +0 -0
  28. package/src/convert/pathToString.ts +0 -0
  29. package/src/index.ts +2 -0
  30. package/src/interface.ts +0 -0
  31. package/src/math/distanceSquareRoot.ts +0 -0
  32. package/src/math/midPoint.ts +0 -0
  33. package/src/math/polygonArea.ts +0 -0
  34. package/src/math/polygonLength.ts +0 -0
  35. package/src/math/rotateVector.ts +0 -0
  36. package/src/options/options.ts +0 -0
  37. package/src/parser/error.ts +0 -0
  38. package/src/parser/finalizeSegment.ts +0 -0
  39. package/src/parser/invalidPathValue.ts +0 -0
  40. package/src/parser/isArcCommand.ts +0 -0
  41. package/src/parser/isDigit.ts +0 -0
  42. package/src/parser/isDigitStart.ts +0 -0
  43. package/src/parser/isPathCommand.ts +0 -0
  44. package/src/parser/isSpace.ts +0 -0
  45. package/src/parser/paramsCount.ts +0 -0
  46. package/src/parser/paramsParser.ts +0 -0
  47. package/src/parser/parsePathString.ts +0 -0
  48. package/src/parser/pathParser.ts +0 -0
  49. package/src/parser/scanFlag.ts +0 -0
  50. package/src/parser/scanParam.ts +0 -0
  51. package/src/parser/scanSegment.ts +0 -0
  52. package/src/parser/skipSpaces.ts +0 -0
  53. package/src/process/arcToCubic.ts +0 -0
  54. package/src/process/fixArc.ts +0 -0
  55. package/src/process/getSVGMatrix.ts +0 -0
  56. package/src/process/lineToCubic.ts +3 -3
  57. package/src/process/normalizePath.ts +0 -0
  58. package/src/process/normalizeSegment.ts +0 -0
  59. package/src/process/optimizePath.ts +0 -0
  60. package/src/process/projection2d.ts +0 -0
  61. package/src/process/quadToCubic.ts +0 -0
  62. package/src/process/reverseCurve.ts +0 -0
  63. package/src/process/reversePath.ts +0 -0
  64. package/src/process/roundPath.ts +0 -0
  65. package/src/process/segmentToCubic.ts +0 -0
  66. package/src/process/shortenSegment.ts +0 -0
  67. package/src/process/splitCubic.ts +0 -0
  68. package/src/process/splitPath.ts +0 -0
  69. package/src/process/transformPath.ts +0 -0
  70. package/src/types.ts +0 -0
  71. package/src/util/getClosestPoint.ts +0 -0
  72. package/src/util/getDrawDirection.ts +0 -0
  73. package/src/util/getPathArea.ts +0 -0
  74. package/src/util/getPathBBox.ts +0 -0
  75. package/src/util/getPointAtLength.ts +0 -0
  76. package/src/util/getPropertiesAtLength.ts +0 -0
  77. package/src/util/getPropertiesAtPoint.ts +0 -0
  78. package/src/util/getSegmentAtLength.ts +0 -0
  79. package/src/util/getSegmentOfPoint.ts +0 -0
  80. package/src/util/getTotalLength.ts +0 -0
  81. package/src/util/isAbsoluteArray.ts +0 -0
  82. package/src/util/isCurveArray.ts +0 -0
  83. package/src/util/isNormalizedArray.ts +0 -0
  84. package/src/util/isPathArray.ts +0 -0
  85. package/src/util/isPointInStroke.ts +0 -0
  86. package/src/util/isRelativeArray.ts +0 -0
  87. package/src/util/isValidPath.ts +0 -0
  88. package/src/util/pathLengthFactory.ts +0 -0
  89. package/src/util/segmentArcFactory.ts +0 -0
  90. package/src/util/segmentCubicFactory.ts +0 -0
  91. package/src/util/segmentLineFactory.ts +0 -0
  92. package/src/util/segmentQuadFactory.ts +0 -0
  93. package/src/util/shapeParams.ts +0 -0
  94. package/src/util/shapeToPath.ts +0 -0
  95. package/src/util/shapeToPathArray.ts +0 -0
  96. package/tsconfig.json +0 -0
  97. package/vite.config.ts +0 -0
package/.eslintrc.cjs CHANGED
@@ -141,7 +141,7 @@ module.exports = {
141
141
  "indent": "off",
142
142
  "jsdoc/check-alignment": "error",
143
143
  "jsdoc/check-indentation": "error",
144
- "jsdoc/newline-after-description": "error",
144
+ // "jsdoc/newline-after-description": "error",
145
145
  "linebreak-style": "off",
146
146
  "max-classes-per-file": [
147
147
  "error",
package/.lgtm.yml CHANGED
File without changes
package/.prettierrc.json CHANGED
File without changes
package/LICENSE CHANGED
File without changes
package/README.md CHANGED
@@ -4,11 +4,11 @@
4
4
  [![NPM Version](https://img.shields.io/npm/v/svg-path-commander.svg)](https://www.npmjs.com/package/svg-path-commander)
5
5
  [![NPM Downloads](https://img.shields.io/npm/dm/svg-path-commander.svg)](http://npm-stat.com/charts.html?svg-path-commander)
6
6
  [![jsDeliver](https://img.shields.io/jsdelivr/npm/hw/svg-path-commander)](https://www.jsdelivr.com/package/npm/svg-path-commander)
7
- [![typescript version](https://img.shields.io/badge/typescript-5.0.2-brightgreen)](https://www.typescriptlang.org/)
8
- [![cypress version](https://img.shields.io/badge/cypress-12.8.1-brightgreen)](https://www.cypress.io/)
9
- [![eslint version](https://img.shields.io/badge/eslint-8.36.0-brightgreen)](https://github.com/eslint)
10
- [![vite version](https://img.shields.io/badge/vite-4.2.0-brightgreen)](https://vitejs.dev/)
11
- [![prettier version](https://img.shields.io/badge/prettier-2.8.4-brightgreen)](https://prettier.io/)
7
+ [![typescript version](https://img.shields.io/badge/typescript-5.1.3-brightgreen)](https://www.typescriptlang.org/)
8
+ [![cypress version](https://img.shields.io/badge/cypress-12.14.0-brightgreen)](https://www.cypress.io/)
9
+ [![eslint version](https://img.shields.io/badge/eslint-8.42.0-brightgreen)](https://github.com/eslint)
10
+ [![vite version](https://img.shields.io/badge/vite-4.3.9-brightgreen)](https://vitejs.dev/)
11
+ [![prettier version](https://img.shields.io/badge/prettier-2.8.8-brightgreen)](https://prettier.io/)
12
12
 
13
13
  ![image](./docs/assets/SVGPathCommander.svg)
14
14
 
@@ -258,7 +258,7 @@ describe('SVGPathCommander Class Test', () => {
258
258
  cy.get('#test-svg path').then((svg) => {
259
259
  svg[0].setAttribute('d', rect.toString());
260
260
  expect(rect.round).to.equal('off')
261
- expect(svg[0].getAttribute('d')).to.equal('M2 0C0.8954305003384135 2.0290612532945332e-16 -1.3527075021963556e-16 0.8954305003384133 0 2C0 8 0 14 0 14C1.3527075021963556e-16 15.104569499661586 0.8954305003384133 16 2 16C8 16 14 16 14 16C15.104569499661586 16 16 15.104569499661586 16 14C16 8 16 2 16 2C16 0.8954305003384135 15.104569499661586 6.763537510981778e-17 14 0C8 0 2 0 2 0C2 0 2 0 2 0')
261
+ expect(svg[0].getAttribute('d')).to.equal('M2 0C0.8954305003384135 2.0290612532945332e-16 -1.3527075021963556e-16 0.8954305003384133 0 2C0 6 0 10 0 14C1.3527075021963556e-16 15.104569499661586 0.8954305003384133 16 2 16C6 16 10 16 14 16C15.104569499661586 16 16 15.104569499661586 16 14C16 10 16 6 16 2C16 0.8954305003384135 15.104569499661586 6.763537510981778e-17 14 0C10 0 6 0 2 0C2 0 2 0 2 0')
262
262
  })
263
263
  });
264
264
 
File without changes
@@ -51,13 +51,13 @@ const shapes = {
51
51
  ],
52
52
  curve: [
53
53
  "M16 8C16 4.13 12.42 1 8 1C3.58 1 0 4.13 0 8C0 9.76 0.74 11.37 1.97 12.6C1.87 13.62 1.55 14.73 1.2 15.57C1.12 15.75 1.27 15.96 1.47 15.93C3.73 15.56 5.07 14.99 5.65 14.69C6.42 14.9 7.21 15 8 15C12.42 15 16 11.87 16 8C16 8 16 8 16 8M7.19 6.77C7.28 6.89 7.36 7.03 7.42 7.17C7.85 8.11 7.81 9.54 6.48 10.87C6.31 11.04 6.04 11.04 5.87 10.88C5.7 10.72 5.69 10.46 5.86 10.29C6.27 9.88 6.53 9.46 6.67 9.07C6.4 9.24 6.08 9.33 5.74 9.33C4.78 9.33 4 8.59 4 7.67C4 6.75 4.78 6 5.73 6C6.01 6 6.26 6.06 6.49 6.17C6.49 6.17 6.5 6.17 6.5 6.17C6.67 6.24 6.82 6.35 6.97 6.49C7.05 6.58 7.13 6.67 7.19 6.77C7.19 6.77 7.19 6.77 7.19 6.77M11 9.07C10.73 9.24 10.41 9.33 10.07 9.33C9.11 9.33 8.34 8.59 8.34 7.67C8.34 6.75 9.11 6 10.07 6C10.34 6 10.6 6.06 10.82 6.17C10.83 6.17 10.83 6.17 10.83 6.17C11 6.24 11.16 6.35 11.3 6.49C11.39 6.58 11.46 6.67 11.53 6.76C11.61 6.89 11.69 7.02 11.75 7.16C12.18 8.11 12.15 9.54 10.81 10.87C10.64 11.03 10.37 11.04 10.2 10.88C10.03 10.72 10.02 10.45 10.19 10.29C10.61 9.87 10.86 9.46 11 9.07C11 9.07 11 9.07 11 9.07",
54
- "M16 14C16 9.5 16 5 16 5C8 5 0 5 0 5C0 9.5 0 14 0 14C0 15.1 0.9 16 2 16C8 16 14 16 14 16C15.1 16 16 15.1 16 14C16 14 16 14 16 14M2.56 12.33C2.21 12.33 1.85 12.33 1.85 12.33C2.8 9.67 3.75 7 3.75 7C4.1 7 4.44 7 4.44 7C5.39 9.67 6.34 12.33 6.34 12.33C5.98 12.33 5.62 12.33 5.62 12.33C5.35 11.53 5.08 10.73 5.08 10.73C4.09 10.73 3.1 10.73 3.1 10.73C2.83 11.53 2.56 12.33 2.56 12.33C2.56 12.33 2.56 12.33 2.56 12.33M4.1 7.81C4.09 7.81 4.08 7.81 4.08 7.81C3.68 8.99 3.28 10.18 3.28 10.18C4.09 10.18 4.9 10.18 4.9 10.18C4.5 8.99 4.1 7.81 4.1 7.81C4.1 7.81 4.1 7.81 4.1 7.81M9.85 8.23C9.85 10.28 9.85 12.33 9.85 12.33C9.52 12.33 9.18 12.33 9.18 12.33C9.18 12.06 9.18 11.79 9.18 11.79C9.17 11.79 9.16 11.79 9.16 11.79C9.01 12.12 8.62 12.4 7.97 12.4C7.12 12.4 6.51 11.91 6.51 10.97C6.51 9.6 6.51 8.23 6.51 8.23C6.85 8.23 7.19 8.23 7.19 8.23C7.19 9.5 7.19 10.78 7.19 10.78C7.19 11.55 7.63 11.79 8.17 11.79C8.76 11.79 9.17 11.42 9.17 10.77C9.17 9.5 9.17 8.23 9.17 8.23C9.51 8.23 9.85 8.23 9.85 8.23C9.85 8.23 9.85 8.23 9.85 8.23M11.12 12.64C11.2 12.97 11.55 13.27 12.11 13.27C12.76 13.27 13.18 12.9 13.18 12.25C13.18 11.95 13.18 11.65 13.18 11.65C13.17 11.65 13.16 11.65 13.16 11.65C13 12 12.55 12.29 11.99 12.29C11.03 12.29 10.35 11.62 10.35 10.39C10.35 10.22 10.35 10.05 10.35 10.05C10.35 8.84 11.02 8.16 11.99 8.16C12.55 8.16 12.99 8.46 13.18 8.8C13.19 8.8 13.2 8.8 13.2 8.8C13.2 8.52 13.2 8.23 13.2 8.23C13.53 8.23 13.85 8.23 13.85 8.23C13.85 10.24 13.85 12.26 13.85 12.26C13.85 13.31 13.03 13.84 12.1 13.84C11.06 13.84 10.53 13.32 10.44 12.64C10.78 12.64 11.12 12.64 11.12 12.64C11.12 12.64 11.12 12.64 11.12 12.64M13.18 10.1C13.18 9.27 12.76 8.74 12.12 8.74C11.42 8.74 11.02 9.23 11.02 10.1C11.02 10.23 11.02 10.36 11.02 10.36C11.02 11.21 11.42 11.72 12.12 11.72C12.79 11.72 13.18 11.2 13.18 10.36C13.18 10.23 13.18 10.1 13.18 10.1C13.18 10.1 13.18 10.1 13.18 10.1M4 0.5C4 0.12 3.58 -0.13 3.25 0.07C3.1 0.16 3 0.32 3 0.5C3 0.75 3 1 3 1C2.5 1 2 1 2 1C0.9 1 0 1.9 0 3C0 3.5 0 4 0 4C8 4 16 4 16 4C16 3.5 16 3 16 3C16 1.9 15.1 1 14 1C13.5 1 13 1 13 1C13 0.75 13 0.5 13 0.5C13 0.12 12.58 -0.13 12.25 0.07C12.1 0.16 12 0.32 12 0.5C12 0.75 12 1 12 1C8 1 4 1 4 1C4 0.75 4 0.5 4 0.5C4 0.5 4 0.5 4 0.5",
55
- "M5.5 0.5C5.5 0.22 5.72 0 6 0C8 0 10 0 10 0C10.38 0 10.63 0.42 10.43 0.75C10.34 0.9 10.18 1 10 1C9.5 1 9 1 9 1C9 1.54 9 2.07 9 2.07C14.33 2.84 16.83 9.1 13.5 13.33C13.21 13.7 12.89 14.03 12.54 14.33C12.95 14.74 13.35 15.15 13.35 15.15C13.63 15.42 13.5 15.88 13.13 15.98C12.96 16.03 12.77 15.98 12.65 15.85C12.18 15.39 11.72 14.93 11.72 14.93C10.61 15.63 9.32 16 8 16C6.68 16 5.39 15.63 4.28 14.93C3.82 15.39 3.35 15.85 3.35 15.85C3.08 16.13 2.62 16 2.52 15.63C2.47 15.46 2.52 15.27 2.65 15.15C3.05 14.74 3.46 14.33 3.46 14.33C-0.64 10.83 0.58 4.21 5.66 2.4C6.09 2.25 6.54 2.14 7 2.07C7 1.54 7 1 7 1C6.5 1 6 1 6 1C5.72 1 5.5 0.78 5.5 0.5C5.5 0.5 5.5 0.5 5.5 0.5M0.86 5.39C-0.59 4.12 -0.13 1.76 1.69 1.14C2.65 0.81 3.72 1.09 4.39 1.86C2.87 2.63 1.63 3.87 0.86 5.39C0.86 5.39 0.86 5.39 0.86 5.39M13.5 1C12.75 1 12.07 1.33 11.61 1.86C13.13 2.63 14.37 3.87 15.14 5.39C16.59 4.12 16.13 1.76 14.31 1.14C14.05 1.05 13.78 1 13.5 1C13.5 1 13.5 1 13.5 1M8.5 5C8.5 4.62 8.08 4.37 7.75 4.57C7.6 4.66 7.5 4.82 7.5 5C7.5 6.94 7.5 8.88 7.5 8.88C6.78 10.33 6.05 11.78 6.05 11.78C5.88 12.12 6.14 12.52 6.52 12.5C6.71 12.49 6.87 12.39 6.95 12.22C7.7 10.72 8.45 9.22 8.45 9.22C8.48 9.15 8.5 9.08 8.5 9C8.5 7 8.5 5 8.5 5C8.5 5 8.5 5 8.5 5",
56
- "M2 0C8 0 14 0 14 0C15.1 0 16 0.9 16 2C16 8 16 14 16 14C16 15.1 15.1 16 14 16C8 16 2 16 2 16C0.9 16 0 15.1 0 14C0 8 0 2 0 2C0 0.9 0.9 0 2 0C2 0 2 0 2 0M5.35 4.65C5.08 4.37 4.62 4.5 4.52 4.87C4.47 5.04 4.52 5.23 4.65 5.35C5.97 6.68 7.29 8 7.29 8C5.97 9.32 4.65 10.65 4.65 10.65C4.37 10.92 4.5 11.38 4.87 11.48C5.04 11.53 5.23 11.48 5.35 11.35C6.68 10.03 8 8.71 8 8.71C9.32 10.03 10.65 11.35 10.65 11.35C10.92 11.63 11.38 11.5 11.48 11.13C11.53 10.96 11.48 10.77 11.35 10.65C10.03 9.32 8.71 8 8.71 8C10.03 6.68 11.35 5.35 11.35 5.35C11.63 5.08 11.5 4.62 11.13 4.52C10.96 4.47 10.77 4.52 10.65 4.65C9.32 5.97 8 7.29 8 7.29C6.68 5.97 5.35 4.65 5.35 4.65C5.35 4.65 5.35 4.65 5.35 4.65",
57
- "M2 4C0.9 4 0 4.9 0 6C0 9 0 12 0 12C0 13.1 0.9 14 2 14C8 14 14 14 14 14C15.1 14 16 13.1 16 12C16 9 16 6 16 6C16 4.9 15.1 4 14 4C13.41 4 12.83 4 12.83 4C12.3 4 11.79 3.79 11.41 3.41C11 3 10.59 2.59 10.59 2.59C10.21 2.21 9.7 2 9.17 2C8 2 6.83 2 6.83 2C6.3 2 5.79 2.21 5.41 2.59C5 3 4.59 3.41 4.59 3.41C4.21 3.79 3.7 4 3.17 4C2.59 4 2 4 2 4C2 4 2 4 2 4M10.5 8.5C10.5 6.58 8.42 5.37 6.75 6.33C5.98 6.78 5.5 7.61 5.5 8.5C5.5 10.42 7.58 11.63 9.25 10.67C10.02 10.22 10.5 9.39 10.5 8.5C10.5 8.5 10.5 8.5 10.5 8.5M2.5 6C2.12 6 1.87 5.58 2.07 5.25C2.16 5.1 2.32 5 2.5 5C2.88 5 3.13 5.42 2.93 5.75C2.84 5.9 2.68 6 2.5 6C2.5 6 2.5 6 2.5 6M11.5 8.5C11.5 11.19 8.58 12.88 6.25 11.53C5.17 10.91 4.5 9.75 4.5 8.5C4.5 5.81 7.42 4.12 9.75 5.47C10.83 6.09 11.5 7.25 11.5 8.5C11.5 8.5 11.5 8.5 11.5 8.5",
58
- "M2 0C0.9 0 0 0.9 0 2C0 8 0 14 0 14C0 15.1 0.9 16 2 16C8 16 14 16 14 16C15.1 16 16 15.1 16 14C16 8 16 2 16 2C16 0.9 15.1 0 14 0C8 0 2 0 2 0C2 0 2 0 2 0M9.5 11C7.5 11 5.5 11 5.5 11C5.22 11 5 10.78 5 10.5C5 8.5 5 6.5 5 6.5C5 6.12 5.42 5.87 5.75 6.07C5.9 6.16 6 6.32 6 6.5C6 7.9 6 9.29 6 9.29C8.07 7.22 10.15 5.15 10.15 5.15C10.42 4.87 10.88 5 10.98 5.37C11.03 5.54 10.98 5.73 10.85 5.85C8.78 7.93 6.71 10 6.71 10C8.1 10 9.5 10 9.5 10C9.88 10 10.13 10.42 9.93 10.75C9.84 10.9 9.68 11 9.5 11C9.5 11 9.5 11 9.5 11",
59
- "M15.98 8.51C15.6 14.66 8.71 18.08 3.58 14.68C3.27 14.47 2.98 14.25 2.71 14.01C5.46 11.26 8.21 8.51 8.21 8.51C12.1 8.51 15.99 8.51 15.99 8.51C15.99 8.51 15.98 8.51 15.98 8.51M2 13.3C4.75 10.55 7.5 7.8 7.5 7.8C7.5 3.92 7.5 0.03 7.5 0.03C1.35 0.41 -2.07 7.3 1.33 12.43C1.53 12.73 1.75 13.02 2 13.3C2 13.3 2 13.3 2 13.3M8.5 0.03C12.52 0.28 15.73 3.49 15.99 7.52C12.25 7.52 8.5 7.52 8.5 7.52C8.5 3.78 8.5 0.03 8.5 0.03C8.5 0.03 8.5 0.03 8.5 0.03",
60
- "M8.66 8.66C8.66 6.66 8.66 4.66 8.66 4.66C8 4.66 7.34 4.66 7.34 4.66C7.34 6.66 7.34 8.66 7.34 8.66C8 8.66 8.65 8.66 8.65 8.66C8.66 8.66 8.66 8.66 8.66 8.66M8.66 11.34C8.66 10.67 8.66 10 8.66 10C8 10 7.34 10 7.34 10C7.34 10.67 7.34 11.34 7.34 11.34C8 11.34 8.65 11.34 8.65 11.34C8.66 11.34 8.66 11.34 8.66 11.34M8 1.34C9.83 1.34 11.4 1.99 12.7 3.29C14 4.59 14.65 6.16 14.66 8C14.67 9.84 14.02 11.41 12.71 12.7C11.4 13.99 9.83 14.65 8 14.66C6.17 14.67 4.6 14.02 3.3 12.7C2 11.38 1.35 9.81 1.34 8C1.33 6.19 1.99 4.62 3.3 3.3C4.61 1.98 6.18 1.33 8 1.34C8 1.34 8 1.34 8 1.34"
54
+ "M16 14C16 11 16 8 16 5C10.67 5 5.33 5 0 5C0 8 0 11 0 14C0 15.1 0.9 16 2 16C6 16 10 16 14 16C15.1 16 16 15.1 16 14C16 14 16 14 16 14M2.56 12.33C2.32 12.33 2.09 12.33 1.85 12.33C2.48 10.55 3.12 8.78 3.75 7C3.98 7 4.21 7 4.44 7C5.08 8.78 5.71 10.55 6.34 12.33C6.1 12.33 5.86 12.33 5.62 12.33C5.44 11.8 5.26 11.26 5.08 10.73C4.42 10.73 3.76 10.73 3.1 10.73C2.92 11.26 2.74 11.8 2.56 12.33C2.56 12.33 2.56 12.33 2.56 12.33M4.1 7.81C4.1 7.81 4.09 7.81 4.08 7.81C3.82 8.6 3.55 9.39 3.28 10.18C3.82 10.18 4.36 10.18 4.9 10.18C4.63 9.39 4.37 8.6 4.1 7.81C4.1 7.81 4.1 7.81 4.1 7.81M9.85 8.23C9.85 9.6 9.85 10.96 9.85 12.33C9.63 12.33 9.4 12.33 9.18 12.33C9.18 12.15 9.18 11.97 9.18 11.79C9.17 11.79 9.16 11.79 9.16 11.79C9.01 12.12 8.62 12.4 7.97 12.4C7.12 12.4 6.51 11.91 6.51 10.97C6.51 10.06 6.51 9.14 6.51 8.23C6.74 8.23 6.96 8.23 7.19 8.23C7.19 9.08 7.19 9.93 7.19 10.78C7.19 11.55 7.63 11.79 8.17 11.79C8.76 11.79 9.17 11.42 9.17 10.77C9.17 9.92 9.17 9.07 9.17 8.23C9.4 8.23 9.62 8.23 9.85 8.23C9.85 8.23 9.85 8.23 9.85 8.23M11.12 12.64C11.2 12.97 11.55 13.27 12.11 13.27C12.76 13.27 13.18 12.9 13.18 12.25C13.18 12.05 13.18 11.85 13.18 11.65C13.17 11.65 13.16 11.65 13.16 11.65C13 12 12.55 12.29 11.99 12.29C11.03 12.29 10.35 11.62 10.35 10.39C10.35 10.28 10.35 10.16 10.35 10.05C10.35 8.84 11.02 8.16 11.99 8.16C12.55 8.16 12.99 8.46 13.18 8.8C13.19 8.8 13.2 8.8 13.2 8.8C13.2 8.61 13.2 8.42 13.2 8.23C13.42 8.23 13.63 8.23 13.85 8.23C13.85 9.57 13.85 10.91 13.85 12.26C13.85 13.31 13.03 13.84 12.1 13.84C11.06 13.84 10.53 13.32 10.44 12.64C10.67 12.64 10.89 12.64 11.12 12.64C11.12 12.64 11.12 12.64 11.12 12.64M13.18 10.1C13.18 9.27 12.76 8.74 12.12 8.74C11.42 8.74 11.02 9.23 11.02 10.1C11.02 10.19 11.02 10.27 11.02 10.36C11.02 11.21 11.42 11.72 12.12 11.72C12.79 11.72 13.18 11.2 13.18 10.36C13.18 10.27 13.18 10.19 13.18 10.1C13.18 10.1 13.18 10.1 13.18 10.1M4 0.5C4 0.12 3.58 -0.13 3.25 0.07C3.1 0.16 3 0.32 3 0.5C3 0.67 3 0.83 3 1C2.67 1 2.33 1 2 1C0.9 1 0 1.9 0 3C0 3.33 0 3.67 0 4C5.33 4 10.67 4 16 4C16 3.67 16 3.33 16 3C16 1.9 15.1 1 14 1C13.67 1 13.33 1 13 1C13 0.83 13 0.67 13 0.5C13 0.12 12.58 -0.13 12.25 0.07C12.1 0.16 12 0.32 12 0.5C12 0.67 12 0.83 12 1C9.33 1 6.67 1 4 1C4 0.83 4 0.67 4 0.5C4 0.5 4 0.5 4 0.5",
55
+ "M5.5 0.5C5.5 0.22 5.72 0 6 0C7.33 0 8.67 0 10 0C10.38 0 10.63 0.42 10.43 0.75C10.34 0.9 10.18 1 10 1C9.67 1 9.33 1 9 1C9 1.36 9 1.71 9 2.07C14.33 2.84 16.83 9.1 13.5 13.33C13.21 13.7 12.89 14.03 12.54 14.33C12.81 14.6 13.08 14.87 13.35 15.15C13.63 15.42 13.5 15.88 13.13 15.98C12.96 16.03 12.77 15.98 12.65 15.85C12.34 15.55 12.03 15.24 11.72 14.93C10.61 15.63 9.32 16 8 16C6.68 16 5.39 15.63 4.28 14.93C3.97 15.24 3.66 15.55 3.35 15.85C3.08 16.13 2.62 16 2.52 15.63C2.47 15.46 2.52 15.27 2.65 15.15C2.92 14.87 3.19 14.6 3.46 14.33C-0.64 10.83 0.58 4.21 5.66 2.4C6.09 2.25 6.54 2.14 7 2.07C7 1.71 7 1.36 7 1C6.67 1 6.33 1 6 1C5.72 1 5.5 0.78 5.5 0.5C5.5 0.5 5.5 0.5 5.5 0.5M0.86 5.39C-0.59 4.12 -0.13 1.76 1.69 1.14C2.65 0.81 3.72 1.09 4.39 1.86C2.87 2.63 1.63 3.87 0.86 5.39C0.86 5.39 0.86 5.39 0.86 5.39M13.5 1C12.75 1 12.07 1.33 11.61 1.86C13.13 2.63 14.37 3.87 15.14 5.39C16.59 4.12 16.13 1.76 14.31 1.14C14.05 1.05 13.78 1 13.5 1C13.5 1 13.5 1 13.5 1M8.5 5C8.5 4.62 8.08 4.37 7.75 4.57C7.6 4.66 7.5 4.82 7.5 5C7.5 6.29 7.5 7.59 7.5 8.88C7.02 9.85 6.54 10.81 6.05 11.78C5.88 12.12 6.14 12.52 6.52 12.5C6.71 12.49 6.87 12.39 6.95 12.22C7.45 11.22 7.95 10.22 8.45 9.22C8.48 9.15 8.5 9.08 8.5 9C8.5 7.67 8.5 6.33 8.5 5C8.5 5 8.5 5 8.5 5",
56
+ "M2 0C6 0 10 0 14 0C15.1 0 16 0.9 16 2C16 6 16 10 16 14C16 15.1 15.1 16 14 16C10 16 6 16 2 16C0.9 16 0 15.1 0 14C0 10 0 6 0 2C0 0.9 0.9 0 2 0C2 0 2 0 2 0M5.35 4.65C5.08 4.37 4.62 4.5 4.52 4.87C4.47 5.04 4.52 5.23 4.65 5.35C5.53 6.24 6.41 7.12 7.29 8C6.41 8.88 5.53 9.76 4.65 10.65C4.37 10.92 4.5 11.38 4.87 11.48C5.04 11.53 5.23 11.48 5.35 11.35C6.24 10.47 7.12 9.59 8 8.71C8.88 9.59 9.76 10.47 10.65 11.35C10.92 11.63 11.38 11.5 11.48 11.13C11.53 10.96 11.48 10.77 11.35 10.65C10.47 9.76 9.59 8.88 8.71 8C9.59 7.12 10.47 6.24 11.35 5.35C11.63 5.08 11.5 4.62 11.13 4.52C10.96 4.47 10.77 4.52 10.65 4.65C9.76 5.53 8.88 6.41 8 7.29C7.12 6.41 6.24 5.53 5.35 4.65C5.35 4.65 5.35 4.65 5.35 4.65",
57
+ "M2 4C0.9 4 0 4.9 0 6C0 8 0 10 0 12C0 13.1 0.9 14 2 14C6 14 10 14 14 14C15.1 14 16 13.1 16 12C16 10 16 8 16 6C16 4.9 15.1 4 14 4C13.61 4 13.22 4 12.83 4C12.3 4 11.79 3.79 11.41 3.41C11.14 3.14 10.86 2.86 10.59 2.59C10.21 2.21 9.7 2 9.17 2C8.39 2 7.61 2 6.83 2C6.3 2 5.79 2.21 5.41 2.59C5.14 2.86 4.86 3.14 4.59 3.41C4.21 3.79 3.7 4 3.17 4C2.78 4 2.39 4 2 4C2 4 2 4 2 4M10.5 8.5C10.5 6.58 8.42 5.37 6.75 6.33C5.98 6.78 5.5 7.61 5.5 8.5C5.5 10.42 7.58 11.63 9.25 10.67C10.02 10.22 10.5 9.39 10.5 8.5C10.5 8.5 10.5 8.5 10.5 8.5M2.5 6C2.12 6 1.87 5.58 2.07 5.25C2.16 5.1 2.32 5 2.5 5C2.88 5 3.13 5.42 2.93 5.75C2.84 5.9 2.68 6 2.5 6C2.5 6 2.5 6 2.5 6M11.5 8.5C11.5 11.19 8.58 12.88 6.25 11.53C5.17 10.91 4.5 9.75 4.5 8.5C4.5 5.81 7.42 4.12 9.75 5.47C10.83 6.09 11.5 7.25 11.5 8.5C11.5 8.5 11.5 8.5 11.5 8.5",
58
+ "M2 0C0.9 0 0 0.9 0 2C0 6 0 10 0 14C0 15.1 0.9 16 2 16C6 16 10 16 14 16C15.1 16 16 15.1 16 14C16 10 16 6 16 2C16 0.9 15.1 0 14 0C10 0 6 0 2 0C2 0 2 0 2 0M9.5 11C8.17 11 6.83 11 5.5 11C5.22 11 5 10.78 5 10.5C5 9.17 5 7.83 5 6.5C5 6.12 5.42 5.87 5.75 6.07C5.9 6.16 6 6.32 6 6.5C6 7.43 6 8.36 6 9.29C7.38 7.91 8.76 6.53 10.15 5.15C10.42 4.87 10.88 5 10.98 5.37C11.03 5.54 10.98 5.73 10.85 5.85C9.47 7.24 8.09 8.62 6.71 10C7.64 10 8.57 10 9.5 10C9.88 10 10.13 10.42 9.93 10.75C9.84 10.9 9.68 11 9.5 11C9.5 11 9.5 11 9.5 11",
59
+ "M15.98 8.51C15.6 14.66 8.71 18.08 3.58 14.68C3.27 14.47 2.98 14.25 2.71 14.01C4.54 12.18 6.38 10.34 8.21 8.51C10.8 8.51 13.4 8.51 15.99 8.51C15.99 8.51 15.98 8.51 15.98 8.51M2 13.3C3.83 11.47 5.67 9.63 7.5 7.8C7.5 5.21 7.5 2.62 7.5 0.03C1.35 0.41 -2.07 7.3 1.33 12.43C1.53 12.73 1.75 13.02 2 13.3C2 13.3 2 13.3 2 13.3M8.5 0.03C12.52 0.28 15.73 3.49 15.99 7.52C13.49 7.52 11 7.52 8.5 7.52C8.5 5.02 8.5 2.53 8.5 0.03C8.5 0.03 8.5 0.03 8.5 0.03",
60
+ "M8.66 8.66C8.66 7.33 8.66 5.99 8.66 4.66C8.22 4.66 7.78 4.66 7.34 4.66C7.34 5.99 7.34 7.33 7.34 8.66C7.78 8.66 8.21 8.66 8.65 8.66C8.65 8.66 8.66 8.66 8.66 8.66M8.66 11.34C8.66 10.89 8.66 10.45 8.66 10C8.22 10 7.78 10 7.34 10C7.34 10.45 7.34 10.89 7.34 11.34C7.78 11.34 8.21 11.34 8.65 11.34C8.65 11.34 8.66 11.34 8.66 11.34M8 1.34C9.83 1.34 11.4 1.99 12.7 3.29C14 4.59 14.65 6.16 14.66 8C14.67 9.84 14.02 11.41 12.71 12.7C11.4 13.99 9.83 14.65 8 14.66C6.17 14.67 4.6 14.02 3.3 12.7C2 11.38 1.35 9.81 1.34 8C1.33 6.19 1.99 4.62 3.3 3.3C4.61 1.98 6.18 1.33 8 1.34C8 1.34 8 1.34 8 1.34"
61
61
  ],
62
62
  scaled: [
63
63
  "M15.2 8.05C15.2 4.57 11.98 1.75 8 1.75S0.8 4.57 0.8 8.05C0.8 9.63 1.47 11.08 2.57 12.19C2.49 13.1 2.2 14.1 1.88 14.86C1.81 15.02 1.94 15.21 2.12 15.18C4.15 14.85 5.36 14.34 5.89 14.07C6.58 14.26 7.29 14.35 8 14.35C11.98 14.35 15.2 11.53 15.2 8.05ZM7.27 6.94C7.35 7.05 7.42 7.17 7.48 7.3C7.86 8.15 7.83 9.44 6.63 10.63C6.48 10.78 6.24 10.78 6.08 10.64C5.93 10.5 5.92 10.26 6.07 10.11C6.45 9.73 6.68 9.36 6.8 9.01C6.56 9.16 6.27 9.25 5.96 9.25C5.1 9.25 4.4 8.57 4.4 7.75C4.4 6.92 5.1 6.25 5.96 6.25C6.2 6.25 6.44 6.3 6.64 6.4L6.65 6.4C6.8 6.46 6.94 6.56 7.07 6.69C7.15 6.76 7.21 6.85 7.27 6.94ZM10.7 9.01C10.46 9.16 10.17 9.25 9.86 9.25C9 9.25 8.3 8.57 8.3 7.75C8.3 6.92 9 6.25 9.86 6.25C10.11 6.25 10.34 6.3 10.54 6.4L10.55 6.4C10.7 6.46 10.84 6.56 10.97 6.69C11.05 6.76 11.11 6.85 11.17 6.93C11.25 7.04 11.32 7.17 11.38 7.29C11.76 8.15 11.73 9.43 10.53 10.63C10.38 10.78 10.14 10.78 9.98 10.64C9.83 10.5 9.82 10.25 9.97 10.11C10.35 9.73 10.57 9.36 10.7 9.01Z",
File without changes
File without changes
File without changes
File without changes
File without changes
package/cypress/test.html CHANGED
File without changes
package/cypress.config.ts CHANGED
File without changes
@@ -1,2 +1,2 @@
1
- "use strict";var Gt=Object.defineProperty;var te=(e,t,n)=>t in e?Gt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var N=(e,t,n)=>(te(e,typeof t!="symbol"?t+"":t,n),n);const mt={origin:[0,0,0],round:4},k="SVGPathCommander Error",U={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},Tt=e=>{let t=e.pathValue[e.segmentStart],n=t.toLowerCase();const{data:r}=e;for(;r.length>=U[n]&&(n==="m"&&r.length>2?(e.segments.push([t,...r.splice(0,2)]),n="l",t=t==="m"?"l":"L"):e.segments.push([t,...r.splice(0,U[n])]),!!U[n]););},ee=e=>{const{index:t,pathValue:n}=e,r=n.charCodeAt(t);if(r===48){e.param=0,e.index+=1;return}if(r===49){e.param=1,e.index+=1;return}e.err=`${k}: invalid Arc flag "${n[t]}", expecting 0 or 1 at index ${t}`},D=e=>e>=48&&e<=57,R="Invalid path value",ne=e=>{const{max:t,pathValue:n,index:r}=e;let s=r,i=!1,o=!1,a=!1,l=!1,c;if(s>=t){e.err=`${k}: ${R} at index ${s}, "pathValue" is missing param`;return}if(c=n.charCodeAt(s),(c===43||c===45)&&(s+=1,c=n.charCodeAt(s)),!D(c)&&c!==46){e.err=`${k}: ${R} at index ${s}, "${n[s]}" is not a number`;return}if(c!==46){if(i=c===48,s+=1,c=n.charCodeAt(s),i&&s<t&&c&&D(c)){e.err=`${k}: ${R} at index ${r}, "${n[r]}" illegal number`;return}for(;s<t&&D(n.charCodeAt(s));)s+=1,o=!0;c=n.charCodeAt(s)}if(c===46){for(l=!0,s+=1;D(n.charCodeAt(s));)s+=1,a=!0;c=n.charCodeAt(s)}if(c===101||c===69){if(l&&!o&&!a){e.err=`${k}: ${R} at index ${s}, "${n[s]}" invalid float exponent`;return}if(s+=1,c=n.charCodeAt(s),(c===43||c===45)&&(s+=1),s<t&&D(n.charCodeAt(s)))for(;s<t&&D(n.charCodeAt(s));)s+=1;else{e.err=`${k}: ${R} at index ${s}, "${n[s]}" invalid integer exponent`;return}}e.index=s,e.param=+e.pathValue.slice(r,s)},se=e=>[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279,10,13,8232,8233,32,9,11,12,160].includes(e),V=e=>{const{pathValue:t,max:n}=e;for(;e.index<n&&se(t.charCodeAt(e.index));)e.index+=1},re=e=>{switch(e|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return!0;default:return!1}},ie=e=>D(e)||e===43||e===45||e===46,oe=e=>(e|32)===97,jt=e=>{const{max:t,pathValue:n,index:r}=e,s=n.charCodeAt(r),i=U[n[r].toLowerCase()];if(e.segmentStart=r,!re(s)){e.err=`${k}: ${R} "${n[r]}" is not a path command`;return}if(e.index+=1,V(e),e.data=[],!i){Tt(e);return}for(;;){for(let o=i;o>0;o-=1){if(oe(s)&&(o===3||o===4)?ee(e):ne(e),e.err.length)return;e.data.push(e.param),V(e),e.index<t&&n.charCodeAt(e.index)===44&&(e.index+=1,V(e))}if(e.index>=e.max||!ie(n.charCodeAt(e.index)))break}Tt(e)};class zt{constructor(t){this.segments=[],this.pathValue=t,this.max=t.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}}const _=e=>Array.isArray(e)&&e.every(t=>{const n=t[0].toLowerCase();return U[n]===t.length-1&&"achlmqstvz".includes(n)&&t.slice(1).every(Number.isFinite)})&&e.length>0,Z=e=>{if(_(e))return[...e];const t=new zt(e);for(V(t);t.index<t.max&&!t.err.length;)jt(t);if(t.err&&t.err.length)throw TypeError(t.err);return t.segments},ce=e=>{const t=e.length;let n=-1,r,s=e[t-1],i=0;for(;++n<t;)r=s,s=e[n],i+=r[1]*s[0]-r[0]*s[1];return i/2},W=(e,t)=>Math.sqrt((e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1])),le=e=>e.reduce((t,n,r)=>r?t+W(e[r-1],n):0,0);var ae=Object.defineProperty,me=(e,t,n)=>t in e?ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,C=(e,t,n)=>(me(e,typeof t!="symbol"?t+"":t,n),n);const he={a:1,b:0,c:0,d:1,e:0,f:0,m11:1,m12:0,m13:0,m14:0,m21:0,m22:1,m23:0,m24:0,m31:0,m32:0,m33:1,m34:0,m41:0,m42:0,m43:0,m44:1,is2D:!0,isIdentity:!0},It=e=>(e instanceof Float64Array||e instanceof Float32Array||Array.isArray(e)&&e.every(t=>typeof t=="number"))&&[6,16].some(t=>e.length===t),Dt=e=>e instanceof DOMMatrix||e instanceof v||typeof e=="object"&&Object.keys(he).every(t=>e&&t in e),G=e=>{const t=new v,n=Array.from(e);if(!It(n))throw TypeError(`CSSMatrix: "${n.join(",")}" must be an array with 6/16 numbers.`);if(n.length===16){const[r,s,i,o,a,l,c,m,u,y,g,f,h,x,p,b]=n;t.m11=r,t.a=r,t.m21=a,t.c=a,t.m31=u,t.m41=h,t.e=h,t.m12=s,t.b=s,t.m22=l,t.d=l,t.m32=y,t.m42=x,t.f=x,t.m13=i,t.m23=c,t.m33=g,t.m43=p,t.m14=o,t.m24=m,t.m34=f,t.m44=b}else if(n.length===6){const[r,s,i,o,a,l]=n;t.m11=r,t.a=r,t.m12=s,t.b=s,t.m21=i,t.c=i,t.m22=o,t.d=o,t.m41=a,t.e=a,t.m42=l,t.f=l}return t},Zt=e=>{if(Dt(e))return G([e.m11,e.m12,e.m13,e.m14,e.m21,e.m22,e.m23,e.m24,e.m31,e.m32,e.m33,e.m34,e.m41,e.m42,e.m43,e.m44]);throw TypeError(`CSSMatrix: "${JSON.stringify(e)}" is not a DOMMatrix / CSSMatrix / JSON compatible object.`)},Ft=e=>{if(typeof e!="string")throw TypeError(`CSSMatrix: "${JSON.stringify(e)}" is not a string.`);const t=String(e).replace(/\s/g,"");let n=new v;const r=`CSSMatrix: invalid transform string "${e}"`;return t.split(")").filter(s=>s).forEach(s=>{const[i,o]=s.split("(");if(!o)throw TypeError(r);const a=o.split(",").map(f=>f.includes("rad")?parseFloat(f)*(180/Math.PI):parseFloat(f)),[l,c,m,u]=a,y=[l,c,m],g=[l,c,m,u];if(i==="perspective"&&l&&[c,m].every(f=>f===void 0))n.m34=-1/l;else if(i.includes("matrix")&&[6,16].includes(a.length)&&a.every(f=>!Number.isNaN(+f))){const f=a.map(h=>Math.abs(h)<1e-6?0:h);n=n.multiply(G(f))}else if(i==="translate3d"&&y.every(f=>!Number.isNaN(+f)))n=n.translate(l,c,m);else if(i==="translate"&&l&&m===void 0)n=n.translate(l,c||0,0);else if(i==="rotate3d"&&g.every(f=>!Number.isNaN(+f))&&u)n=n.rotateAxisAngle(l,c,m,u);else if(i==="rotate"&&l&&[c,m].every(f=>f===void 0))n=n.rotate(0,0,l);else if(i==="scale3d"&&y.every(f=>!Number.isNaN(+f))&&y.some(f=>f!==1))n=n.scale(l,c,m);else if(i==="scale"&&!Number.isNaN(l)&&l!==1&&m===void 0){const f=Number.isNaN(+c)?l:c;n=n.scale(l,f,1)}else if(i==="skew"&&(l||!Number.isNaN(l)&&c)&&m===void 0)n=n.skew(l,c||0);else if(["translate","rotate","scale","skew"].some(f=>i.includes(f))&&/[XYZ]/.test(i)&&l&&[c,m].every(f=>f===void 0))if(i==="skewX"||i==="skewY")n=n[i](l);else{const f=i.replace(/[XYZ]/,""),h=i.replace(f,""),x=["X","Y","Z"].indexOf(h),p=f==="scale"?1:0,b=[x===0?l:p,x===1?l:p,x===2?l:p];n=n[f](...b)}else throw TypeError(r)}),n},bt=(e,t)=>t?[e.a,e.b,e.c,e.d,e.e,e.f]:[e.m11,e.m12,e.m13,e.m14,e.m21,e.m22,e.m23,e.m24,e.m31,e.m32,e.m33,e.m34,e.m41,e.m42,e.m43,e.m44],Rt=(e,t,n)=>{const r=new v;return r.m41=e,r.e=e,r.m42=t,r.f=t,r.m43=n,r},Xt=(e,t,n)=>{const r=new v,s=Math.PI/180,i=e*s,o=t*s,a=n*s,l=Math.cos(i),c=-Math.sin(i),m=Math.cos(o),u=-Math.sin(o),y=Math.cos(a),g=-Math.sin(a),f=m*y,h=-m*g;r.m11=f,r.a=f,r.m12=h,r.b=h,r.m13=u;const x=c*u*y+l*g;r.m21=x,r.c=x;const p=l*y-c*u*g;return r.m22=p,r.d=p,r.m23=-c*m,r.m31=c*g-l*u*y,r.m32=c*y+l*u*g,r.m33=l*m,r},Qt=(e,t,n,r)=>{const s=new v,i=Math.sqrt(e*e+t*t+n*n);if(i===0)return s;const o=e/i,a=t/i,l=n/i,c=r*(Math.PI/360),m=Math.sin(c),u=Math.cos(c),y=m*m,g=o*o,f=a*a,h=l*l,x=1-2*(f+h)*y;s.m11=x,s.a=x;const p=2*(o*a*y+l*m*u);s.m12=p,s.b=p,s.m13=2*(o*l*y-a*m*u);const b=2*(a*o*y-l*m*u);s.m21=b,s.c=b;const A=1-2*(h+g)*y;return s.m22=A,s.d=A,s.m23=2*(a*l*y+o*m*u),s.m31=2*(l*o*y+a*m*u),s.m32=2*(l*a*y-o*m*u),s.m33=1-2*(g+f)*y,s},Ht=(e,t,n)=>{const r=new v;return r.m11=e,r.a=e,r.m22=t,r.d=t,r.m33=n,r},ht=(e,t)=>{const n=new v;if(e){const r=e*Math.PI/180,s=Math.tan(r);n.m21=s,n.c=s}if(t){const r=t*Math.PI/180,s=Math.tan(r);n.m12=s,n.b=s}return n},Yt=e=>ht(e,0),Bt=e=>ht(0,e),O=(e,t)=>{const n=t.m11*e.m11+t.m12*e.m21+t.m13*e.m31+t.m14*e.m41,r=t.m11*e.m12+t.m12*e.m22+t.m13*e.m32+t.m14*e.m42,s=t.m11*e.m13+t.m12*e.m23+t.m13*e.m33+t.m14*e.m43,i=t.m11*e.m14+t.m12*e.m24+t.m13*e.m34+t.m14*e.m44,o=t.m21*e.m11+t.m22*e.m21+t.m23*e.m31+t.m24*e.m41,a=t.m21*e.m12+t.m22*e.m22+t.m23*e.m32+t.m24*e.m42,l=t.m21*e.m13+t.m22*e.m23+t.m23*e.m33+t.m24*e.m43,c=t.m21*e.m14+t.m22*e.m24+t.m23*e.m34+t.m24*e.m44,m=t.m31*e.m11+t.m32*e.m21+t.m33*e.m31+t.m34*e.m41,u=t.m31*e.m12+t.m32*e.m22+t.m33*e.m32+t.m34*e.m42,y=t.m31*e.m13+t.m32*e.m23+t.m33*e.m33+t.m34*e.m43,g=t.m31*e.m14+t.m32*e.m24+t.m33*e.m34+t.m34*e.m44,f=t.m41*e.m11+t.m42*e.m21+t.m43*e.m31+t.m44*e.m41,h=t.m41*e.m12+t.m42*e.m22+t.m43*e.m32+t.m44*e.m42,x=t.m41*e.m13+t.m42*e.m23+t.m43*e.m33+t.m44*e.m43,p=t.m41*e.m14+t.m42*e.m24+t.m43*e.m34+t.m44*e.m44;return G([n,r,s,i,o,a,l,c,m,u,y,g,f,h,x,p])};class v{constructor(t){return this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0,this.m11=1,this.m12=0,this.m13=0,this.m14=0,this.m21=0,this.m22=1,this.m23=0,this.m24=0,this.m31=0,this.m32=0,this.m33=1,this.m34=0,this.m41=0,this.m42=0,this.m43=0,this.m44=1,t?this.setMatrixValue(t):this}get isIdentity(){return this.m11===1&&this.m12===0&&this.m13===0&&this.m14===0&&this.m21===0&&this.m22===1&&this.m23===0&&this.m24===0&&this.m31===0&&this.m32===0&&this.m33===1&&this.m34===0&&this.m41===0&&this.m42===0&&this.m43===0&&this.m44===1}get is2D(){return this.m31===0&&this.m32===0&&this.m33===1&&this.m34===0&&this.m43===0&&this.m44===1}setMatrixValue(t){return typeof t=="string"&&t.length&&t!=="none"?Ft(t):Array.isArray(t)||t instanceof Float64Array||t instanceof Float32Array?G(t):typeof t=="object"?Zt(t):this}toFloat32Array(t){return Float32Array.from(bt(this,t))}toFloat64Array(t){return Float64Array.from(bt(this,t))}toString(){const{is2D:t}=this,n=this.toFloat64Array(t).join(", ");return`${t?"matrix":"matrix3d"}(${n})`}toJSON(){const{is2D:t,isIdentity:n}=this;return{...this,is2D:t,isIdentity:n}}multiply(t){return O(this,t)}translate(t,n,r){const s=t;let i=n,o=r;return typeof i>"u"&&(i=0),typeof o>"u"&&(o=0),O(this,Rt(s,i,o))}scale(t,n,r){const s=t;let i=n,o=r;return typeof i>"u"&&(i=t),typeof o>"u"&&(o=1),O(this,Ht(s,i,o))}rotate(t,n,r){let s=t,i=n||0,o=r||0;return typeof t=="number"&&typeof n>"u"&&typeof r>"u"&&(o=s,s=0,i=0),O(this,Xt(s,i,o))}rotateAxisAngle(t,n,r,s){if([t,n,r,s].some(i=>Number.isNaN(+i)))throw new TypeError("CSSMatrix: expecting 4 values");return O(this,Qt(t,n,r,s))}skewX(t){return O(this,Yt(t))}skewY(t){return O(this,Bt(t))}skew(t,n){return O(this,ht(t,n))}transformPoint(t){const n=this.m11*t.x+this.m21*t.y+this.m31*t.z+this.m41*t.w,r=this.m12*t.x+this.m22*t.y+this.m32*t.z+this.m42*t.w,s=this.m13*t.x+this.m23*t.y+this.m33*t.z+this.m43*t.w,i=this.m14*t.x+this.m24*t.y+this.m34*t.z+this.m44*t.w;return t instanceof DOMPoint?new DOMPoint(n,r,s,i):{x:n,y:r,z:s,w:i}}}C(v,"Translate",Rt),C(v,"Rotate",Xt),C(v,"RotateAxisAngle",Qt),C(v,"Scale",Ht),C(v,"SkewX",Yt),C(v,"SkewY",Bt),C(v,"Skew",ht),C(v,"Multiply",O),C(v,"fromArray",G),C(v,"fromMatrix",Zt),C(v,"fromString",Ft),C(v,"toArray",bt),C(v,"isCompatibleArray",It),C(v,"isCompatibleObject",Dt);const wt=e=>_(e)&&e.every(([t])=>t===t.toUpperCase()),Q=e=>{if(wt(e))return[...e];const t=Z(e);let n=0,r=0,s=0,i=0;return t.map(o=>{const a=o.slice(1).map(Number),[l]=o,c=l.toUpperCase();if(l==="M")return[n,r]=a,s=n,i=r,["M",n,r];let m=[];if(l!==c)if(c==="A")m=[c,a[0],a[1],a[2],a[3],a[4],a[5]+n,a[6]+r];else if(c==="V")m=[c,a[0]+r];else if(c==="H")m=[c,a[0]+n];else{const u=a.map((y,g)=>y+(g%2?r:n));m=[c,...u]}else m=[c,...a];return c==="Z"?(n=s,r=i):c==="H"?[,n]=m:c==="V"?[,r]=m:([n,r]=m.slice(-2),c==="M"&&(s=n,i=r)),m})},ue=(e,t)=>{const[n]=e,{x1:r,y1:s,x2:i,y2:o}=t,a=e.slice(1).map(Number);let l=e;if("TQ".includes(n)||(t.qx=null,t.qy=null),n==="H")l=["L",e[1],s];else if(n==="V")l=["L",r,e[1]];else if(n==="S"){const c=r*2-i,m=s*2-o;t.x1=c,t.y1=m,l=["C",c,m,...a]}else if(n==="T"){const c=r*2-(t.qx?t.qx:0),m=s*2-(t.qy?t.qy:0);t.qx=c,t.qy=m,l=["Q",c,m,...a]}else if(n==="Q"){const[c,m]=a;t.qx=c,t.qy=m}return l},vt=e=>wt(e)&&e.every(([t])=>"ACLMQZ".includes(t)),ut={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null},z=e=>{if(vt(e))return[...e];const t=Q(e),n={...ut},r=t.length;for(let s=0;s<r;s+=1){t[s],t[s]=ue(t[s],n);const i=t[s],o=i.length;n.x1=+i[o-2],n.y1=+i[o-1],n.x2=+i[o-4]||n.x1,n.y2=+i[o-3]||n.y1}return t},j=(e,t,n)=>{const[r,s]=e,[i,o]=t;return[r+(i-r)*n,s+(o-s)*n]},dt=(e,t,n,r,s)=>{const i=W([e,t],[n,r]);let o={x:0,y:0};if(typeof s=="number")if(s<=0)o={x:e,y:t};else if(s>=i)o={x:n,y:r};else{const[a,l]=j([e,t],[n,r],s/i);o={x:a,y:l}}return{length:i,point:o,min:{x:Math.min(e,n),y:Math.min(t,r)},max:{x:Math.max(e,n),y:Math.max(t,r)}}},Lt=(e,t)=>{const{x:n,y:r}=e,{x:s,y:i}=t,o=n*s+r*i,a=Math.sqrt((n**2+r**2)*(s**2+i**2));return(n*i-r*s<0?-1:1)*Math.acos(o/a)},fe=(e,t,n,r,s,i,o,a,l,c)=>{const{abs:m,sin:u,cos:y,sqrt:g,PI:f}=Math;let h=m(n),x=m(r);const b=(s%360+360)%360*(f/180);if(e===a&&t===l)return{x:e,y:t};if(h===0||x===0)return dt(e,t,a,l,c).point;const A=(e-a)/2,d=(t-l)/2,M={x:y(b)*A+u(b)*d,y:-u(b)*A+y(b)*d},T=M.x**2/h**2+M.y**2/x**2;T>1&&(h*=g(T),x*=g(T));const E=h**2*x**2-h**2*M.y**2-x**2*M.x**2,H=h**2*M.y**2+x**2*M.x**2;let F=E/H;F=F<0?0:F;const tt=(i!==o?1:-1)*g(F),S={x:tt*(h*M.y/x),y:tt*(-(x*M.x)/h)},et={x:y(b)*S.x-u(b)*S.y+(e+a)/2,y:u(b)*S.x+y(b)*S.y+(t+l)/2},Y={x:(M.x-S.x)/h,y:(M.y-S.y)/x},nt=Lt({x:1,y:0},Y),st={x:(-M.x-S.x)/h,y:(-M.y-S.y)/x};let $=Lt(Y,st);!o&&$>0?$-=2*f:o&&$<0&&($+=2*f),$%=2*f;const q=nt+$*c,B=h*y(q),J=x*u(q);return{x:y(b)*B-u(b)*J+et.x,y:u(b)*B+y(b)*J+et.y}},ye=(e,t,n,r,s,i,o,a,l,c)=>{const m=typeof c=="number";let u=e,y=t,g=0,f=[u,y,g],h=[u,y],x=0,p={x:0,y:0},b=[{x:u,y}];m&&c<=0&&(p={x:u,y});const A=300;for(let d=0;d<=A;d+=1){if(x=d/A,{x:u,y}=fe(e,t,n,r,s,i,o,a,l,x),b=[...b,{x:u,y}],g+=W(h,[u,y]),h=[u,y],m&&g>c&&c>f[2]){const M=(g-c)/(g-f[2]);p={x:h[0]*(1-M)+f[0]*M,y:h[1]*(1-M)+f[1]*M}}f=[u,y,g]}return m&&c>=g&&(p={x:a,y:l}),{length:g,point:p,min:{x:Math.min(...b.map(d=>d.x)),y:Math.min(...b.map(d=>d.y))},max:{x:Math.max(...b.map(d=>d.x)),y:Math.max(...b.map(d=>d.y))}}},ge=(e,t,n,r,s,i,o,a,l)=>{const c=1-l;return{x:c**3*e+3*c**2*l*n+3*c*l**2*s+l**3*o,y:c**3*t+3*c**2*l*r+3*c*l**2*i+l**3*a}},xe=(e,t,n,r,s,i,o,a,l)=>{const c=typeof l=="number";let m=e,u=t,y=0,g=[m,u,y],f=[m,u],h=0,x={x:0,y:0},p=[{x:m,y:u}];c&&l<=0&&(x={x:m,y:u});const b=300;for(let A=0;A<=b;A+=1){if(h=A/b,{x:m,y:u}=ge(e,t,n,r,s,i,o,a,h),p=[...p,{x:m,y:u}],y+=W(f,[m,u]),f=[m,u],c&&y>l&&l>g[2]){const d=(y-l)/(y-g[2]);x={x:f[0]*(1-d)+g[0]*d,y:f[1]*(1-d)+g[1]*d}}g=[m,u,y]}return c&&l>=y&&(x={x:o,y:a}),{length:y,point:x,min:{x:Math.min(...p.map(A=>A.x)),y:Math.min(...p.map(A=>A.y))},max:{x:Math.max(...p.map(A=>A.x)),y:Math.max(...p.map(A=>A.y))}}},pe=(e,t,n,r,s,i,o)=>{const a=1-o;return{x:a**2*e+2*a*o*n+o**2*s,y:a**2*t+2*a*o*r+o**2*i}},be=(e,t,n,r,s,i,o)=>{const a=typeof o=="number";let l=e,c=t,m=0,u=[l,c,m],y=[l,c],g=0,f={x:0,y:0},h=[{x:l,y:c}];a&&o<=0&&(f={x:l,y:c});const x=300;for(let p=0;p<=x;p+=1){if(g=p/x,{x:l,y:c}=pe(e,t,n,r,s,i,g),h=[...h,{x:l,y:c}],m+=W(y,[l,c]),y=[l,c],a&&m>o&&o>u[2]){const b=(m-o)/(m-u[2]);f={x:y[0]*(1-b)+u[0]*b,y:y[1]*(1-b)+u[1]*b}}u=[l,c,m]}return a&&o>=m&&(f={x:s,y:i}),{length:m,point:f,min:{x:Math.min(...h.map(p=>p.x)),y:Math.min(...h.map(p=>p.y))},max:{x:Math.max(...h.map(p=>p.x)),y:Math.max(...h.map(p=>p.y))}}},ft=(e,t)=>{const n=z(e),r=typeof t=="number";let s,i=[],o,a=0,l=0,c=0,m=0,u,y=[],g=[],f=0,h={x:0,y:0},x=h,p=h,b=h,A=0;for(let d=0,M=n.length;d<M;d+=1)u=n[d],[o]=u,s=o==="M",i=s?i:[a,l,...u.slice(1)],s?([,c,m]=u,h={x:c,y:m},x=h,f=0,r&&t<.001&&(b=h)):o==="L"?{length:f,min:h,max:x,point:p}=dt(...i,(t||0)-A):o==="A"?{length:f,min:h,max:x,point:p}=ye(...i,(t||0)-A):o==="C"?{length:f,min:h,max:x,point:p}=xe(...i,(t||0)-A):o==="Q"?{length:f,min:h,max:x,point:p}=be(...i,(t||0)-A):o==="Z"&&(i=[a,l,c,m],{length:f,min:h,max:x,point:p}=dt(...i,(t||0)-A)),r&&A<t&&A+f>=t&&(b=p),g=[...g,x],y=[...y,h],A+=f,[a,l]=o!=="Z"?u.slice(-2):[c,m];return r&&t>=A&&(b={x:a,y:l}),{length:A,point:b,min:{x:Math.min(...y.map(d=>d.x)),y:Math.min(...y.map(d=>d.y))},max:{x:Math.max(...g.map(d=>d.x)),y:Math.max(...g.map(d=>d.y))}}},kt=e=>{if(!e)return{x:0,y:0,width:0,height:0,x2:0,y2:0,cx:0,cy:0,cz:0};const{min:{x:t,y:n},max:{x:r,y:s}}=ft(e),i=r-t,o=s-n;return{width:i,height:o,x:t,y:n,x2:r,y2:s,cx:t+i/2,cy:n+o/2,cz:Math.max(i,o)+Math.min(i,o)/2}},Mt=(e,t,n)=>{if(e[n].length>7){e[n].shift();const r=e[n];let s=n;for(;r.length;)t[n]="A",e.splice(s+=1,0,["C",...r.splice(0,6)]);e.splice(n,1)}},Jt=e=>vt(e)&&e.every(([t])=>"MC".includes(t)),rt=(e,t,n)=>{const r=e*Math.cos(n)-t*Math.sin(n),s=e*Math.sin(n)+t*Math.cos(n);return{x:r,y:s}},Ut=(e,t,n,r,s,i,o,a,l,c)=>{let m=e,u=t,y=n,g=r,f=a,h=l;const x=Math.PI*120/180,p=Math.PI/180*(+s||0);let b=[],A,d,M,T,E;if(c)[d,M,T,E]=c;else{A=rt(m,u,-p),m=A.x,u=A.y,A=rt(f,h,-p),f=A.x,h=A.y;const P=(m-f)/2,L=(u-h)/2;let I=P*P/(y*y)+L*L/(g*g);I>1&&(I=Math.sqrt(I),y*=I,g*=I);const xt=y*y,pt=g*g,Ct=(i===o?-1:1)*Math.sqrt(Math.abs((xt*pt-xt*L*L-pt*P*P)/(xt*L*L+pt*P*P)));T=Ct*y*L/g+(m+f)/2,E=Ct*-g*P/y+(u+h)/2,d=Math.asin(((u-E)/g*10**9>>0)/10**9),M=Math.asin(((h-E)/g*10**9>>0)/10**9),d=m<T?Math.PI-d:d,M=f<T?Math.PI-M:M,d<0&&(d=Math.PI*2+d),M<0&&(M=Math.PI*2+M),o&&d>M&&(d-=Math.PI*2),!o&&M>d&&(M-=Math.PI*2)}let H=M-d;if(Math.abs(H)>x){const P=M,L=f,I=h;M=d+x*(o&&M>d?1:-1),f=T+y*Math.cos(M),h=E+g*Math.sin(M),b=Ut(f,h,y,g,s,0,o,L,I,[M,P,T,E])}H=M-d;const F=Math.cos(d),tt=Math.sin(d),S=Math.cos(M),et=Math.sin(M),Y=Math.tan(H/4),nt=4/3*y*Y,st=4/3*g*Y,$=[m,u],q=[m+nt*tt,u-st*F],B=[f+nt*et,h-st*S],J=[f,h];if(q[0]=2*$[0]-q[0],q[1]=2*$[1]-q[1],c)return[...q,...B,...J,...b];b=[...q,...B,...J,...b];const gt=[];for(let P=0,L=b.length;P<L;P+=1)gt[P]=P%2?rt(b[P-1],b[P],p).y:rt(b[P],b[P+1],p).x;return gt},de=(e,t,n,r,s,i)=>{const o=.3333333333333333,a=2/3;return[o*e+a*n,o*t+a*r,o*s+a*n,o*i+a*r,s,i]},St=(e,t,n,r)=>[...j([e,t],[n,r],.5),n,r,n,r],ot=(e,t)=>{const[n]=e,r=e.slice(1).map(Number),[s,i]=r;let o;const{x1:a,y1:l,x:c,y:m}=t;return"TQ".includes(n)||(t.qx=null,t.qy=null),n==="M"?(t.x=s,t.y=i,e):n==="A"?(o=[a,l,...r],["C",...Ut(...o)]):n==="Q"?(t.qx=s,t.qy=i,o=[a,l,...r],["C",...de(...o)]):n==="L"?["C",...St(a,l,s,i)]:n==="Z"?["C",...St(a,l,c,m)]:e},ct=e=>{if(Jt(e))return[...e];const t=z(e),n={...ut},r=[];let s="",i=t.length;for(let o=0;o<i;o+=1){[s]=t[o],r[o]=s,t[o]=ot(t[o],n),Mt(t,r,o),i=t.length;const a=t[o],l=a.length;n.x1=+a[l-2],n.y1=+a[l-1],n.x2=+a[l-4]||n.x1,n.y2=+a[l-3]||n.y1}return t},Me=(e,t,n,r,s,i,o,a)=>3*((a-t)*(n+s)-(o-e)*(r+i)+r*(e-s)-n*(t-i)+a*(s+e/3)-o*(i+t/3))/20,Vt=e=>{let t=0,n=0,r=0;return ct(e).map(s=>{switch(s[0]){case"M":return[,t,n]=s,0;default:return r=Me(t,n,...s.slice(1)),[t,n]=s.slice(-2),r}}).reduce((s,i)=>s+i,0)},X=e=>ft(e).length,Ae=e=>Vt(ct(e))>=0,K=(e,t)=>ft(e,t).point,Pt=(e,t)=>{const n=Z(e);let r=[...n],s=X(r),i=r.length-1,o=0,a=0,l=n[0];const[c,m]=l.slice(-2),u={x:c,y:m};if(i<=0||!t||!Number.isFinite(t))return{segment:l,index:0,length:a,point:u,lengthAtSegment:o};if(t>=s)return r=n.slice(0,-1),o=X(r),a=s-o,{segment:n[i],index:i,length:a,lengthAtSegment:o};const y=[];for(;i>0;)l=r[i],r=r.slice(0,-1),o=X(r),a=s-o,s=o,y.push({segment:l,index:i,length:a,lengthAtSegment:o}),i-=1;return y.find(({lengthAtSegment:g})=>g<=t)},yt=(e,t)=>{const n=Z(e),r=z(n),s=X(n),i=d=>{const M=d.x-t.x,T=d.y-t.y;return M*M+T*T};let o=8,a,l={x:0,y:0},c=0,m=0,u=1/0;for(let d=0;d<=s;d+=o)a=K(r,d),c=i(a),c<u&&(l=a,m=d,u=c);o/=2;let y,g,f=0,h=0,x=0,p=0;for(;o>.5;)f=m-o,y=K(r,f),x=i(y),h=m+o,g=K(r,h),p=i(g),f>=0&&x<u?(l=y,m=f,u=x):h<=s&&p<u?(l=g,m=h,u=p):o/=2;const b=Pt(n,m),A=Math.sqrt(u);return{closest:l,distance:A,segment:b}},Ne=(e,t)=>yt(e,t).closest,we=(e,t)=>yt(e,t).segment,ve=(e,t)=>Pt(e,t).segment,Pe=(e,t)=>{const{distance:n}=yt(e,t);return Math.abs(n)<.001},Kt=e=>{if(typeof e!="string"||!e.length)return!1;const t=new zt(e);for(V(t);t.index<t.max&&!t.err.length;)jt(t);return!t.err.length&&"mM".includes(t.segments[0][0])},_t=e=>_(e)&&e.slice(1).every(([t])=>t===t.toLowerCase()),lt={line:["x1","y1","x2","y2"],circle:["cx","cy","r"],ellipse:["cx","cy","rx","ry"],rect:["width","height","x","y","rx","ry"],polygon:["points"],polyline:["points"],glyph:["d"]},Ce=e=>{let{x1:t,y1:n,x2:r,y2:s}=e;return[t,n,r,s]=[t,n,r,s].map(i=>+i),[["M",t,n],["L",r,s]]},Te=e=>{const t=[],n=(e.points||"").trim().split(/[\s|,]/).map(s=>+s);let r=0;for(;r<n.length;)t.push([r?"L":"M",n[r],n[r+1]]),r+=2;return e.type==="polygon"?[...t,["z"]]:t},Le=e=>{let{cx:t,cy:n,r}=e;return[t,n,r]=[t,n,r].map(s=>+s),[["M",t-r,n],["a",r,r,0,1,0,2*r,0],["a",r,r,0,1,0,-2*r,0]]},ke=e=>{let{cx:t,cy:n}=e,r=e.rx||0,s=e.ry||r;return[t,n,r,s]=[t,n,r,s].map(i=>+i),[["M",t-r,n],["a",r,s,0,1,0,2*r,0],["a",r,s,0,1,0,-2*r,0]]},Se=e=>{const t=+e.x||0,n=+e.y||0,r=+e.width,s=+e.height;let i=+(e.rx||0),o=+(e.ry||i);return i||o?(i*2>r&&(i-=(i*2-r)/2),o*2>s&&(o-=(o*2-s)/2),[["M",t+i,n],["h",r-i*2],["s",i,0,i,o],["v",s-o*2],["s",0,o,-i,o],["h",-r+i*2],["s",-i,0,-i,-o],["v",-s+o*2],["s",0,-o,i,-o]]):[["M",t,n],["h",r],["v",s],["H",t],["Z"]]},Wt=(e,t)=>{const r=(t||document).defaultView||window,s=Object.keys(lt),i=e instanceof r.SVGElement,o=i?e.tagName:null;if(o&&[...s,"path"].every(u=>o!==u))throw TypeError(`${k}: "${o}" is not SVGElement`);const a=i?o:e.type,l=lt[a],c={type:a};i?l.forEach(u=>{c[u]=e.getAttribute(u)}):Object.assign(c,e);let m=[];return a==="circle"?m=Le(c):a==="ellipse"?m=ke(c):["polyline","polygon"].includes(a)?m=Te(c):a==="rect"?m=Se(c):a==="line"?m=Ce(c):["glyph","path"].includes(a)&&(m=Z(i?e.getAttribute("d")||"":e.d||"")),_(m)&&m.length?m:!1},at=(e,t)=>{let{round:n}=mt;if(t==="off"||n==="off")return[...e];n=typeof t=="number"&&t>=0?t:n;const r=typeof n=="number"&&n>=1?10**n:1;return e.map(s=>{const i=s.slice(1).map(Number).map(o=>n?Math.round(o*r)/r:Math.round(o));return[s[0],...i]})},At=(e,t)=>at(e,t).map(n=>n[0]+n.slice(1).join(" ")).join(""),$e=(e,t,n)=>{const r=n||document,s=r.defaultView||window,i=Object.keys(lt),o=e instanceof s.SVGElement,a=o?e.tagName:null;if(a==="path")throw TypeError(`${k}: "${a}" is already SVGPathElement`);if(a&&i.every(h=>a!==h))throw TypeError(`${k}: "${a}" is not SVGElement`);const l=r.createElementNS("http://www.w3.org/2000/svg","path"),c=o?a:e.type,m=lt[c],u={type:c},y=mt.round,g=Wt(e,r),f=g&&g.length?At(g,y):"";return o?(m.forEach(h=>{u[h]=e.getAttribute(h)}),Object.values(e.attributes).forEach(({name:h,value:x})=>{m.includes(h)||l.setAttribute(h,x)})):(Object.assign(u,e),Object.keys(u).forEach(h=>{!m.includes(h)&&h!=="type"&&l.setAttribute(h.replace(/[A-Z]/g,x=>`-${x.toLowerCase()}`),u[h])})),Kt(f)?(l.setAttribute("d",f),t&&o&&(e.before(l,e),e.remove()),l):!1},$t=e=>{const t=[];let n,r=-1;return e.forEach(s=>{s[0]==="M"?(n=[s],r+=1):n=[...n,s],t[r]=n}),t},Nt=e=>{if(_t(e))return[...e];const t=Z(e);let n=0,r=0,s=0,i=0;return t.map(o=>{const a=o.slice(1).map(Number),[l]=o,c=l.toLowerCase();if(l==="M")return[n,r]=a,s=n,i=r,["M",n,r];let m=[];if(l!==c)if(c==="a")m=[c,a[0],a[1],a[2],a[3],a[4],a[5]-n,a[6]-r];else if(c==="v")m=[c,a[0]-r];else if(c==="h")m=[c,a[0]-n];else{const y=a.map((g,f)=>g-(f%2?r:n));m=[c,...y]}else l==="m"&&(s=a[0]+n,i=a[1]+r),m=[c,...a];const u=m.length;return c==="z"?(n=s,r=i):c==="h"?n+=m[1]:c==="v"?r+=m[1]:(n+=m[u-2],r+=m[u-1]),m})},qe=(e,t,n,r)=>{const[s]=e,i=p=>Math.round(p*10**4)/10**4,o=e.slice(1).map(p=>+p),a=t.slice(1).map(p=>+p),{x1:l,y1:c,x2:m,y2:u,x:y,y:g}=n;let f=e;const[h,x]=a.slice(-2);if("TQ".includes(s)||(n.qx=null,n.qy=null),["V","H","S","T","Z"].includes(s))f=[s,...o];else if(s==="L")i(y)===i(h)?f=["V",x]:i(g)===i(x)&&(f=["H",h]);else if(s==="C"){const[p,b]=a;"CS".includes(r)&&(i(p)===i(l*2-m)&&i(b)===i(c*2-u)||i(l)===i(m*2-y)&&i(c)===i(u*2-g))&&(f=["S",...a.slice(-4)]),n.x1=p,n.y1=b}else if(s==="Q"){const[p,b]=a;n.qx=p,n.qy=b,"QT".includes(r)&&(i(p)===i(l*2-m)&&i(b)===i(c*2-u)||i(l)===i(m*2-y)&&i(c)===i(u*2-g))&&(f=["T",...a.slice(-2)])}return f},qt=(e,t)=>{const n=Q(e),r=z(n),s={...ut},i=[],o=n.length;let a="",l="",c=0,m=0,u=0,y=0;for(let h=0;h<o;h+=1){[a]=n[h],i[h]=a,h&&(l=i[h-1]),n[h]=qe(n[h],r[h],s,l);const x=n[h],p=x.length;switch(s.x1=+x[p-2],s.y1=+x[p-1],s.x2=+x[p-4]||s.x1,s.y2=+x[p-3]||s.y1,a){case"Z":c=u,m=y;break;case"H":[,c]=x;break;case"V":[,m]=x;break;default:[c,m]=x.slice(-2).map(Number),a==="M"&&(u=c,y=m)}s.x=c,s.y=m}const g=at(n,t),f=at(Nt(n),t);return g.map((h,x)=>x?h.join("").length<f[x].join("").length?h:f[x]:h)},Oe=e=>{const t=e.slice(1).map((n,r,s)=>r?[...s[r-1].slice(-2),...n.slice(1)]:[...e[0].slice(1),...n.slice(1)]).map(n=>n.map((r,s)=>n[n.length-s-2*(1-s%2)])).reverse();return[["M",...t[0].slice(0,2)],...t.map(n=>["C",...n.slice(2)])]},it=e=>{const t=Q(e),n=t.slice(-1)[0][0]==="Z",r=z(t).map((s,i)=>{const[o,a]=s.slice(-2).map(Number);return{seg:t[i],n:s,c:t[i][0],x:o,y:a}}).map((s,i,o)=>{const a=s.seg,l=s.n,c=i&&o[i-1],m=o[i+1],u=s.c,y=o.length,g=i?o[i-1].x:o[y-1].x,f=i?o[i-1].y:o[y-1].y;let h=[];switch(u){case"M":h=n?["Z"]:[u,g,f];break;case"A":h=[u,...a.slice(1,-3),a[5]===1?0:1,g,f];break;case"C":m&&m.c==="S"?h=["S",a[1],a[2],g,f]:h=[u,a[3],a[4],a[1],a[2],g,f];break;case"S":c&&"CS".includes(c.c)&&(!m||m.c!=="S")?h=["C",l[3],l[4],l[1],l[2],g,f]:h=[u,l[1],l[2],g,f];break;case"Q":m&&m.c==="T"?h=["T",g,f]:h=[u,...a.slice(1,-2),g,f];break;case"T":c&&"QT".includes(c.c)&&(!m||m.c!=="T")?h=["Q",l[1],l[2],g,f]:h=[u,g,f];break;case"Z":h=["M",g,f];break;case"H":h=[u,g];break;case"V":h=[u,f];break;default:h=[u,...a.slice(1,-2),g,f]}return h});return n?r.reverse():[r[0],...r.slice(1).reverse()]},Ee=e=>{let t=new v;const{origin:n}=e,[r,s]=n,{translate:i}=e,{rotate:o}=e,{skew:a}=e,{scale:l}=e;return Array.isArray(i)&&i.length>=2&&i.every(c=>!Number.isNaN(+c))&&i.some(c=>c!==0)?t=t.translate(...i):typeof i=="number"&&!Number.isNaN(i)&&(t=t.translate(i)),(o||a||l)&&(t=t.translate(r,s),Array.isArray(o)&&o.length>=2&&o.every(c=>!Number.isNaN(+c))&&o.some(c=>c!==0)?t=t.rotate(...o):typeof o=="number"&&!Number.isNaN(o)&&(t=t.rotate(o)),Array.isArray(a)&&a.length===2&&a.every(c=>!Number.isNaN(+c))&&a.some(c=>c!==0)?(t=a[0]?t.skewX(a[0]):t,t=a[1]?t.skewY(a[1]):t):typeof a=="number"&&!Number.isNaN(a)&&(t=t.skewX(a)),Array.isArray(l)&&l.length>=2&&l.every(c=>!Number.isNaN(+c))&&l.some(c=>c!==1)?t=t.scale(...l):typeof l=="number"&&!Number.isNaN(l)&&(t=t.scale(l)),t=t.translate(-r,-s)),t},je=(e,t)=>{let n=v.Translate(...t.slice(0,-1));return[,,,n.m44]=t,n=e.multiply(n),[n.m41,n.m42,n.m43,n.m44]},Ot=(e,t,n)=>{const[r,s,i]=n,[o,a,l]=je(e,[...t,0,1]),c=o-r,m=a-s,u=l-i;return[c*(Math.abs(i)/Math.abs(u)||1)+r,m*(Math.abs(i)/Math.abs(u)||1)+s]},Et=(e,t)=>{let n=0,r=0,s,i,o,a,l,c;const m=Q(e),u=t&&Object.keys(t);if(!t||u&&!u.length)return[...m];const y=z(m);if(!t.origin){const{origin:M}=mt;Object.assign(t,{origin:M})}const g=Ee(t),{origin:f}=t,h={...ut};let x=[],p=0,b="",A=[];const d=[];if(!g.isIdentity){for(s=0,o=m.length;s<o;s+=1){x=m[s],m[s]&&([b]=x),d[s]=b,b==="A"&&(x=ot(y[s],h),m[s]=ot(y[s],h),Mt(m,d,s),y[s]=ot(y[s],h),Mt(y,d,s),o=Math.max(m.length,y.length)),x=y[s],p=x.length,h.x1=+x[p-2],h.y1=+x[p-1],h.x2=+x[p-4]||h.x1,h.y2=+x[p-3]||h.y1;const M={s:m[s],c:m[s][0],x:h.x1,y:h.y1};A=[...A,M]}return A.map(M=>{if(b=M.c,x=M.s,b==="L"||b==="H"||b==="V")return[l,c]=Ot(g,[M.x,M.y],f),n!==l&&r!==c?x=["L",l,c]:r===c?x=["H",l]:n===l&&(x=["V",c]),n=l,r=c,x;for(i=1,a=x.length;i<a;i+=2)[n,r]=Ot(g,[+x[i],+x[i+1]],f),x[i]=n,x[i+1]=r;return x})}return[...m]},ze=e=>{const n=e.slice(0,2),r=e.slice(2,4),s=e.slice(4,6),i=e.slice(6,8),o=j(n,r,.5),a=j(r,s,.5),l=j(s,i,.5),c=j(o,a,.5),m=j(a,l,.5),u=j(c,m,.5);return[["C",...o,...c,...u],["C",...m,...l,...i]]};class w{constructor(t,n){const r=n||{},s=typeof t>"u";if(s||!t.length)throw TypeError(`${k}: "pathValue" is ${s?"undefined":"empty"}`);const i=Z(t);this.segments=i;const{width:o,height:a,cx:l,cy:c,cz:m}=this.getBBox(),{round:u,origin:y}=r;let g;if(u==="auto"){const h=`${Math.floor(Math.max(o,a))}`.length;g=h>=4?0:4-h}else Number.isInteger(u)||u==="off"?g=u:g=mt.round;let f;if(Array.isArray(y)&&y.length>=2){const[h,x,p]=y.map(Number);f=[Number.isNaN(h)?l:h,Number.isNaN(x)?c:x,Number.isNaN(p)?m:p]}else f=[l,c,m];return this.round=g,this.origin=f,this}getBBox(){return kt(this.segments)}getTotalLength(){return X(this.segments)}getPointAtLength(t){return K(this.segments,t)}toAbsolute(){const{segments:t}=this;return this.segments=Q(t),this}toRelative(){const{segments:t}=this;return this.segments=Nt(t),this}toCurve(){const{segments:t}=this;return this.segments=ct(t),this}reverse(t){this.toAbsolute();const{segments:n}=this,r=$t(n),s=r.length>1?r:!1,i=s?[...s].map((a,l)=>t?l?it(a):[...a]:it(a)):[...n];let o=[];return s?o=i.flat(1):o=t?n:it(n),this.segments=[...o],this}normalize(){const{segments:t}=this;return this.segments=z(t),this}optimize(){const{segments:t}=this;return this.segments=qt(t,this.round),this}transform(t){if(!t||typeof t!="object"||typeof t=="object"&&!["translate","rotate","skew","scale"].some(l=>l in t))return this;const{segments:n,origin:[r,s,i]}=this,o={};for(const[l,c]of Object.entries(t))l==="skew"&&Array.isArray(c)||(l==="rotate"||l==="translate"||l==="origin"||l==="scale")&&Array.isArray(c)?o[l]=c.map(Number):l!=="origin"&&typeof Number(c)=="number"&&(o[l]=Number(c));const{origin:a}=o;if(Array.isArray(a)&&a.length>=2){const[l,c,m]=a.map(Number);o.origin=[Number.isNaN(l)?r:l,Number.isNaN(c)?s:c,m||i]}else o.origin=[r,s,i];return this.segments=Et(n,o),this}flipX(){return this.transform({rotate:[0,180,0]}),this}flipY(){return this.transform({rotate:[180,0,0]}),this}toString(){return At(this.segments,this.round)}}N(w,"CSSMatrix",v),N(w,"getPathBBox",kt),N(w,"getPathArea",Vt),N(w,"getTotalLength",X),N(w,"getDrawDirection",Ae),N(w,"getPointAtLength",K),N(w,"pathLengthFactory",ft),N(w,"getPropertiesAtLength",Pt),N(w,"getPropertiesAtPoint",yt),N(w,"polygonLength",le),N(w,"polygonArea",ce),N(w,"getClosestPoint",Ne),N(w,"getSegmentOfPoint",we),N(w,"getSegmentAtLength",ve),N(w,"isPointInStroke",Pe),N(w,"isValidPath",Kt),N(w,"isPathArray",_),N(w,"isAbsoluteArray",wt),N(w,"isRelativeArray",_t),N(w,"isCurveArray",Jt),N(w,"isNormalizedArray",vt),N(w,"shapeToPath",$e),N(w,"shapeToPathArray",Wt),N(w,"parsePathString",Z),N(w,"roundPath",at),N(w,"splitPath",$t),N(w,"splitCubic",ze),N(w,"optimizePath",qt),N(w,"reverseCurve",Oe),N(w,"reversePath",it),N(w,"normalizePath",z),N(w,"transformPath",Et),N(w,"pathToAbsolute",Q),N(w,"pathToRelative",Nt),N(w,"pathToCurve",ct),N(w,"pathToString",At);module.exports=w;
1
+ "use strict";var te=Object.defineProperty;var ee=(e,t,n)=>t in e?te(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var N=(e,t,n)=>(ee(e,typeof t!="symbol"?t+"":t,n),n);const mt={origin:[0,0,0],round:4},k="SVGPathCommander Error",U={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},Tt=e=>{let t=e.pathValue[e.segmentStart],n=t.toLowerCase();const{data:r}=e;for(;r.length>=U[n]&&(n==="m"&&r.length>2?(e.segments.push([t,...r.splice(0,2)]),n="l",t=t==="m"?"l":"L"):e.segments.push([t,...r.splice(0,U[n])]),!!U[n]););},ne=e=>{const{index:t,pathValue:n}=e,r=n.charCodeAt(t);if(r===48){e.param=0,e.index+=1;return}if(r===49){e.param=1,e.index+=1;return}e.err=`${k}: invalid Arc flag "${n[t]}", expecting 0 or 1 at index ${t}`},D=e=>e>=48&&e<=57,R="Invalid path value",se=e=>{const{max:t,pathValue:n,index:r}=e;let s=r,i=!1,o=!1,a=!1,l=!1,c;if(s>=t){e.err=`${k}: ${R} at index ${s}, "pathValue" is missing param`;return}if(c=n.charCodeAt(s),(c===43||c===45)&&(s+=1,c=n.charCodeAt(s)),!D(c)&&c!==46){e.err=`${k}: ${R} at index ${s}, "${n[s]}" is not a number`;return}if(c!==46){if(i=c===48,s+=1,c=n.charCodeAt(s),i&&s<t&&c&&D(c)){e.err=`${k}: ${R} at index ${r}, "${n[r]}" illegal number`;return}for(;s<t&&D(n.charCodeAt(s));)s+=1,o=!0;c=n.charCodeAt(s)}if(c===46){for(l=!0,s+=1;D(n.charCodeAt(s));)s+=1,a=!0;c=n.charCodeAt(s)}if(c===101||c===69){if(l&&!o&&!a){e.err=`${k}: ${R} at index ${s}, "${n[s]}" invalid float exponent`;return}if(s+=1,c=n.charCodeAt(s),(c===43||c===45)&&(s+=1),s<t&&D(n.charCodeAt(s)))for(;s<t&&D(n.charCodeAt(s));)s+=1;else{e.err=`${k}: ${R} at index ${s}, "${n[s]}" invalid integer exponent`;return}}e.index=s,e.param=+e.pathValue.slice(r,s)},re=e=>[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279,10,13,8232,8233,32,9,11,12,160].includes(e),V=e=>{const{pathValue:t,max:n}=e;for(;e.index<n&&re(t.charCodeAt(e.index));)e.index+=1},ie=e=>{switch(e|32){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return!0;default:return!1}},oe=e=>D(e)||e===43||e===45||e===46,ce=e=>(e|32)===97,jt=e=>{const{max:t,pathValue:n,index:r}=e,s=n.charCodeAt(r),i=U[n[r].toLowerCase()];if(e.segmentStart=r,!ie(s)){e.err=`${k}: ${R} "${n[r]}" is not a path command`;return}if(e.index+=1,V(e),e.data=[],!i){Tt(e);return}for(;;){for(let o=i;o>0;o-=1){if(ce(s)&&(o===3||o===4)?ne(e):se(e),e.err.length)return;e.data.push(e.param),V(e),e.index<t&&n.charCodeAt(e.index)===44&&(e.index+=1,V(e))}if(e.index>=e.max||!oe(n.charCodeAt(e.index)))break}Tt(e)};class zt{constructor(t){this.segments=[],this.pathValue=t,this.max=t.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""}}const _=e=>Array.isArray(e)&&e.every(t=>{const n=t[0].toLowerCase();return U[n]===t.length-1&&"achlmqstvz".includes(n)&&t.slice(1).every(Number.isFinite)})&&e.length>0,Z=e=>{if(_(e))return[...e];const t=new zt(e);for(V(t);t.index<t.max&&!t.err.length;)jt(t);if(t.err&&t.err.length)throw TypeError(t.err);return t.segments},le=e=>{const t=e.length;let n=-1,r,s=e[t-1],i=0;for(;++n<t;)r=s,s=e[n],i+=r[1]*s[0]-r[0]*s[1];return i/2},W=(e,t)=>Math.sqrt((e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1])),ae=e=>e.reduce((t,n,r)=>r?t+W(e[r-1],n):0,0);var me=Object.defineProperty,he=(e,t,n)=>t in e?me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,C=(e,t,n)=>(he(e,typeof t!="symbol"?t+"":t,n),n);const ue={a:1,b:0,c:0,d:1,e:0,f:0,m11:1,m12:0,m13:0,m14:0,m21:0,m22:1,m23:0,m24:0,m31:0,m32:0,m33:1,m34:0,m41:0,m42:0,m43:0,m44:1,is2D:!0,isIdentity:!0},It=e=>(e instanceof Float64Array||e instanceof Float32Array||Array.isArray(e)&&e.every(t=>typeof t=="number"))&&[6,16].some(t=>e.length===t),Dt=e=>e instanceof DOMMatrix||e instanceof v||typeof e=="object"&&Object.keys(ue).every(t=>e&&t in e),G=e=>{const t=new v,n=Array.from(e);if(!It(n))throw TypeError(`CSSMatrix: "${n.join(",")}" must be an array with 6/16 numbers.`);if(n.length===16){const[r,s,i,o,a,l,c,m,u,y,g,f,h,x,p,b]=n;t.m11=r,t.a=r,t.m21=a,t.c=a,t.m31=u,t.m41=h,t.e=h,t.m12=s,t.b=s,t.m22=l,t.d=l,t.m32=y,t.m42=x,t.f=x,t.m13=i,t.m23=c,t.m33=g,t.m43=p,t.m14=o,t.m24=m,t.m34=f,t.m44=b}else if(n.length===6){const[r,s,i,o,a,l]=n;t.m11=r,t.a=r,t.m12=s,t.b=s,t.m21=i,t.c=i,t.m22=o,t.d=o,t.m41=a,t.e=a,t.m42=l,t.f=l}return t},Zt=e=>{if(Dt(e))return G([e.m11,e.m12,e.m13,e.m14,e.m21,e.m22,e.m23,e.m24,e.m31,e.m32,e.m33,e.m34,e.m41,e.m42,e.m43,e.m44]);throw TypeError(`CSSMatrix: "${JSON.stringify(e)}" is not a DOMMatrix / CSSMatrix / JSON compatible object.`)},Ft=e=>{if(typeof e!="string")throw TypeError(`CSSMatrix: "${JSON.stringify(e)}" is not a string.`);const t=String(e).replace(/\s/g,"");let n=new v;const r=`CSSMatrix: invalid transform string "${e}"`;return t.split(")").filter(s=>s).forEach(s=>{const[i,o]=s.split("(");if(!o)throw TypeError(r);const a=o.split(",").map(f=>f.includes("rad")?parseFloat(f)*(180/Math.PI):parseFloat(f)),[l,c,m,u]=a,y=[l,c,m],g=[l,c,m,u];if(i==="perspective"&&l&&[c,m].every(f=>f===void 0))n.m34=-1/l;else if(i.includes("matrix")&&[6,16].includes(a.length)&&a.every(f=>!Number.isNaN(+f))){const f=a.map(h=>Math.abs(h)<1e-6?0:h);n=n.multiply(G(f))}else if(i==="translate3d"&&y.every(f=>!Number.isNaN(+f)))n=n.translate(l,c,m);else if(i==="translate"&&l&&m===void 0)n=n.translate(l,c||0,0);else if(i==="rotate3d"&&g.every(f=>!Number.isNaN(+f))&&u)n=n.rotateAxisAngle(l,c,m,u);else if(i==="rotate"&&l&&[c,m].every(f=>f===void 0))n=n.rotate(0,0,l);else if(i==="scale3d"&&y.every(f=>!Number.isNaN(+f))&&y.some(f=>f!==1))n=n.scale(l,c,m);else if(i==="scale"&&!Number.isNaN(l)&&l!==1&&m===void 0){const f=Number.isNaN(+c)?l:c;n=n.scale(l,f,1)}else if(i==="skew"&&(l||!Number.isNaN(l)&&c)&&m===void 0)n=n.skew(l,c||0);else if(["translate","rotate","scale","skew"].some(f=>i.includes(f))&&/[XYZ]/.test(i)&&l&&[c,m].every(f=>f===void 0))if(i==="skewX"||i==="skewY")n=n[i](l);else{const f=i.replace(/[XYZ]/,""),h=i.replace(f,""),x=["X","Y","Z"].indexOf(h),p=f==="scale"?1:0,b=[x===0?l:p,x===1?l:p,x===2?l:p];n=n[f](...b)}else throw TypeError(r)}),n},bt=(e,t)=>t?[e.a,e.b,e.c,e.d,e.e,e.f]:[e.m11,e.m12,e.m13,e.m14,e.m21,e.m22,e.m23,e.m24,e.m31,e.m32,e.m33,e.m34,e.m41,e.m42,e.m43,e.m44],Rt=(e,t,n)=>{const r=new v;return r.m41=e,r.e=e,r.m42=t,r.f=t,r.m43=n,r},Xt=(e,t,n)=>{const r=new v,s=Math.PI/180,i=e*s,o=t*s,a=n*s,l=Math.cos(i),c=-Math.sin(i),m=Math.cos(o),u=-Math.sin(o),y=Math.cos(a),g=-Math.sin(a),f=m*y,h=-m*g;r.m11=f,r.a=f,r.m12=h,r.b=h,r.m13=u;const x=c*u*y+l*g;r.m21=x,r.c=x;const p=l*y-c*u*g;return r.m22=p,r.d=p,r.m23=-c*m,r.m31=c*g-l*u*y,r.m32=c*y+l*u*g,r.m33=l*m,r},Qt=(e,t,n,r)=>{const s=new v,i=Math.sqrt(e*e+t*t+n*n);if(i===0)return s;const o=e/i,a=t/i,l=n/i,c=r*(Math.PI/360),m=Math.sin(c),u=Math.cos(c),y=m*m,g=o*o,f=a*a,h=l*l,x=1-2*(f+h)*y;s.m11=x,s.a=x;const p=2*(o*a*y+l*m*u);s.m12=p,s.b=p,s.m13=2*(o*l*y-a*m*u);const b=2*(a*o*y-l*m*u);s.m21=b,s.c=b;const A=1-2*(h+g)*y;return s.m22=A,s.d=A,s.m23=2*(a*l*y+o*m*u),s.m31=2*(l*o*y+a*m*u),s.m32=2*(l*a*y-o*m*u),s.m33=1-2*(g+f)*y,s},Ht=(e,t,n)=>{const r=new v;return r.m11=e,r.a=e,r.m22=t,r.d=t,r.m33=n,r},ht=(e,t)=>{const n=new v;if(e){const r=e*Math.PI/180,s=Math.tan(r);n.m21=s,n.c=s}if(t){const r=t*Math.PI/180,s=Math.tan(r);n.m12=s,n.b=s}return n},Yt=e=>ht(e,0),Bt=e=>ht(0,e),O=(e,t)=>{const n=t.m11*e.m11+t.m12*e.m21+t.m13*e.m31+t.m14*e.m41,r=t.m11*e.m12+t.m12*e.m22+t.m13*e.m32+t.m14*e.m42,s=t.m11*e.m13+t.m12*e.m23+t.m13*e.m33+t.m14*e.m43,i=t.m11*e.m14+t.m12*e.m24+t.m13*e.m34+t.m14*e.m44,o=t.m21*e.m11+t.m22*e.m21+t.m23*e.m31+t.m24*e.m41,a=t.m21*e.m12+t.m22*e.m22+t.m23*e.m32+t.m24*e.m42,l=t.m21*e.m13+t.m22*e.m23+t.m23*e.m33+t.m24*e.m43,c=t.m21*e.m14+t.m22*e.m24+t.m23*e.m34+t.m24*e.m44,m=t.m31*e.m11+t.m32*e.m21+t.m33*e.m31+t.m34*e.m41,u=t.m31*e.m12+t.m32*e.m22+t.m33*e.m32+t.m34*e.m42,y=t.m31*e.m13+t.m32*e.m23+t.m33*e.m33+t.m34*e.m43,g=t.m31*e.m14+t.m32*e.m24+t.m33*e.m34+t.m34*e.m44,f=t.m41*e.m11+t.m42*e.m21+t.m43*e.m31+t.m44*e.m41,h=t.m41*e.m12+t.m42*e.m22+t.m43*e.m32+t.m44*e.m42,x=t.m41*e.m13+t.m42*e.m23+t.m43*e.m33+t.m44*e.m43,p=t.m41*e.m14+t.m42*e.m24+t.m43*e.m34+t.m44*e.m44;return G([n,r,s,i,o,a,l,c,m,u,y,g,f,h,x,p])};class v{constructor(t){return this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0,this.m11=1,this.m12=0,this.m13=0,this.m14=0,this.m21=0,this.m22=1,this.m23=0,this.m24=0,this.m31=0,this.m32=0,this.m33=1,this.m34=0,this.m41=0,this.m42=0,this.m43=0,this.m44=1,t?this.setMatrixValue(t):this}get isIdentity(){return this.m11===1&&this.m12===0&&this.m13===0&&this.m14===0&&this.m21===0&&this.m22===1&&this.m23===0&&this.m24===0&&this.m31===0&&this.m32===0&&this.m33===1&&this.m34===0&&this.m41===0&&this.m42===0&&this.m43===0&&this.m44===1}get is2D(){return this.m31===0&&this.m32===0&&this.m33===1&&this.m34===0&&this.m43===0&&this.m44===1}setMatrixValue(t){return typeof t=="string"&&t.length&&t!=="none"?Ft(t):Array.isArray(t)||t instanceof Float64Array||t instanceof Float32Array?G(t):typeof t=="object"?Zt(t):this}toFloat32Array(t){return Float32Array.from(bt(this,t))}toFloat64Array(t){return Float64Array.from(bt(this,t))}toString(){const{is2D:t}=this,n=this.toFloat64Array(t).join(", ");return`${t?"matrix":"matrix3d"}(${n})`}toJSON(){const{is2D:t,isIdentity:n}=this;return{...this,is2D:t,isIdentity:n}}multiply(t){return O(this,t)}translate(t,n,r){const s=t;let i=n,o=r;return typeof i>"u"&&(i=0),typeof o>"u"&&(o=0),O(this,Rt(s,i,o))}scale(t,n,r){const s=t;let i=n,o=r;return typeof i>"u"&&(i=t),typeof o>"u"&&(o=1),O(this,Ht(s,i,o))}rotate(t,n,r){let s=t,i=n||0,o=r||0;return typeof t=="number"&&typeof n>"u"&&typeof r>"u"&&(o=s,s=0,i=0),O(this,Xt(s,i,o))}rotateAxisAngle(t,n,r,s){if([t,n,r,s].some(i=>Number.isNaN(+i)))throw new TypeError("CSSMatrix: expecting 4 values");return O(this,Qt(t,n,r,s))}skewX(t){return O(this,Yt(t))}skewY(t){return O(this,Bt(t))}skew(t,n){return O(this,ht(t,n))}transformPoint(t){const n=this.m11*t.x+this.m21*t.y+this.m31*t.z+this.m41*t.w,r=this.m12*t.x+this.m22*t.y+this.m32*t.z+this.m42*t.w,s=this.m13*t.x+this.m23*t.y+this.m33*t.z+this.m43*t.w,i=this.m14*t.x+this.m24*t.y+this.m34*t.z+this.m44*t.w;return t instanceof DOMPoint?new DOMPoint(n,r,s,i):{x:n,y:r,z:s,w:i}}}C(v,"Translate",Rt),C(v,"Rotate",Xt),C(v,"RotateAxisAngle",Qt),C(v,"Scale",Ht),C(v,"SkewX",Yt),C(v,"SkewY",Bt),C(v,"Skew",ht),C(v,"Multiply",O),C(v,"fromArray",G),C(v,"fromMatrix",Zt),C(v,"fromString",Ft),C(v,"toArray",bt),C(v,"isCompatibleArray",It),C(v,"isCompatibleObject",Dt);const wt=e=>_(e)&&e.every(([t])=>t===t.toUpperCase()),Q=e=>{if(wt(e))return[...e];const t=Z(e);let n=0,r=0,s=0,i=0;return t.map(o=>{const a=o.slice(1).map(Number),[l]=o,c=l.toUpperCase();if(l==="M")return[n,r]=a,s=n,i=r,["M",n,r];let m=[];if(l!==c)if(c==="A")m=[c,a[0],a[1],a[2],a[3],a[4],a[5]+n,a[6]+r];else if(c==="V")m=[c,a[0]+r];else if(c==="H")m=[c,a[0]+n];else{const u=a.map((y,g)=>y+(g%2?r:n));m=[c,...u]}else m=[c,...a];return c==="Z"?(n=s,r=i):c==="H"?[,n]=m:c==="V"?[,r]=m:([n,r]=m.slice(-2),c==="M"&&(s=n,i=r)),m})},fe=(e,t)=>{const[n]=e,{x1:r,y1:s,x2:i,y2:o}=t,a=e.slice(1).map(Number);let l=e;if("TQ".includes(n)||(t.qx=null,t.qy=null),n==="H")l=["L",e[1],s];else if(n==="V")l=["L",r,e[1]];else if(n==="S"){const c=r*2-i,m=s*2-o;t.x1=c,t.y1=m,l=["C",c,m,...a]}else if(n==="T"){const c=r*2-(t.qx?t.qx:0),m=s*2-(t.qy?t.qy:0);t.qx=c,t.qy=m,l=["Q",c,m,...a]}else if(n==="Q"){const[c,m]=a;t.qx=c,t.qy=m}return l},vt=e=>wt(e)&&e.every(([t])=>"ACLMQZ".includes(t)),ut={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null},z=e=>{if(vt(e))return[...e];const t=Q(e),n={...ut},r=t.length;for(let s=0;s<r;s+=1){t[s],t[s]=fe(t[s],n);const i=t[s],o=i.length;n.x1=+i[o-2],n.y1=+i[o-1],n.x2=+i[o-4]||n.x1,n.y2=+i[o-3]||n.y1}return t},E=(e,t,n)=>{const[r,s]=e,[i,o]=t;return[r+(i-r)*n,s+(o-s)*n]},dt=(e,t,n,r,s)=>{const i=W([e,t],[n,r]);let o={x:0,y:0};if(typeof s=="number")if(s<=0)o={x:e,y:t};else if(s>=i)o={x:n,y:r};else{const[a,l]=E([e,t],[n,r],s/i);o={x:a,y:l}}return{length:i,point:o,min:{x:Math.min(e,n),y:Math.min(t,r)},max:{x:Math.max(e,n),y:Math.max(t,r)}}},Lt=(e,t)=>{const{x:n,y:r}=e,{x:s,y:i}=t,o=n*s+r*i,a=Math.sqrt((n**2+r**2)*(s**2+i**2));return(n*i-r*s<0?-1:1)*Math.acos(o/a)},ye=(e,t,n,r,s,i,o,a,l,c)=>{const{abs:m,sin:u,cos:y,sqrt:g,PI:f}=Math;let h=m(n),x=m(r);const b=(s%360+360)%360*(f/180);if(e===a&&t===l)return{x:e,y:t};if(h===0||x===0)return dt(e,t,a,l,c).point;const A=(e-a)/2,d=(t-l)/2,M={x:y(b)*A+u(b)*d,y:-u(b)*A+y(b)*d},T=M.x**2/h**2+M.y**2/x**2;T>1&&(h*=g(T),x*=g(T));const j=h**2*x**2-h**2*M.y**2-x**2*M.x**2,H=h**2*M.y**2+x**2*M.x**2;let F=j/H;F=F<0?0:F;const tt=(i!==o?1:-1)*g(F),S={x:tt*(h*M.y/x),y:tt*(-(x*M.x)/h)},et={x:y(b)*S.x-u(b)*S.y+(e+a)/2,y:u(b)*S.x+y(b)*S.y+(t+l)/2},Y={x:(M.x-S.x)/h,y:(M.y-S.y)/x},nt=Lt({x:1,y:0},Y),st={x:(-M.x-S.x)/h,y:(-M.y-S.y)/x};let $=Lt(Y,st);!o&&$>0?$-=2*f:o&&$<0&&($+=2*f),$%=2*f;const q=nt+$*c,B=h*y(q),J=x*u(q);return{x:y(b)*B-u(b)*J+et.x,y:u(b)*B+y(b)*J+et.y}},ge=(e,t,n,r,s,i,o,a,l,c)=>{const m=typeof c=="number";let u=e,y=t,g=0,f=[u,y,g],h=[u,y],x=0,p={x:0,y:0},b=[{x:u,y}];m&&c<=0&&(p={x:u,y});const A=300;for(let d=0;d<=A;d+=1){if(x=d/A,{x:u,y}=ye(e,t,n,r,s,i,o,a,l,x),b=[...b,{x:u,y}],g+=W(h,[u,y]),h=[u,y],m&&g>c&&c>f[2]){const M=(g-c)/(g-f[2]);p={x:h[0]*(1-M)+f[0]*M,y:h[1]*(1-M)+f[1]*M}}f=[u,y,g]}return m&&c>=g&&(p={x:a,y:l}),{length:g,point:p,min:{x:Math.min(...b.map(d=>d.x)),y:Math.min(...b.map(d=>d.y))},max:{x:Math.max(...b.map(d=>d.x)),y:Math.max(...b.map(d=>d.y))}}},xe=(e,t,n,r,s,i,o,a,l)=>{const c=1-l;return{x:c**3*e+3*c**2*l*n+3*c*l**2*s+l**3*o,y:c**3*t+3*c**2*l*r+3*c*l**2*i+l**3*a}},pe=(e,t,n,r,s,i,o,a,l)=>{const c=typeof l=="number";let m=e,u=t,y=0,g=[m,u,y],f=[m,u],h=0,x={x:0,y:0},p=[{x:m,y:u}];c&&l<=0&&(x={x:m,y:u});const b=300;for(let A=0;A<=b;A+=1){if(h=A/b,{x:m,y:u}=xe(e,t,n,r,s,i,o,a,h),p=[...p,{x:m,y:u}],y+=W(f,[m,u]),f=[m,u],c&&y>l&&l>g[2]){const d=(y-l)/(y-g[2]);x={x:f[0]*(1-d)+g[0]*d,y:f[1]*(1-d)+g[1]*d}}g=[m,u,y]}return c&&l>=y&&(x={x:o,y:a}),{length:y,point:x,min:{x:Math.min(...p.map(A=>A.x)),y:Math.min(...p.map(A=>A.y))},max:{x:Math.max(...p.map(A=>A.x)),y:Math.max(...p.map(A=>A.y))}}},be=(e,t,n,r,s,i,o)=>{const a=1-o;return{x:a**2*e+2*a*o*n+o**2*s,y:a**2*t+2*a*o*r+o**2*i}},de=(e,t,n,r,s,i,o)=>{const a=typeof o=="number";let l=e,c=t,m=0,u=[l,c,m],y=[l,c],g=0,f={x:0,y:0},h=[{x:l,y:c}];a&&o<=0&&(f={x:l,y:c});const x=300;for(let p=0;p<=x;p+=1){if(g=p/x,{x:l,y:c}=be(e,t,n,r,s,i,g),h=[...h,{x:l,y:c}],m+=W(y,[l,c]),y=[l,c],a&&m>o&&o>u[2]){const b=(m-o)/(m-u[2]);f={x:y[0]*(1-b)+u[0]*b,y:y[1]*(1-b)+u[1]*b}}u=[l,c,m]}return a&&o>=m&&(f={x:s,y:i}),{length:m,point:f,min:{x:Math.min(...h.map(p=>p.x)),y:Math.min(...h.map(p=>p.y))},max:{x:Math.max(...h.map(p=>p.x)),y:Math.max(...h.map(p=>p.y))}}},ft=(e,t)=>{const n=z(e),r=typeof t=="number";let s,i=[],o,a=0,l=0,c=0,m=0,u,y=[],g=[],f=0,h={x:0,y:0},x=h,p=h,b=h,A=0;for(let d=0,M=n.length;d<M;d+=1)u=n[d],[o]=u,s=o==="M",i=s?i:[a,l,...u.slice(1)],s?([,c,m]=u,h={x:c,y:m},x=h,f=0,r&&t<.001&&(b=h)):o==="L"?{length:f,min:h,max:x,point:p}=dt(...i,(t||0)-A):o==="A"?{length:f,min:h,max:x,point:p}=ge(...i,(t||0)-A):o==="C"?{length:f,min:h,max:x,point:p}=pe(...i,(t||0)-A):o==="Q"?{length:f,min:h,max:x,point:p}=de(...i,(t||0)-A):o==="Z"&&(i=[a,l,c,m],{length:f,min:h,max:x,point:p}=dt(...i,(t||0)-A)),r&&A<t&&A+f>=t&&(b=p),g=[...g,x],y=[...y,h],A+=f,[a,l]=o!=="Z"?u.slice(-2):[c,m];return r&&t>=A&&(b={x:a,y:l}),{length:A,point:b,min:{x:Math.min(...y.map(d=>d.x)),y:Math.min(...y.map(d=>d.y))},max:{x:Math.max(...g.map(d=>d.x)),y:Math.max(...g.map(d=>d.y))}}},kt=e=>{if(!e)return{x:0,y:0,width:0,height:0,x2:0,y2:0,cx:0,cy:0,cz:0};const{min:{x:t,y:n},max:{x:r,y:s}}=ft(e),i=r-t,o=s-n;return{width:i,height:o,x:t,y:n,x2:r,y2:s,cx:t+i/2,cy:n+o/2,cz:Math.max(i,o)+Math.min(i,o)/2}},Mt=(e,t,n)=>{if(e[n].length>7){e[n].shift();const r=e[n];let s=n;for(;r.length;)t[n]="A",e.splice(s+=1,0,["C",...r.splice(0,6)]);e.splice(n,1)}},Jt=e=>vt(e)&&e.every(([t])=>"MC".includes(t)),rt=(e,t,n)=>{const r=e*Math.cos(n)-t*Math.sin(n),s=e*Math.sin(n)+t*Math.cos(n);return{x:r,y:s}},Ut=(e,t,n,r,s,i,o,a,l,c)=>{let m=e,u=t,y=n,g=r,f=a,h=l;const x=Math.PI*120/180,p=Math.PI/180*(+s||0);let b=[],A,d,M,T,j;if(c)[d,M,T,j]=c;else{A=rt(m,u,-p),m=A.x,u=A.y,A=rt(f,h,-p),f=A.x,h=A.y;const P=(m-f)/2,L=(u-h)/2;let I=P*P/(y*y)+L*L/(g*g);I>1&&(I=Math.sqrt(I),y*=I,g*=I);const xt=y*y,pt=g*g,Ct=(i===o?-1:1)*Math.sqrt(Math.abs((xt*pt-xt*L*L-pt*P*P)/(xt*L*L+pt*P*P)));T=Ct*y*L/g+(m+f)/2,j=Ct*-g*P/y+(u+h)/2,d=Math.asin(((u-j)/g*10**9>>0)/10**9),M=Math.asin(((h-j)/g*10**9>>0)/10**9),d=m<T?Math.PI-d:d,M=f<T?Math.PI-M:M,d<0&&(d=Math.PI*2+d),M<0&&(M=Math.PI*2+M),o&&d>M&&(d-=Math.PI*2),!o&&M>d&&(M-=Math.PI*2)}let H=M-d;if(Math.abs(H)>x){const P=M,L=f,I=h;M=d+x*(o&&M>d?1:-1),f=T+y*Math.cos(M),h=j+g*Math.sin(M),b=Ut(f,h,y,g,s,0,o,L,I,[M,P,T,j])}H=M-d;const F=Math.cos(d),tt=Math.sin(d),S=Math.cos(M),et=Math.sin(M),Y=Math.tan(H/4),nt=4/3*y*Y,st=4/3*g*Y,$=[m,u],q=[m+nt*tt,u-st*F],B=[f+nt*et,h-st*S],J=[f,h];if(q[0]=2*$[0]-q[0],q[1]=2*$[1]-q[1],c)return[...q,...B,...J,...b];b=[...q,...B,...J,...b];const gt=[];for(let P=0,L=b.length;P<L;P+=1)gt[P]=P%2?rt(b[P-1],b[P],p).y:rt(b[P],b[P+1],p).x;return gt},Me=(e,t,n,r,s,i)=>{const o=.3333333333333333,a=2/3;return[o*e+a*n,o*t+a*r,o*s+a*n,o*i+a*r,s,i]},St=(e,t,n,r)=>{const s=E([e,t],[n,r],.3333333333333333),i=E([e,t],[n,r],2/3);return[...s,...i,n,r]},ot=(e,t)=>{const[n]=e,r=e.slice(1).map(Number),[s,i]=r;let o;const{x1:a,y1:l,x:c,y:m}=t;return"TQ".includes(n)||(t.qx=null,t.qy=null),n==="M"?(t.x=s,t.y=i,e):n==="A"?(o=[a,l,...r],["C",...Ut(...o)]):n==="Q"?(t.qx=s,t.qy=i,o=[a,l,...r],["C",...Me(...o)]):n==="L"?["C",...St(a,l,s,i)]:n==="Z"?["C",...St(a,l,c,m)]:e},ct=e=>{if(Jt(e))return[...e];const t=z(e),n={...ut},r=[];let s="",i=t.length;for(let o=0;o<i;o+=1){[s]=t[o],r[o]=s,t[o]=ot(t[o],n),Mt(t,r,o),i=t.length;const a=t[o],l=a.length;n.x1=+a[l-2],n.y1=+a[l-1],n.x2=+a[l-4]||n.x1,n.y2=+a[l-3]||n.y1}return t},Ae=(e,t,n,r,s,i,o,a)=>3*((a-t)*(n+s)-(o-e)*(r+i)+r*(e-s)-n*(t-i)+a*(s+e/3)-o*(i+t/3))/20,Vt=e=>{let t=0,n=0,r=0;return ct(e).map(s=>{switch(s[0]){case"M":return[,t,n]=s,0;default:return r=Ae(t,n,...s.slice(1)),[t,n]=s.slice(-2),r}}).reduce((s,i)=>s+i,0)},X=e=>ft(e).length,Ne=e=>Vt(ct(e))>=0,K=(e,t)=>ft(e,t).point,Pt=(e,t)=>{const n=Z(e);let r=[...n],s=X(r),i=r.length-1,o=0,a=0,l=n[0];const[c,m]=l.slice(-2),u={x:c,y:m};if(i<=0||!t||!Number.isFinite(t))return{segment:l,index:0,length:a,point:u,lengthAtSegment:o};if(t>=s)return r=n.slice(0,-1),o=X(r),a=s-o,{segment:n[i],index:i,length:a,lengthAtSegment:o};const y=[];for(;i>0;)l=r[i],r=r.slice(0,-1),o=X(r),a=s-o,s=o,y.push({segment:l,index:i,length:a,lengthAtSegment:o}),i-=1;return y.find(({lengthAtSegment:g})=>g<=t)},yt=(e,t)=>{const n=Z(e),r=z(n),s=X(n),i=d=>{const M=d.x-t.x,T=d.y-t.y;return M*M+T*T};let o=8,a,l={x:0,y:0},c=0,m=0,u=1/0;for(let d=0;d<=s;d+=o)a=K(r,d),c=i(a),c<u&&(l=a,m=d,u=c);o/=2;let y,g,f=0,h=0,x=0,p=0;for(;o>.5;)f=m-o,y=K(r,f),x=i(y),h=m+o,g=K(r,h),p=i(g),f>=0&&x<u?(l=y,m=f,u=x):h<=s&&p<u?(l=g,m=h,u=p):o/=2;const b=Pt(n,m),A=Math.sqrt(u);return{closest:l,distance:A,segment:b}},we=(e,t)=>yt(e,t).closest,ve=(e,t)=>yt(e,t).segment,Pe=(e,t)=>Pt(e,t).segment,Ce=(e,t)=>{const{distance:n}=yt(e,t);return Math.abs(n)<.001},Kt=e=>{if(typeof e!="string"||!e.length)return!1;const t=new zt(e);for(V(t);t.index<t.max&&!t.err.length;)jt(t);return!t.err.length&&"mM".includes(t.segments[0][0])},_t=e=>_(e)&&e.slice(1).every(([t])=>t===t.toLowerCase()),lt={line:["x1","y1","x2","y2"],circle:["cx","cy","r"],ellipse:["cx","cy","rx","ry"],rect:["width","height","x","y","rx","ry"],polygon:["points"],polyline:["points"],glyph:["d"]},Te=e=>{let{x1:t,y1:n,x2:r,y2:s}=e;return[t,n,r,s]=[t,n,r,s].map(i=>+i),[["M",t,n],["L",r,s]]},Le=e=>{const t=[],n=(e.points||"").trim().split(/[\s|,]/).map(s=>+s);let r=0;for(;r<n.length;)t.push([r?"L":"M",n[r],n[r+1]]),r+=2;return e.type==="polygon"?[...t,["z"]]:t},ke=e=>{let{cx:t,cy:n,r}=e;return[t,n,r]=[t,n,r].map(s=>+s),[["M",t-r,n],["a",r,r,0,1,0,2*r,0],["a",r,r,0,1,0,-2*r,0]]},Se=e=>{let{cx:t,cy:n}=e,r=e.rx||0,s=e.ry||r;return[t,n,r,s]=[t,n,r,s].map(i=>+i),[["M",t-r,n],["a",r,s,0,1,0,2*r,0],["a",r,s,0,1,0,-2*r,0]]},$e=e=>{const t=+e.x||0,n=+e.y||0,r=+e.width,s=+e.height;let i=+(e.rx||0),o=+(e.ry||i);return i||o?(i*2>r&&(i-=(i*2-r)/2),o*2>s&&(o-=(o*2-s)/2),[["M",t+i,n],["h",r-i*2],["s",i,0,i,o],["v",s-o*2],["s",0,o,-i,o],["h",-r+i*2],["s",-i,0,-i,-o],["v",-s+o*2],["s",0,-o,i,-o]]):[["M",t,n],["h",r],["v",s],["H",t],["Z"]]},Wt=(e,t)=>{const r=(t||document).defaultView||window,s=Object.keys(lt),i=e instanceof r.SVGElement,o=i?e.tagName:null;if(o&&[...s,"path"].every(u=>o!==u))throw TypeError(`${k}: "${o}" is not SVGElement`);const a=i?o:e.type,l=lt[a],c={type:a};i?l.forEach(u=>{c[u]=e.getAttribute(u)}):Object.assign(c,e);let m=[];return a==="circle"?m=ke(c):a==="ellipse"?m=Se(c):["polyline","polygon"].includes(a)?m=Le(c):a==="rect"?m=$e(c):a==="line"?m=Te(c):["glyph","path"].includes(a)&&(m=Z(i?e.getAttribute("d")||"":e.d||"")),_(m)&&m.length?m:!1},at=(e,t)=>{let{round:n}=mt;if(t==="off"||n==="off")return[...e];n=typeof t=="number"&&t>=0?t:n;const r=typeof n=="number"&&n>=1?10**n:1;return e.map(s=>{const i=s.slice(1).map(Number).map(o=>n?Math.round(o*r)/r:Math.round(o));return[s[0],...i]})},At=(e,t)=>at(e,t).map(n=>n[0]+n.slice(1).join(" ")).join(""),qe=(e,t,n)=>{const r=n||document,s=r.defaultView||window,i=Object.keys(lt),o=e instanceof s.SVGElement,a=o?e.tagName:null;if(a==="path")throw TypeError(`${k}: "${a}" is already SVGPathElement`);if(a&&i.every(h=>a!==h))throw TypeError(`${k}: "${a}" is not SVGElement`);const l=r.createElementNS("http://www.w3.org/2000/svg","path"),c=o?a:e.type,m=lt[c],u={type:c},y=mt.round,g=Wt(e,r),f=g&&g.length?At(g,y):"";return o?(m.forEach(h=>{u[h]=e.getAttribute(h)}),Object.values(e.attributes).forEach(({name:h,value:x})=>{m.includes(h)||l.setAttribute(h,x)})):(Object.assign(u,e),Object.keys(u).forEach(h=>{!m.includes(h)&&h!=="type"&&l.setAttribute(h.replace(/[A-Z]/g,x=>`-${x.toLowerCase()}`),u[h])})),Kt(f)?(l.setAttribute("d",f),t&&o&&(e.before(l,e),e.remove()),l):!1},$t=e=>{const t=[];let n,r=-1;return e.forEach(s=>{s[0]==="M"?(n=[s],r+=1):n=[...n,s],t[r]=n}),t},Gt=e=>{let t=new v;const{origin:n}=e,[r,s]=n,{translate:i}=e,{rotate:o}=e,{skew:a}=e,{scale:l}=e;return Array.isArray(i)&&i.length>=2&&i.every(c=>!Number.isNaN(+c))&&i.some(c=>c!==0)?t=t.translate(...i):typeof i=="number"&&!Number.isNaN(i)&&(t=t.translate(i)),(o||a||l)&&(t=t.translate(r,s),Array.isArray(o)&&o.length>=2&&o.every(c=>!Number.isNaN(+c))&&o.some(c=>c!==0)?t=t.rotate(...o):typeof o=="number"&&!Number.isNaN(o)&&(t=t.rotate(o)),Array.isArray(a)&&a.length===2&&a.every(c=>!Number.isNaN(+c))&&a.some(c=>c!==0)?(t=a[0]?t.skewX(a[0]):t,t=a[1]?t.skewY(a[1]):t):typeof a=="number"&&!Number.isNaN(a)&&(t=t.skewX(a)),Array.isArray(l)&&l.length>=2&&l.every(c=>!Number.isNaN(+c))&&l.some(c=>c!==1)?t=t.scale(...l):typeof l=="number"&&!Number.isNaN(l)&&(t=t.scale(l)),t=t.translate(-r,-s)),t},Nt=e=>{if(_t(e))return[...e];const t=Z(e);let n=0,r=0,s=0,i=0;return t.map(o=>{const a=o.slice(1).map(Number),[l]=o,c=l.toLowerCase();if(l==="M")return[n,r]=a,s=n,i=r,["M",n,r];let m=[];if(l!==c)if(c==="a")m=[c,a[0],a[1],a[2],a[3],a[4],a[5]-n,a[6]-r];else if(c==="v")m=[c,a[0]-r];else if(c==="h")m=[c,a[0]-n];else{const y=a.map((g,f)=>g-(f%2?r:n));m=[c,...y]}else l==="m"&&(s=a[0]+n,i=a[1]+r),m=[c,...a];const u=m.length;return c==="z"?(n=s,r=i):c==="h"?n+=m[1]:c==="v"?r+=m[1]:(n+=m[u-2],r+=m[u-1]),m})},Oe=(e,t,n,r)=>{const[s]=e,i=p=>Math.round(p*10**4)/10**4,o=e.slice(1).map(p=>+p),a=t.slice(1).map(p=>+p),{x1:l,y1:c,x2:m,y2:u,x:y,y:g}=n;let f=e;const[h,x]=a.slice(-2);if("TQ".includes(s)||(n.qx=null,n.qy=null),["V","H","S","T","Z"].includes(s))f=[s,...o];else if(s==="L")i(y)===i(h)?f=["V",x]:i(g)===i(x)&&(f=["H",h]);else if(s==="C"){const[p,b]=a;"CS".includes(r)&&(i(p)===i(l*2-m)&&i(b)===i(c*2-u)||i(l)===i(m*2-y)&&i(c)===i(u*2-g))&&(f=["S",...a.slice(-4)]),n.x1=p,n.y1=b}else if(s==="Q"){const[p,b]=a;n.qx=p,n.qy=b,"QT".includes(r)&&(i(p)===i(l*2-m)&&i(b)===i(c*2-u)||i(l)===i(m*2-y)&&i(c)===i(u*2-g))&&(f=["T",...a.slice(-2)])}return f},qt=(e,t)=>{const n=Q(e),r=z(n),s={...ut},i=[],o=n.length;let a="",l="",c=0,m=0,u=0,y=0;for(let h=0;h<o;h+=1){[a]=n[h],i[h]=a,h&&(l=i[h-1]),n[h]=Oe(n[h],r[h],s,l);const x=n[h],p=x.length;switch(s.x1=+x[p-2],s.y1=+x[p-1],s.x2=+x[p-4]||s.x1,s.y2=+x[p-3]||s.y1,a){case"Z":c=u,m=y;break;case"H":[,c]=x;break;case"V":[,m]=x;break;default:[c,m]=x.slice(-2).map(Number),a==="M"&&(u=c,y=m)}s.x=c,s.y=m}const g=at(n,t),f=at(Nt(n),t);return g.map((h,x)=>x?h.join("").length<f[x].join("").length?h:f[x]:h)},Ee=e=>{const t=e.slice(1).map((n,r,s)=>r?[...s[r-1].slice(-2),...n.slice(1)]:[...e[0].slice(1),...n.slice(1)]).map(n=>n.map((r,s)=>n[n.length-s-2*(1-s%2)])).reverse();return[["M",...t[0].slice(0,2)],...t.map(n=>["C",...n.slice(2)])]},it=e=>{const t=Q(e),n=t.slice(-1)[0][0]==="Z",r=z(t).map((s,i)=>{const[o,a]=s.slice(-2).map(Number);return{seg:t[i],n:s,c:t[i][0],x:o,y:a}}).map((s,i,o)=>{const a=s.seg,l=s.n,c=i&&o[i-1],m=o[i+1],u=s.c,y=o.length,g=i?o[i-1].x:o[y-1].x,f=i?o[i-1].y:o[y-1].y;let h=[];switch(u){case"M":h=n?["Z"]:[u,g,f];break;case"A":h=[u,...a.slice(1,-3),a[5]===1?0:1,g,f];break;case"C":m&&m.c==="S"?h=["S",a[1],a[2],g,f]:h=[u,a[3],a[4],a[1],a[2],g,f];break;case"S":c&&"CS".includes(c.c)&&(!m||m.c!=="S")?h=["C",l[3],l[4],l[1],l[2],g,f]:h=[u,l[1],l[2],g,f];break;case"Q":m&&m.c==="T"?h=["T",g,f]:h=[u,...a.slice(1,-2),g,f];break;case"T":c&&"QT".includes(c.c)&&(!m||m.c!=="T")?h=["Q",l[1],l[2],g,f]:h=[u,g,f];break;case"Z":h=["M",g,f];break;case"H":h=[u,g];break;case"V":h=[u,f];break;default:h=[u,...a.slice(1,-2),g,f]}return h});return n?r.reverse():[r[0],...r.slice(1).reverse()]},je=(e,t)=>{let n=v.Translate(...t.slice(0,-1));return[,,,n.m44]=t,n=e.multiply(n),[n.m41,n.m42,n.m43,n.m44]},Ot=(e,t,n)=>{const[r,s,i]=n,[o,a,l]=je(e,[...t,0,1]),c=o-r,m=a-s,u=l-i;return[c*(Math.abs(i)/Math.abs(u)||1)+r,m*(Math.abs(i)/Math.abs(u)||1)+s]},Et=(e,t)=>{let n=0,r=0,s,i,o,a,l,c;const m=Q(e),u=t&&Object.keys(t);if(!t||u&&!u.length)return[...m];const y=z(m);if(!t.origin){const{origin:M}=mt;Object.assign(t,{origin:M})}const g=Gt(t),{origin:f}=t,h={...ut};let x=[],p=0,b="",A=[];const d=[];if(!g.isIdentity){for(s=0,o=m.length;s<o;s+=1){x=m[s],m[s]&&([b]=x),d[s]=b,b==="A"&&(x=ot(y[s],h),m[s]=ot(y[s],h),Mt(m,d,s),y[s]=ot(y[s],h),Mt(y,d,s),o=Math.max(m.length,y.length)),x=y[s],p=x.length,h.x1=+x[p-2],h.y1=+x[p-1],h.x2=+x[p-4]||h.x1,h.y2=+x[p-3]||h.y1;const M={s:m[s],c:m[s][0],x:h.x1,y:h.y1};A=[...A,M]}return A.map(M=>{if(b=M.c,x=M.s,b==="L"||b==="H"||b==="V")return[l,c]=Ot(g,[M.x,M.y],f),n!==l&&r!==c?x=["L",l,c]:r===c?x=["H",l]:n===l&&(x=["V",c]),n=l,r=c,x;for(i=1,a=x.length;i<a;i+=2)[n,r]=Ot(g,[+x[i],+x[i+1]],f),x[i]=n,x[i+1]=r;return x})}return[...m]},ze=e=>{const n=e.slice(0,2),r=e.slice(2,4),s=e.slice(4,6),i=e.slice(6,8),o=E(n,r,.5),a=E(r,s,.5),l=E(s,i,.5),c=E(o,a,.5),m=E(a,l,.5),u=E(c,m,.5);return[["C",...o,...c,...u],["C",...m,...l,...i]]};class w{constructor(t,n){const r=n||{},s=typeof t>"u";if(s||!t.length)throw TypeError(`${k}: "pathValue" is ${s?"undefined":"empty"}`);const i=Z(t);this.segments=i;const{width:o,height:a,cx:l,cy:c,cz:m}=this.getBBox(),{round:u,origin:y}=r;let g;if(u==="auto"){const h=`${Math.floor(Math.max(o,a))}`.length;g=h>=4?0:4-h}else Number.isInteger(u)||u==="off"?g=u:g=mt.round;let f;if(Array.isArray(y)&&y.length>=2){const[h,x,p]=y.map(Number);f=[Number.isNaN(h)?l:h,Number.isNaN(x)?c:x,Number.isNaN(p)?m:p]}else f=[l,c,m];return this.round=g,this.origin=f,this}getBBox(){return kt(this.segments)}getTotalLength(){return X(this.segments)}getPointAtLength(t){return K(this.segments,t)}toAbsolute(){const{segments:t}=this;return this.segments=Q(t),this}toRelative(){const{segments:t}=this;return this.segments=Nt(t),this}toCurve(){const{segments:t}=this;return this.segments=ct(t),this}reverse(t){this.toAbsolute();const{segments:n}=this,r=$t(n),s=r.length>1?r:!1,i=s?[...s].map((a,l)=>t?l?it(a):[...a]:it(a)):[...n];let o=[];return s?o=i.flat(1):o=t?n:it(n),this.segments=[...o],this}normalize(){const{segments:t}=this;return this.segments=z(t),this}optimize(){const{segments:t}=this;return this.segments=qt(t,this.round),this}transform(t){if(!t||typeof t!="object"||typeof t=="object"&&!["translate","rotate","skew","scale"].some(l=>l in t))return this;const{segments:n,origin:[r,s,i]}=this,o={};for(const[l,c]of Object.entries(t))l==="skew"&&Array.isArray(c)||(l==="rotate"||l==="translate"||l==="origin"||l==="scale")&&Array.isArray(c)?o[l]=c.map(Number):l!=="origin"&&typeof Number(c)=="number"&&(o[l]=Number(c));const{origin:a}=o;if(Array.isArray(a)&&a.length>=2){const[l,c,m]=a.map(Number);o.origin=[Number.isNaN(l)?r:l,Number.isNaN(c)?s:c,m||i]}else o.origin=[r,s,i];return this.segments=Et(n,o),this}flipX(){return this.transform({rotate:[0,180,0]}),this}flipY(){return this.transform({rotate:[180,0,0]}),this}toString(){return At(this.segments,this.round)}}N(w,"CSSMatrix",v),N(w,"getSVGMatrix",Gt),N(w,"getPathBBox",kt),N(w,"getPathArea",Vt),N(w,"getTotalLength",X),N(w,"getDrawDirection",Ne),N(w,"getPointAtLength",K),N(w,"pathLengthFactory",ft),N(w,"getPropertiesAtLength",Pt),N(w,"getPropertiesAtPoint",yt),N(w,"polygonLength",ae),N(w,"polygonArea",le),N(w,"getClosestPoint",we),N(w,"getSegmentOfPoint",ve),N(w,"getSegmentAtLength",Pe),N(w,"isPointInStroke",Ce),N(w,"isValidPath",Kt),N(w,"isPathArray",_),N(w,"isAbsoluteArray",wt),N(w,"isRelativeArray",_t),N(w,"isCurveArray",Jt),N(w,"isNormalizedArray",vt),N(w,"shapeToPath",qe),N(w,"shapeToPathArray",Wt),N(w,"parsePathString",Z),N(w,"roundPath",at),N(w,"splitPath",$t),N(w,"splitCubic",ze),N(w,"optimizePath",qt),N(w,"reverseCurve",Ee),N(w,"reversePath",it),N(w,"normalizePath",z),N(w,"transformPath",Et),N(w,"pathToAbsolute",Q),N(w,"pathToRelative",Nt),N(w,"pathToCurve",ct),N(w,"pathToString",At);module.exports=w;
2
2
  //# sourceMappingURL=svg-path-commander.cjs.map