@crafing/svg-maker 0.0.0-stage → 0.1.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Crafing
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,480 @@
1
- # Temporary Holding Version
1
+ # `@crafing/svg-maker`
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Complete integration guide for beginners.
4
+
5
+ This package stores and edits **SVG path data** (points, curves, shapes) and can turn that data into an SVG string.
6
+ It does **not** draw anything on screen by itself. You (or a React UI) decide how to display it.
7
+
8
+ ## Live demo
9
+
10
+ Try the free browser tool built with this stack:
11
+
12
+ **[SVG Maker on Crafing](https://www.crafing.com/tools/svg-maker)**
13
+
14
+ ---
15
+
16
+ ## Table of contents
17
+
18
+ 1. [What this package does](#1-what-this-package-does)
19
+ 2. [Install](#2-install)
20
+ 3. [Your first program (5 minutes)](#3-your-first-program-5-minutes)
21
+ 4. [Understand the data model](#4-understand-the-data-model)
22
+ 5. [Build a path from clicks](#5-build-a-path-from-clicks)
23
+ 6. [Curves and corners](#6-curves-and-corners)
24
+ 7. [Shapes](#7-shapes)
25
+ 8. [Hit-testing (mouse near a point or line)](#8-hit-testing-mouse-near-a-point-or-line)
26
+ 9. [Export SVG and download](#9-export-svg-and-download)
27
+ 10. [Save / load from a database](#10-save--load-from-a-database)
28
+ 11. [Use with React](#11-use-with-react)
29
+ 12. [API checklist](#12-api-checklist)
30
+ 13. [Common mistakes](#13-common-mistakes)
31
+
32
+ ---
33
+
34
+ ## 1. What this package does
35
+
36
+ | It does | It does **not** |
37
+ |---------|-----------------|
38
+ | Create path objects | Render buttons or a toolbar |
39
+ | Convert points → SVG `d` string | Include React components |
40
+ | Insert curve points, round corners | Talk to your server |
41
+ | Hit-test mouse vs points/segments | Style your page |
42
+
43
+ Think of it as the **brain** of an SVG editor. Your HTML/React is the **face**.
44
+
45
+ ---
46
+
47
+ ## 2. Install
48
+
49
+ Packages ship from **`dist/`** (minified). Until npm publish, install from the **admin-hosted** build:
50
+
51
+ ```bash
52
+ # From a running / deployed admin (see /packages/index.json for exact filenames)
53
+ npm install https://<admin-host>/packages/crafing-svg-maker-0.1.0.tgz
54
+
55
+ # Or from a crafing repo checkout (after: cd admin && npm run build:packages)
56
+ npm install ./admin/public/packages/svg-maker
57
+ # Source for this package lives at repo-root packages/svg-maker
58
+ ```
59
+
60
+ When published to npm later:
61
+
62
+ ```bash
63
+ npm install @crafing/svg-maker
64
+ ```
65
+
66
+ Works in browsers (with a bundler like Vite / Next / Webpack) and in Node.
67
+
68
+ ---
69
+
70
+ ## 3. Your first program (5 minutes)
71
+
72
+ Create a file (for example `demo.mjs`) or put this in a browser module:
73
+
74
+ ```js
75
+ import {
76
+ createEmptyPath,
77
+ createShapePath,
78
+ pointsToPathD,
79
+ buildSvgMarkup,
80
+ } from "@crafing/svg-maker";
81
+
82
+ // 1) Start with an empty path
83
+ const path = createEmptyPath({
84
+ name: "My path",
85
+ fill: "#111827",
86
+ });
87
+
88
+ // 2) Add three corner points (a triangle)
89
+ path.points = [
90
+ { id: "a", x: 50, y: 200, kind: "corner" },
91
+ { id: "b", x: 200, y: 50, kind: "corner" },
92
+ { id: "c", x: 350, y: 200, kind: "corner" },
93
+ ];
94
+ path.closed = true;
95
+
96
+ // 3) Get the SVG path `d` attribute
97
+ const d = pointsToPathD(path.points, path.closed);
98
+ console.log("d =", d);
99
+
100
+ // 4) Or build a full SVG document string
101
+ const svg = buildSvgMarkup([path], { width: 400, height: 400 });
102
+ console.log(svg);
103
+
104
+ // Bonus: insert a ready-made rectangle shape
105
+ const rect = createShapePath("rect", {
106
+ width: 400,
107
+ height: 400,
108
+ fill: "#2563eb",
109
+ });
110
+ console.log(pointsToPathD(rect.points, rect.closed));
111
+ ```
112
+
113
+ Show the SVG in the browser:
114
+
115
+ ```html
116
+ <!doctype html>
117
+ <html>
118
+ <body>
119
+ <div id="out"></div>
120
+ <script type="module">
121
+ import { createShapePath, buildSvgMarkup } from "@crafing/svg-maker";
122
+
123
+ const path = createShapePath("ellipse", {
124
+ width: 400,
125
+ height: 300,
126
+ fill: "#16a34a",
127
+ });
128
+
129
+ document.getElementById("out").innerHTML = buildSvgMarkup([path], {
130
+ width: 400,
131
+ height: 300,
132
+ });
133
+ </script>
134
+ </body>
135
+ </html>
136
+ ```
137
+
138
+ If you see a green oval, the package is integrated correctly.
139
+
140
+ ---
141
+
142
+ ## 4. Understand the data model
143
+
144
+ Everything is plain JavaScript objects. You can `JSON.stringify` them and store them.
145
+
146
+ ### Point
147
+
148
+ ```js
149
+ {
150
+ id: "pt-1", // unique string
151
+ x: 120, // position
152
+ y: 80,
153
+ kind: "corner", // "corner" OR "curve"
154
+ // only for kind === "curve":
155
+ c1x: 100, c1y: 80, // handle toward the previous point
156
+ c2x: 140, c2y: 80, // handle toward the next point
157
+ }
158
+ ```
159
+
160
+ ### Path
161
+
162
+ ```js
163
+ {
164
+ id: "path-1",
165
+ name: "Path 1",
166
+ points: [ /* points above */ ],
167
+ closed: false, // true = connect last point back to first
168
+ fill: "#111827",
169
+ stroke: "none",
170
+ strokeWidth: 1, // open line default = LINE_MIN_STROKE_WIDTH (1)
171
+ }
172
+ ```
173
+
174
+ **Stroke rules** (see `resolvePathPaint` / `LINE_MIN_STROKE_WIDTH`):
175
+
176
+ | Path | Default / paint |
177
+ |------|-----------------|
178
+ | Open (`closed: false`) — line | `strokeWidth` minimum **1**; stroke color falls back to fill if `"none"` |
179
+ | Closed — fill shape | `strokeWidth` may be **0** (no outline until you raise it) |
180
+
181
+ `createEmptyPath({ closed: false })` defaults stroke width to **1**; `closed: true` (and shapes) default to **0**.
182
+
183
+ ### Tools / shapes (strings you pass from your UI)
184
+
185
+ - Tools: `"pen"` | `"select"` | `"curve"` (for your own UI state)
186
+ - Shapes: `"rect"` | `"rounded-rect"` | `"ellipse"` | `"triangle"`
187
+
188
+ ---
189
+
190
+ ## 5. Build a path from clicks
191
+
192
+ Example: user clicks on an SVG → you add a corner point.
193
+
194
+ ```js
195
+ import { createEmptyPath, nextSvgMakerId, pointsToPathD } from "@crafing/svg-maker";
196
+
197
+ let path = createEmptyPath({ name: "Path 1", fill: "#111827" });
198
+
199
+ function onCanvasClick(x, y) {
200
+ path = {
201
+ ...path,
202
+ points: [
203
+ ...path.points,
204
+ {
205
+ id: nextSvgMakerId("pt"),
206
+ x,
207
+ y,
208
+ kind: "corner",
209
+ },
210
+ ],
211
+ };
212
+
213
+ // redraw using this string
214
+ const d = pointsToPathD(path.points, path.closed);
215
+ mySvgPathElement.setAttribute("d", d);
216
+ }
217
+ ```
218
+
219
+ Close the path later:
220
+
221
+ ```js
222
+ path = { ...path, closed: true };
223
+ ```
224
+
225
+ ---
226
+
227
+ ## 6. Curves and corners
228
+
229
+ ### Turn a corner into a curve
230
+
231
+ ```js
232
+ import { makePointCurve, makePointCorner } from "@crafing/svg-maker";
233
+
234
+ // index = which point in path.points
235
+ path.points = makePointCurve(path.points, index, path.closed);
236
+
237
+ // back to a sharp corner
238
+ path.points = makePointCorner(path.points, index);
239
+ ```
240
+
241
+ ### Insert a curve point on a line between two points
242
+
243
+ `endIndex` = index of the segment’s **end** point (the point after the segment).
244
+
245
+ ```js
246
+ import { insertCurvePointOnSegment } from "@crafing/svg-maker";
247
+
248
+ const { points, selectedPointId } = insertCurvePointOnSegment(
249
+ path.points,
250
+ endIndex,
251
+ mouseX,
252
+ mouseY,
253
+ path.closed,
254
+ );
255
+
256
+ path.points = points;
257
+ // selectedPointId is returned for callers that want it —
258
+ // UI editors typically do NOT auto-select (add ≠ select / focus).
259
+ ```
260
+
261
+ ### Round a corner (like a rounded rectangle corner)
262
+
263
+ ```js
264
+ import { roundCornerAt, previewRoundCorner } from "@crafing/svg-maker";
265
+
266
+ const { points, selectedPointId } = roundCornerAt(
267
+ path.points,
268
+ index,
269
+ 16, // radius in px
270
+ path.closed,
271
+ );
272
+ path.points = points;
273
+
274
+ // Optional: preview before committing
275
+ const preview = previewRoundCorner(path.points, index, 16, path.closed);
276
+ ```
277
+
278
+ ### Move / edit one point
279
+
280
+ ```js
281
+ import { updatePointFields } from "@crafing/svg-maker";
282
+
283
+ path.points = updatePointFields(path.points, pointId, {
284
+ x: newX,
285
+ y: newY,
286
+ });
287
+ ```
288
+
289
+ ---
290
+
291
+ ## 7. Shapes
292
+
293
+ ```js
294
+ import { createShapePath } from "@crafing/svg-maker";
295
+
296
+ const rect = createShapePath("rect", {
297
+ width: 400,
298
+ height: 400,
299
+ fill: "#111827",
300
+ });
301
+
302
+ const rounded = createShapePath("rounded-rect", {
303
+ width: 400,
304
+ height: 400,
305
+ fill: "#111827",
306
+ radius: 32,
307
+ });
308
+
309
+ const oval = createShapePath("ellipse", { width: 400, height: 300, fill: "#e11d48" });
310
+ const tri = createShapePath("triangle", { width: 400, height: 400, fill: "#ca8a04" });
311
+ ```
312
+
313
+ Add to your list of paths:
314
+
315
+ ```js
316
+ const paths = [rect, oval];
317
+ ```
318
+
319
+ ---
320
+
321
+ ## 8. Hit-testing (mouse near a point or line)
322
+
323
+ Use this when building your own canvas so clicks can select points or insert on edges.
324
+
325
+ ```js
326
+ import {
327
+ findNearestPointHit,
328
+ findNearestSegmentHit,
329
+ } from "@crafing/svg-maker";
330
+
331
+ const paths = [path]; // array of SvgMakerPath
332
+
333
+ function onMouseMove(x, y) {
334
+ const pointHit = findNearestPointHit(paths, x, y, 16);
335
+ // pointHit → { pathId, pointId, pointIndex, kind, ... } or null
336
+
337
+ const segHit = findNearestSegmentHit(paths, x, y, 14);
338
+ // segHit → { pathId, endIndex, x, y, dist, ... } or null
339
+ }
340
+ ```
341
+
342
+ Related helpers:
343
+
344
+ ```js
345
+ import {
346
+ listPathSegments,
347
+ segmentToPathD,
348
+ closestPointOnSegment,
349
+ curveHandlesOnSegment,
350
+ resolvePathPaint,
351
+ } from "@crafing/svg-maker";
352
+
353
+ const paint = resolvePathPaint(path); // { fill, stroke, strokeWidth }
354
+ // Open paths: paint.strokeWidth ≥ LINE_MIN_STROKE_WIDTH (1)
355
+ ```
356
+
357
+ ```js
358
+ import { LINE_MIN_STROKE_WIDTH, resolvePathPaint } from "@crafing/svg-maker";
359
+ // LINE_MIN_STROKE_WIDTH === 1
360
+ ```
361
+
362
+ ---
363
+
364
+ ## 9. Export SVG and download
365
+
366
+ ```js
367
+ import { buildSvgMarkup } from "@crafing/svg-maker";
368
+
369
+ const markup = buildSvgMarkup(paths, { width: 400, height: 400 });
370
+
371
+ function downloadSvg(filename = "drawing.svg") {
372
+ const blob = new Blob([markup], { type: "image/svg+xml" });
373
+ const url = URL.createObjectURL(blob);
374
+ const a = document.createElement("a");
375
+ a.href = url;
376
+ a.download = filename;
377
+ a.click();
378
+ URL.revokeObjectURL(url);
379
+ }
380
+
381
+ async function copySvg() {
382
+ await navigator.clipboard.writeText(markup);
383
+ }
384
+ ```
385
+
386
+ ---
387
+
388
+ ## 10. Save / load from a database
389
+
390
+ Save the **path objects** (or the whole `paths` array), not only the SVG string — so the user can edit again later.
391
+
392
+ ```js
393
+ // SAVE
394
+ await fetch("/api/drawings", {
395
+ method: "POST",
396
+ headers: { "Content-Type": "application/json" },
397
+ body: JSON.stringify({
398
+ width: 400,
399
+ height: 400,
400
+ paths, // array of SvgMakerPath
401
+ }),
402
+ });
403
+
404
+ // LOAD
405
+ const saved = await fetch("/api/drawings/123").then((r) => r.json());
406
+ const paths = saved.paths;
407
+ const width = saved.width;
408
+ const height = saved.height;
409
+
410
+ // show again
411
+ const svg = buildSvgMarkup(paths, { width, height });
412
+ ```
413
+
414
+ ---
415
+
416
+ ## 11. Use with React
417
+
418
+ If you use React, install the companion hook package and follow its README:
419
+
420
+ ```bash
421
+ npm install @crafing/react-svg-maker
422
+ ```
423
+
424
+ ```jsx
425
+ import { useSvgMaker } from "@crafing/react-svg-maker";
426
+
427
+ const { paths, markup, addPath, controllerProps } = useSvgMaker({
428
+ width: 400,
429
+ height: 400,
430
+ });
431
+ ```
432
+
433
+ `@crafing/react-svg-maker` also has **no UI** — it only holds state. You still build the artboard.
434
+
435
+ ---
436
+
437
+ ## 12. API checklist
438
+
439
+ | Function | Purpose |
440
+ |----------|---------|
441
+ | `nextSvgMakerId(prefix?)` | New unique id |
442
+ | `LINE_MIN_STROKE_WIDTH` | `1` — minimum stroke for open (line) paths |
443
+ | `createEmptyPath(options?)` | Empty path (open → strokeWidth 1, closed → 0) |
444
+ | `createShapePath(kind, options?)` | Rect / rounded-rect / ellipse / triangle |
445
+ | `pointsToPathD(points, closed?)` | SVG `d` string |
446
+ | `buildSvgMarkup(paths, { width, height })` | Full SVG document |
447
+ | `resolvePathPaint(path)` | Normalized fill/stroke (open line min stroke 1) |
448
+ | `makePointCurve` / `makePointCorner` | Toggle point kind |
449
+ | `insertCurvePointOnSegment` | Add curve on an edge |
450
+ | `roundCornerAt` / `previewRoundCorner` | Round a corner |
451
+ | `updatePointFields` | Patch one point |
452
+ | `listPathSegments` / `segmentToPathD` | Segment helpers |
453
+ | `closestPointOnSegment` | Closest point on a segment |
454
+ | `curveHandlesOnSegment` | Suggested handles at a position |
455
+ | `findNearestPointHit` / `findNearestSegmentHit` | Mouse hit-testing |
456
+
457
+ ---
458
+
459
+ ## 13. Common mistakes
460
+
461
+ 1. **Expecting a visible editor after install**
462
+ This package has no UI. You must draw SVG yourself or use a React artboard.
463
+
464
+ 2. **Forgetting `closed: true`**
465
+ Open paths do not connect the last point to the first.
466
+
467
+ 3. **Mutating `points` in place without replacing the array**
468
+ Prefer immutable updates (`path = { ...path, points: nextPoints }`) so React / your UI re-renders.
469
+
470
+ 4. **Saving only the SVG string**
471
+ Users cannot edit curves later. Save the `paths` JSON.
472
+
473
+ 5. **Wrong `endIndex` for `insertCurvePointOnSegment`**
474
+ Pass the index of the segment’s **end** point, not the start.
475
+
476
+ ---
477
+
478
+ ## License
479
+
480
+ MIT
package/index.d.ts ADDED
@@ -0,0 +1,169 @@
1
+ export type SvgMakerTool = "pen" | "select" | "curve";
2
+ export type SvgMakerShapeKind =
3
+ | "rect"
4
+ | "rounded-rect"
5
+ | "ellipse"
6
+ | "triangle";
7
+
8
+ export interface SvgMakerPoint {
9
+ id: string;
10
+ x: number;
11
+ y: number;
12
+ kind: "corner" | "curve";
13
+ c1x?: number;
14
+ c1y?: number;
15
+ c2x?: number;
16
+ c2y?: number;
17
+ }
18
+
19
+ export interface SvgMakerPath {
20
+ id: string;
21
+ name: string;
22
+ points: SvgMakerPoint[];
23
+ closed: boolean;
24
+ fill: string;
25
+ stroke: string;
26
+ strokeWidth: number;
27
+ }
28
+
29
+ /** Minimum stroke for open (line) paths. Closed / round defaults to 0. */
30
+ export const LINE_MIN_STROKE_WIDTH: 1;
31
+
32
+ export function nextSvgMakerId(prefix?: string): string;
33
+ export function createEmptyPath(options?: {
34
+ name?: string;
35
+ fill?: string;
36
+ stroke?: string;
37
+ strokeWidth?: number;
38
+ /** Default `false`. Set `true` so new empty paths start closed. */
39
+ closed?: boolean;
40
+ }): SvgMakerPath;
41
+ export function pointsToPathD(
42
+ points: SvgMakerPoint[],
43
+ closed?: boolean,
44
+ ): string;
45
+ export function makePointCurve(
46
+ points: SvgMakerPoint[],
47
+ index: number,
48
+ closed?: boolean,
49
+ ): SvgMakerPoint[];
50
+ export function makePointCorner(
51
+ points: SvgMakerPoint[],
52
+ index: number,
53
+ ): SvgMakerPoint[];
54
+ export function listPathSegments(
55
+ points: SvgMakerPoint[],
56
+ closed?: boolean,
57
+ ): Array<{
58
+ startIndex: number;
59
+ endIndex: number;
60
+ start: SvgMakerPoint;
61
+ end: SvgMakerPoint;
62
+ closing: boolean;
63
+ }>;
64
+ export function segmentToPathD(
65
+ start: SvgMakerPoint,
66
+ end: SvgMakerPoint,
67
+ closing?: boolean,
68
+ ): string;
69
+ export function closestPointOnSegment(
70
+ start: SvgMakerPoint,
71
+ end: SvgMakerPoint,
72
+ x: number,
73
+ y: number,
74
+ closing?: boolean,
75
+ ): { x: number; y: number; t: number; dist: number } | null;
76
+ export function curveHandlesOnSegment(
77
+ start: SvgMakerPoint,
78
+ end: SvgMakerPoint,
79
+ x: number,
80
+ y: number,
81
+ ): {
82
+ x: number;
83
+ y: number;
84
+ c1x: number;
85
+ c1y: number;
86
+ c2x: number;
87
+ c2y: number;
88
+ };
89
+ export function findNearestPointHit(
90
+ paths: SvgMakerPath[],
91
+ x: number,
92
+ y: number,
93
+ maxDist?: number,
94
+ ): {
95
+ pathId: string;
96
+ pointId: string;
97
+ pointIndex: number;
98
+ x: number;
99
+ y: number;
100
+ dist: number;
101
+ kind: string;
102
+ closed: boolean;
103
+ } | null;
104
+ export function findNearestSegmentHit(
105
+ paths: SvgMakerPath[],
106
+ x: number,
107
+ y: number,
108
+ maxDist?: number,
109
+ ): {
110
+ pathId: string;
111
+ endIndex: number;
112
+ closing: boolean;
113
+ x: number;
114
+ y: number;
115
+ dist: number;
116
+ } | null;
117
+ export function insertCurvePointOnSegment(
118
+ points: SvgMakerPoint[],
119
+ endIndex: number,
120
+ x: number,
121
+ y: number,
122
+ closed?: boolean,
123
+ ): { points: SvgMakerPoint[]; selectedPointId: string | null };
124
+ export function insertCornerPointOnSegment(
125
+ points: SvgMakerPoint[],
126
+ endIndex: number,
127
+ x: number,
128
+ y: number,
129
+ closed?: boolean,
130
+ ): { points: SvgMakerPoint[]; selectedPointId: string | null };
131
+ export function roundCornerAt(
132
+ points: SvgMakerPoint[],
133
+ index: number,
134
+ radius?: number,
135
+ closed?: boolean,
136
+ ): { points: SvgMakerPoint[]; selectedPointId: string | null };
137
+ export function previewRoundCorner(
138
+ points: SvgMakerPoint[],
139
+ index: number,
140
+ radius?: number,
141
+ closed?: boolean,
142
+ ): {
143
+ d: string;
144
+ enter: SvgMakerPoint;
145
+ exit: SvgMakerPoint;
146
+ } | null;
147
+ export function updatePointFields(
148
+ points: SvgMakerPoint[],
149
+ pointId: string,
150
+ patch: Partial<SvgMakerPoint>,
151
+ ): SvgMakerPoint[];
152
+ export function resolvePathPaint(path?: Partial<SvgMakerPath>): {
153
+ fill: string;
154
+ stroke: string;
155
+ strokeWidth: number;
156
+ };
157
+ export function buildSvgMarkup(
158
+ paths: SvgMakerPath[],
159
+ size: { width: number; height: number },
160
+ ): string;
161
+ export function createShapePath(
162
+ kind: SvgMakerShapeKind,
163
+ options?: {
164
+ width?: number;
165
+ height?: number;
166
+ fill?: string;
167
+ radius?: number;
168
+ },
169
+ ): SvgMakerPath;
package/package.json CHANGED
@@ -1,6 +1,31 @@
1
1
  {
2
2
  "name": "@crafing/svg-maker",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.1",
4
+ "description": "Framework-agnostic SVG path maker core (points, curves, shapes, export)",
5
+ "type": "module",
6
+ "main": "./vkmxr.js",
7
+ "module": "./vkmxr.js",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./index.d.ts",
11
+ "import": "./vkmxr.js",
12
+ "default": "./vkmxr.js"
13
+ }
14
+ },
15
+ "types": "./index.d.ts",
16
+ "files": [
17
+ "vkmxr.js",
18
+ "index.d.ts",
19
+ "README.md",
20
+ "LICENSE"
21
+ ],
22
+ "sideEffects": false,
23
+ "keywords": [
24
+ "svg",
25
+ "path",
26
+ "bezier",
27
+ "curve",
28
+ "vector"
29
+ ],
30
+ "license": "MIT"
31
+ }
package/vkmxr.js ADDED
@@ -0,0 +1 @@
1
+ const _0x45a8da=_0x4f3f;(function(_0xa1e287,_0x570371){const _0x541187=_0x4f3f,_0xf46a2d=_0xa1e287();while(!![]){try{const _0x739073=parseInt(_0x541187(0x13d))/0x1*(parseInt(_0x541187(0xcd))/0x2)+parseInt(_0x541187(0xfa))/0x3*(-parseInt(_0x541187(0x135))/0x4)+-parseInt(_0x541187(0xfc))/0x5*(parseInt(_0x541187(0x1ba))/0x6)+-parseInt(_0x541187(0x137))/0x7*(parseInt(_0x541187(0x1fa))/0x8)+parseInt(_0x541187(0x15d))/0x9+parseInt(_0x541187(0x14b))/0xa+parseInt(_0x541187(0x17b))/0xb*(parseInt(_0x541187(0x18c))/0xc);if(_0x739073===_0x570371)break;else _0xf46a2d['push'](_0xf46a2d['shift']());}catch(_0x1dbc6a){_0xf46a2d['push'](_0xf46a2d['shift']());}}}(_0x3303,0x9542e));var _0x1a1ab5=0x0;function nextSvgMakerId(_0x1f8f0c='p'){const _0x40751c=_0x4f3f;return _0x1a1ab5+=0x1,_0x1f8f0c+'-'+Date[_0x40751c(0x193)]()[_0x40751c(0x1ef)](0x24)+'-'+_0x1a1ab5;}var _0x4f0c03=0x1;function createEmptyPath({name:name=_0x45a8da(0x15b),fill:fill=_0x45a8da(0x170),stroke:stroke=_0x45a8da(0x206),strokeWidth:_0x43bfc6,closed:closed=![]}={}){const _0x32424a=_0x45a8da,_0x5d1a8d={'YimdS':function(_0x164e95,_0x55cc4a){return _0x164e95===_0x55cc4a;},'lfziS':function(_0x34c717,_0x413525){return _0x34c717(_0x413525);}},_0x4f3d80=_0x5d1a8d[_0x32424a(0xd8)](closed,!![]);return{'id':_0x5d1a8d[_0x32424a(0x1c0)](nextSvgMakerId,_0x32424a(0x131)),'name':name,'points':[],'closed':_0x4f3d80,'fill':fill,'stroke':stroke,'strokeWidth':_0x43bfc6!=null?_0x5d1a8d[_0x32424a(0x1c0)](Number,_0x43bfc6)||0x0:_0x4f3d80?0x0:_0x4f0c03};}function resolvePathPaint(_0x29e1e6={}){const _0x25f4f4=_0x45a8da,_0x2f461c={'MLreu':function(_0x52f687,_0x436890){return _0x52f687===_0x436890;},'EnNQh':function(_0x3d53bf,_0x2c4f5d){return _0x3d53bf!==_0x2c4f5d;},'zumkO':_0x25f4f4(0x206),'BVGNP':function(_0x2d163a,_0x1bedf0){return _0x2d163a!==_0x1bedf0;},'PtINY':_0x25f4f4(0x17c),'wAJKk':function(_0x4a4d65,_0xd0b0e0){return _0x4a4d65(_0xd0b0e0);}},_0x489ce6=_0x2f461c[_0x25f4f4(0x152)](_0x29e1e6[_0x25f4f4(0x17a)],!![]);if(!_0x489ce6){const _0x1b4bec=_0x29e1e6[_0x25f4f4(0xd9)]&&_0x2f461c[_0x25f4f4(0x1f6)](_0x29e1e6[_0x25f4f4(0xd9)],_0x2f461c[_0x25f4f4(0x192)])?_0x29e1e6[_0x25f4f4(0xd9)]:_0x29e1e6[_0x25f4f4(0x1d2)]&&_0x2f461c[_0x25f4f4(0x16d)](_0x29e1e6[_0x25f4f4(0x1d2)],_0x2f461c[_0x25f4f4(0x192)])?_0x29e1e6[_0x25f4f4(0x1d2)]:_0x2f461c[_0x25f4f4(0x11b)];return{'fill':_0x2f461c[_0x25f4f4(0x192)],'stroke':_0x1b4bec,'strokeWidth':Math[_0x25f4f4(0xfb)](_0x2f461c[_0x25f4f4(0x148)](Number,_0x29e1e6[_0x25f4f4(0x201)])||0x0,_0x4f0c03)};}return{'fill':_0x29e1e6[_0x25f4f4(0x1d2)]&&_0x29e1e6[_0x25f4f4(0x1d2)]!==''?_0x29e1e6[_0x25f4f4(0x1d2)]:_0x2f461c[_0x25f4f4(0x192)],'stroke':_0x29e1e6[_0x25f4f4(0xd9)]||_0x2f461c[_0x25f4f4(0x192)],'strokeWidth':_0x2f461c[_0x25f4f4(0x148)](Number,_0x29e1e6[_0x25f4f4(0x201)])||0x0};}function pointsToPathD(_0x45cdad,_0x452a55=![]){const _0x408697=_0x45a8da,_0x442cfe={'kraZA':function(_0x3deb74,_0x2ec133){return _0x3deb74(_0x2ec133);},'jVhZJ':function(_0x149434,_0x358a54){return _0x149434(_0x358a54);},'VgQMm':function(_0x5cdd78,_0x5c1ca5){return _0x5cdd78<_0x5c1ca5;},'mBvXK':function(_0x1e5703,_0xab2057,_0xa5ca40){return _0x1e5703(_0xab2057,_0xa5ca40);},'QQGEq':function(_0xa51c6d,_0x360944){return _0xa51c6d-_0x360944;}};if(!Array[_0x408697(0xf7)](_0x45cdad)||!_0x45cdad[_0x408697(0x229)])return'';const _0x4dc573=['M\x20'+_0x442cfe[_0x408697(0x18e)](_0x7d41bc,_0x45cdad[0x0]['x'])+'\x20'+_0x442cfe[_0x408697(0x16e)](_0x7d41bc,_0x45cdad[0x0]['y'])];for(let _0x581b6c=0x1;_0x442cfe[_0x408697(0xe6)](_0x581b6c,_0x45cdad[_0x408697(0x229)]);_0x581b6c+=0x1){_0x4dc573[_0x408697(0xd4)](_0x442cfe[_0x408697(0x1c7)](_0x5ab1fd,_0x45cdad[_0x442cfe[_0x408697(0x14f)](_0x581b6c,0x1)],_0x45cdad[_0x581b6c]));}if(_0x452a55&&_0x45cdad[_0x408697(0x229)]>=0x3){const _0x1b39cc=_0x5ab1fd(_0x45cdad[_0x442cfe[_0x408697(0x14f)](_0x45cdad[_0x408697(0x229)],0x1)],_0x45cdad[0x0]);_0x1b39cc[_0x408697(0x212)]('C')&&_0x4dc573[_0x408697(0xd4)](_0x1b39cc),_0x4dc573[_0x408697(0xd4)]('Z');}return _0x4dc573[_0x408697(0x12e)]('\x20');}function _0x3b4d7d(_0x42136f,_0x34ea45){const _0x4b6e25=_0x45a8da,_0x39bff9={'GrFec':function(_0x184a8c,_0x3fb5f0){return _0x184a8c(_0x3fb5f0);},'WaXVj':function(_0x4608c4,_0x3af647){return _0x4608c4-_0x3af647;},'cbiBq':function(_0x142e19,_0x24f62b){return _0x142e19(_0x24f62b);},'ZUADr':function(_0x13e244,_0x1b02f7){return _0x13e244<_0x1b02f7;},'hCLaD':function(_0x366729,_0x122fae){return _0x366729/_0x122fae;},'NYkno':function(_0x48711c,_0x22150b){return _0x48711c/_0x22150b;}},_0x500899=Number(_0x34ea45['x'])-_0x39bff9[_0x4b6e25(0x181)](Number,_0x42136f['x']),_0x1a47be=_0x39bff9[_0x4b6e25(0x222)](_0x39bff9[_0x4b6e25(0x181)](Number,_0x34ea45['y']),_0x39bff9[_0x4b6e25(0x1f9)](Number,_0x42136f['y'])),_0x107334=Math[_0x4b6e25(0x1cf)](_0x500899,_0x1a47be);if(_0x39bff9[_0x4b6e25(0xdf)](_0x107334,0.000001))return{'x':0x0,'y':0x0,'len':0x0};return{'x':_0x39bff9[_0x4b6e25(0x115)](_0x500899,_0x107334),'y':_0x39bff9[_0x4b6e25(0x22f)](_0x1a47be,_0x107334),'len':_0x107334};}function _0x38532e(_0x55728b,_0xba1326){const _0x5a7085=_0x45a8da,_0x10585a={'ULNJN':function(_0x3864ee,_0xb334c4){return _0x3864ee-_0xb334c4;},'WLMDq':function(_0x5124e7,_0x9f693f){return _0x5124e7===_0x9f693f;},'pHwrh':function(_0x335f3d,_0x30eeef){return _0x335f3d(_0x30eeef);},'tGawN':function(_0x3164e0,_0xf483ba){return _0x3164e0(_0xf483ba);},'frwVs':_0x5a7085(0xe4),'IlycS':function(_0x19f641,_0x374cc6){return _0x19f641(_0x374cc6);},'qKtay':function(_0x304db9,_0x3070fd){return _0x304db9+_0x3070fd;},'gDPWw':function(_0x2559f2,_0x1721f2){return _0x2559f2===_0x1721f2;},'kEIMr':function(_0x3c1c98,_0xe520d){return _0x3c1c98/_0xe520d;},'oOBxn':function(_0x9a1f29,_0x5e238a){return _0x9a1f29(_0x5e238a);}},_0x6e0e3e=_0x10585a[_0x5a7085(0x221)](_0xba1326['x'],_0x55728b['x']),_0x49f44f=_0x10585a[_0x5a7085(0x221)](_0xba1326['y'],_0x55728b['y']),_0x5cb1e7=_0x10585a[_0x5a7085(0x197)](_0x55728b[_0x5a7085(0x1ab)],_0x5a7085(0xe4))&&Number[_0x5a7085(0x189)](_0x10585a[_0x5a7085(0x21a)](Number,_0x55728b[_0x5a7085(0x145)]))?_0x10585a[_0x5a7085(0x1eb)](Number,_0x55728b[_0x5a7085(0x145)]):_0x55728b['x']+_0x6e0e3e/0x3,_0x1ee276=_0x10585a[_0x5a7085(0x197)](_0x55728b[_0x5a7085(0x1ab)],_0x10585a[_0x5a7085(0x16a)])&&Number[_0x5a7085(0x189)](_0x10585a[_0x5a7085(0x198)](Number,_0x55728b[_0x5a7085(0x1b2)]))?Number(_0x55728b[_0x5a7085(0x1b2)]):_0x10585a[_0x5a7085(0x107)](_0x55728b['y'],_0x49f44f/0x3),_0x38b3fc=_0x10585a[_0x5a7085(0x1b1)](_0xba1326[_0x5a7085(0x1ab)],_0x10585a[_0x5a7085(0x16a)])&&Number[_0x5a7085(0x189)](_0x10585a[_0x5a7085(0x198)](Number,_0xba1326[_0x5a7085(0x20c)]))?_0x10585a[_0x5a7085(0x198)](Number,_0xba1326[_0x5a7085(0x20c)]):_0x10585a[_0x5a7085(0x221)](_0xba1326['x'],_0x10585a[_0x5a7085(0x21c)](_0x6e0e3e,0x3)),_0x34bb4b=_0x10585a[_0x5a7085(0x1b1)](_0xba1326[_0x5a7085(0x1ab)],_0x10585a[_0x5a7085(0x16a)])&&Number[_0x5a7085(0x189)](_0x10585a[_0x5a7085(0x19b)](Number,_0xba1326[_0x5a7085(0x20a)]))?_0x10585a[_0x5a7085(0x21a)](Number,_0xba1326[_0x5a7085(0x20a)]):_0x10585a[_0x5a7085(0x221)](_0xba1326['y'],_0x49f44f/0x3);return{'c1x':_0x5cb1e7,'c1y':_0x1ee276,'c2x':_0x38b3fc,'c2y':_0x34bb4b};}function _0x234f7d(_0x4d6af5,_0x4cb004){const _0x136253=_0x45a8da,_0x36dfa5={'PQFAI':function(_0x105c2c,_0x18463a){return _0x105c2c===_0x18463a;},'klrEO':_0x136253(0xe4)};return _0x36dfa5[_0x136253(0x1bc)](_0x4d6af5?.[_0x136253(0x1ab)],_0x136253(0xe4))||_0x36dfa5[_0x136253(0x1bc)](_0x4cb004?.[_0x136253(0x1ab)],_0x36dfa5[_0x136253(0x21f)]);}function _0x5ab1fd(_0x3cce13,_0x21d636){const _0x44a0e3=_0x45a8da,_0x2e2ddc={'Iuuky':function(_0x4c61d2,_0x149b60,_0x537bed){return _0x4c61d2(_0x149b60,_0x537bed);},'ITCFH':function(_0x5cec93,_0x4f7f59){return _0x5cec93(_0x4f7f59);},'QPVVZ':function(_0x34da06,_0x43bdb7){return _0x34da06(_0x43bdb7);},'qgwWp':function(_0x5da4f9,_0x4fbe71){return _0x5da4f9(_0x4fbe71);},'TpBCQ':function(_0x2f854e,_0x54e49f){return _0x2f854e(_0x54e49f);}};if(_0x2e2ddc[_0x44a0e3(0x1b0)](_0x234f7d,_0x3cce13,_0x21d636)){const {c1x:_0x3e4e09,c1y:_0x9937d1,c2x:_0x485a46,c2y:_0x545192}=_0x2e2ddc[_0x44a0e3(0x1b0)](_0x38532e,_0x3cce13,_0x21d636);return'C\x20'+_0x2e2ddc[_0x44a0e3(0x162)](_0x7d41bc,_0x3e4e09)+'\x20'+_0x2e2ddc[_0x44a0e3(0x162)](_0x7d41bc,_0x9937d1)+'\x20'+_0x2e2ddc[_0x44a0e3(0x162)](_0x7d41bc,_0x485a46)+'\x20'+_0x2e2ddc[_0x44a0e3(0x218)](_0x7d41bc,_0x545192)+'\x20'+_0x2e2ddc[_0x44a0e3(0x162)](_0x7d41bc,_0x21d636['x'])+'\x20'+_0x2e2ddc[_0x44a0e3(0x1f8)](_0x7d41bc,_0x21d636['y']);}return'L\x20'+_0x7d41bc(_0x21d636['x'])+'\x20'+_0x2e2ddc[_0x44a0e3(0xd1)](_0x7d41bc,_0x21d636['y']);}function _0x373484(_0x5eaba4,_0x485c72){const _0x1d7d45=_0x45a8da,_0x52639c={'wVVdR':function(_0x5af263,_0x3bcbc4){return _0x5af263-_0x3bcbc4;},'bKvIn':function(_0x4d5977,_0x22808e){return _0x4d5977(_0x22808e);}},_0xddb6c7=_0x52639c[_0x1d7d45(0x103)](Number(_0x485c72['x']),Number(_0x5eaba4['x'])),_0x2ef7d9=_0x52639c[_0x1d7d45(0x103)](_0x52639c[_0x1d7d45(0x1e0)](Number,_0x485c72['y']),_0x52639c[_0x1d7d45(0x1e0)](Number,_0x5eaba4['y']));return Math[_0x1d7d45(0x1cf)](_0xddb6c7,_0x2ef7d9);}function makePointCurve(_0x22aaa9,_0x33a741,_0x4f90dc=![]){const _0x55bedc=_0x45a8da,_0x4aa2fc={'mBPmu':function(_0x4500cd,_0x2a1410){return _0x4500cd!==_0x2a1410;},'LLJZc':function(_0x547607,_0x52ce46){return _0x547607(_0x52ce46);},'oZYwy':function(_0x16d22f,_0x40e876){return _0x16d22f<_0x40e876;},'ktFit':function(_0x49290b,_0x4b3184){return _0x49290b>=_0x4b3184;},'clgaE':function(_0x53de54,_0x59081d){return _0x53de54-_0x59081d;},'IuUbJ':function(_0x204db7,_0x337663){return _0x204db7<_0x337663;},'EELHf':function(_0x3a2fb1,_0x2d86af){return _0x3a2fb1>=_0x2d86af;},'YBGjp':function(_0x13ccac,_0x1d33d3){return _0x13ccac<_0x1d33d3;},'awrro':function(_0x48666b,_0x34b3b4){return _0x48666b>=_0x34b3b4;},'RDoeR':function(_0x4cc318,_0x1b7d71){return _0x4cc318!==_0x1b7d71;},'WflIf':function(_0x3d8ddc,_0xb2ce6){return _0x3d8ddc*_0xb2ce6;},'tZbbO':function(_0xf67fa1,_0x391c78){return _0xf67fa1*_0x391c78;},'SkdTQ':function(_0x413cb5,_0x4be456){return _0x413cb5+_0x4be456;},'GVTiJ':function(_0x19c305,_0x39c729){return _0x19c305*_0x39c729;},'FsWSh':function(_0x23bba1,_0x1caf69){return _0x23bba1-_0x1caf69;},'oiIOj':function(_0x15af3a,_0x539fc6){return _0x15af3a+_0x539fc6;},'qQyrV':function(_0x33beb5,_0x9d50b1){return _0x33beb5-_0x9d50b1;},'WMiJS':function(_0x2c0536,_0x564a1f){return _0x2c0536-_0x564a1f;},'uHkma':function(_0x4d2414,_0x4d7697){return _0x4d2414-_0x4d7697;}},_0xe176db=Array[_0x55bedc(0xf7)](_0x22aaa9)?_0x22aaa9[_0x55bedc(0x229)]:0x0;if(!_0xe176db||_0x4aa2fc[_0x55bedc(0x1f3)](_0x33a741,0x0)||_0x4aa2fc[_0x55bedc(0x1c8)](_0x33a741,_0xe176db))return _0x22aaa9;let _0x175803=_0x4aa2fc[_0x55bedc(0x1a1)](_0x33a741,0x1),_0x4a2b9a=_0x33a741+0x1;if(_0x4f90dc&&_0x4aa2fc[_0x55bedc(0x1c8)](_0xe176db,0x3)){if(_0x4aa2fc[_0x55bedc(0x209)](_0x175803,0x0))_0x175803=_0x4aa2fc[_0x55bedc(0x1a1)](_0xe176db,0x1);if(_0x4a2b9a>=_0xe176db)_0x4a2b9a=0x0;}const _0x5e24a0=_0x22aaa9[_0x33a741],_0x50881e=_0x4aa2fc[_0x55bedc(0x1ae)](_0x175803,0x0)&&_0x4aa2fc[_0x55bedc(0x20e)](_0x175803,_0xe176db)?_0x22aaa9[_0x175803]:null,_0x154e9e=_0x4aa2fc[_0x55bedc(0xea)](_0x4a2b9a,0x0)&&_0x4a2b9a<_0xe176db&&_0x4aa2fc[_0x55bedc(0x22e)](_0x4a2b9a,_0x33a741)?_0x22aaa9[_0x4a2b9a]:null;if(!_0x50881e&&!_0x154e9e)return _0x22aaa9;const _0x5a1f38=0.33;let _0x1db46a=_0x5e24a0['x'],_0x49657d=_0x5e24a0['y'],_0x2f04f6=_0x5e24a0['x'],_0xb4fd1a=_0x5e24a0['y'];if(_0x50881e){const _0x496571=_0x3b4d7d(_0x50881e,_0x5e24a0),_0x298905=Math[_0x55bedc(0xfb)](0xa,_0x4aa2fc[_0x55bedc(0xff)](_0x496571[_0x55bedc(0xd5)],_0x5a1f38));_0x1db46a=_0x5e24a0['x']-_0x4aa2fc[_0x55bedc(0x10e)](_0x496571['x'],_0x298905),_0x49657d=_0x5e24a0['y']-_0x496571['y']*_0x298905;}if(_0x154e9e){const _0x6efc32=_0x3b4d7d(_0x5e24a0,_0x154e9e),_0x56d519=Math[_0x55bedc(0xfb)](0xa,_0x6efc32[_0x55bedc(0xd5)]*_0x5a1f38);_0x2f04f6=_0x4aa2fc[_0x55bedc(0x102)](_0x5e24a0['x'],_0x6efc32['x']*_0x56d519),_0xb4fd1a=_0x5e24a0['y']+_0x4aa2fc[_0x55bedc(0x1d1)](_0x6efc32['y'],_0x56d519);}return _0x50881e&&!_0x154e9e&&(_0x2f04f6=_0x5e24a0['x']+_0x4aa2fc[_0x55bedc(0x157)](_0x5e24a0['x'],_0x1db46a),_0xb4fd1a=_0x4aa2fc[_0x55bedc(0x150)](_0x5e24a0['y'],_0x4aa2fc[_0x55bedc(0x157)](_0x5e24a0['y'],_0x49657d))),!_0x50881e&&_0x154e9e&&(_0x1db46a=_0x4aa2fc[_0x55bedc(0x15c)](_0x5e24a0['x'],_0x4aa2fc[_0x55bedc(0x157)](_0x2f04f6,_0x5e24a0['x'])),_0x49657d=_0x4aa2fc[_0x55bedc(0x155)](_0x5e24a0['y'],_0x4aa2fc[_0x55bedc(0x21b)](_0xb4fd1a,_0x5e24a0['y']))),_0x22aaa9[_0x55bedc(0x16c)]((_0x187e7e,_0x4b98cd)=>{const _0x2d54f6=_0x55bedc;if(_0x4aa2fc[_0x2d54f6(0x18f)](_0x4b98cd,_0x33a741))return _0x187e7e;return{..._0x187e7e,'kind':_0x2d54f6(0xe4),'c1x':_0x4aa2fc[_0x2d54f6(0x1d5)](_0x7d41bc,_0x1db46a),'c1y':_0x4aa2fc[_0x2d54f6(0x1d5)](_0x7d41bc,_0x49657d),'c2x':_0x4aa2fc[_0x2d54f6(0x1d5)](_0x7d41bc,_0x2f04f6),'c2y':_0x4aa2fc[_0x2d54f6(0x1d5)](_0x7d41bc,_0xb4fd1a)};});}function makePointCorner(_0x3ead81,_0x3cf675){const _0x2fa686=_0x45a8da,_0x2e905f={'dUExM':_0x2fa686(0x1df),'sGyiW':function(_0xc9d5a8,_0x1466dc){return _0xc9d5a8<_0x1466dc;},'NVdRP':function(_0x15be23,_0x5d4730){return _0x15be23>=_0x5d4730;}};if(!Array[_0x2fa686(0xf7)](_0x3ead81)||_0x2e905f[_0x2fa686(0x19a)](_0x3cf675,0x0)||_0x2e905f[_0x2fa686(0x224)](_0x3cf675,_0x3ead81[_0x2fa686(0x229)]))return _0x3ead81;return _0x3ead81[_0x2fa686(0x16c)]((_0x3939bf,_0x229046)=>{const _0x15919b=_0x2fa686;if(_0x229046!==_0x3cf675)return _0x3939bf;return{'id':_0x3939bf['id'],'x':_0x3939bf['x'],'y':_0x3939bf['y'],'kind':_0x2e905f[_0x15919b(0x156)]};});}function listPathSegments(_0x43f151,_0x4cc4ef=![]){const _0x5d8ca1=_0x45a8da,_0x5ce558={'jvdoi':function(_0xfc1cf6,_0x407753){return _0xfc1cf6<_0x407753;},'WDLWH':function(_0x48e712,_0x571388){return _0x48e712-_0x571388;},'IVwdm':function(_0x2836f0,_0x176c59){return _0x2836f0>=_0x176c59;}};if(!Array[_0x5d8ca1(0xf7)](_0x43f151)||_0x5ce558[_0x5d8ca1(0x14d)](_0x43f151[_0x5d8ca1(0x229)],0x2))return[];const _0x24d60c=[];for(let _0x3105a7=0x1;_0x3105a7<_0x43f151[_0x5d8ca1(0x229)];_0x3105a7+=0x1){_0x24d60c[_0x5d8ca1(0xd4)]({'startIndex':_0x5ce558[_0x5d8ca1(0x1f4)](_0x3105a7,0x1),'endIndex':_0x3105a7,'start':_0x43f151[_0x3105a7-0x1],'end':_0x43f151[_0x3105a7],'closing':![]});}return _0x4cc4ef&&_0x5ce558[_0x5d8ca1(0x13f)](_0x43f151[_0x5d8ca1(0x229)],0x3)&&_0x24d60c[_0x5d8ca1(0xd4)]({'startIndex':_0x5ce558[_0x5d8ca1(0x1f4)](_0x43f151[_0x5d8ca1(0x229)],0x1),'endIndex':0x0,'start':_0x43f151[_0x43f151[_0x5d8ca1(0x229)]-0x1],'end':_0x43f151[0x0],'closing':!![]}),_0x24d60c;}function segmentToPathD(_0x3c5b1c,_0xc3ebc1,_0x38de0c=![]){const _0x2bab6a=_0x45a8da,_0xe36d92={'TWQzN':function(_0x539e1b,_0x420eaa,_0x479faa){return _0x539e1b(_0x420eaa,_0x479faa);},'qDIlP':function(_0x51c35e,_0x1c2901){return _0x51c35e(_0x1c2901);},'NIeqR':function(_0x391618,_0x5cb2b6){return _0x391618(_0x5cb2b6);},'rGplm':function(_0x2167ff,_0x5987bd){return _0x2167ff(_0x5987bd);},'apdJp':function(_0x74e650,_0x242742){return _0x74e650(_0x242742);},'vTdaU':function(_0x215619,_0x513d25){return _0x215619(_0x513d25);},'XbUPR':function(_0x48ebef,_0x525758){return _0x48ebef(_0x525758);}};if(!_0x3c5b1c||!_0xc3ebc1)return'';if(_0x234f7d(_0x3c5b1c,_0xc3ebc1)){const {c1x:_0x296867,c1y:_0x5b04a0,c2x:_0x45f002,c2y:_0x1e28f2}=_0xe36d92[_0x2bab6a(0x136)](_0x38532e,_0x3c5b1c,_0xc3ebc1);return'M\x20'+_0xe36d92[_0x2bab6a(0x1c3)](_0x7d41bc,_0x3c5b1c['x'])+'\x20'+_0xe36d92[_0x2bab6a(0x10a)](_0x7d41bc,_0x3c5b1c['y'])+_0x2bab6a(0x176)+_0xe36d92[_0x2bab6a(0x10c)](_0x7d41bc,_0x296867)+'\x20'+_0xe36d92[_0x2bab6a(0xf4)](_0x7d41bc,_0x5b04a0)+'\x20'+_0x7d41bc(_0x45f002)+'\x20'+_0xe36d92[_0x2bab6a(0xf4)](_0x7d41bc,_0x1e28f2)+'\x20'+_0xe36d92[_0x2bab6a(0x1c3)](_0x7d41bc,_0xc3ebc1['x'])+'\x20'+_0xe36d92[_0x2bab6a(0xf4)](_0x7d41bc,_0xc3ebc1['y']);}return'M\x20'+_0xe36d92[_0x2bab6a(0x104)](_0x7d41bc,_0x3c5b1c['x'])+'\x20'+_0xe36d92[_0x2bab6a(0x104)](_0x7d41bc,_0x3c5b1c['y'])+_0x2bab6a(0xf0)+_0xe36d92[_0x2bab6a(0x169)](_0x7d41bc,_0xc3ebc1['x'])+'\x20'+_0x7d41bc(_0xc3ebc1['y']);}function _0x3303(){const _0x24bc7a=['wvHYEKm','Cgf0Aa','vhjPyw5NBgu','AwDXCgC','CM91BMq','nfvVyKTVBW','vfDrEK4','nJyXmJjRthHAqva','CdjJmxG','Cdf4','qwLeEw0','wur5veO','z0LqywO','nxjwugjWsW','uM91BMrLzcbYzwn0','svz3zg0','uKHyBKm','BuXSEuW','tvnhuM0','EhbLDuW','wxHVAhy','yZj4','suPoDeS','BM9jq1G','D0fks2S','uwztvg8','vMTzu1C','otq2nZqXmfzqqNz3vG','CdjJmNG','ANzKB2K','yNr1vum','uvfhrxe','B2Ljt2O','q2netuC','tuXYzxu','zKnvAvi','vuPpBfi','v01PsLm','zfvfEe0','rNnxu2G','quHAtxG','ANz5vuW','AhDxtui','ugf0Aa','Cvf5CLy','otq1nJG0ovHNBhzVtW','B3vMt0y','zvnkt1O','A3Hpwhy','r3vzww0','svrdrKG','ugrqy2u','u1fTvxK','D3roEfu','r3jJzKS','Cg9PBNrZ','zhzLB3K','wgjvufi','zNj3vNm','zxbuCeq','BwfW','qLzhtLa','ALzOwKO','CuLJqKC','iZaWmdaWma','y1HKA1C','z1bnEhK','v0HeD3m','wuLhreO','Awv6t0q','iemG','ica8Cgf0AcbKpsi','C21grwK','sMfPz3G','y2XVC2vK','ody5qu9yuxvx','iZeXmtGYnW','qKfPqKm','thrfsK0','rhL5t0u','v0P3Cfq','r3jgzwm','A0zpCwy','z1v3CNy','Cgfrv0m','D0zWzei','wgXowvq','vgnjuMq','uKXsy2i','AxngAw5PDgu','ww9At04','DML0s3u','nJq0ntj5ugTlELa','uufUyKu','A3jHwKe','BujqBxu','r21jzfy','zw5Ksw5KzxG','ENvTA08','BM93','tfjVwMy','C3bSAwnL','BK5my3e','v0Xnrhe','swX5y1m','zwXSAxbZzq','C0D5AvC','B09cEg4','BwLU','zgrsrMu','vvj6B3K','CdfJmxK','CdfJmNG','y2XNyuu','tLLwvKC','vu9srNa','CNbtz2e','iIbZDhjVA2u9iG','u0LPEuq','cJWVC3zNpGO','qNP4uuC','jNf1B3q7','t2nLwg4','A2LUza','ww5Kve8','serOwhq','ruvmsgy','wgvwvKi','sxv1A3K','z0rqv3C','yZj5','y2XVC2LUzW','vLPyEvO','AvL4Ceq','qwjgAuS','ELnuvKO','qLHzt0i','uLzTBvy','nJi2nJretvDKv3u','tKvgEKm','uffgquK','Bw1dCfK','CfDJy1a','B0Tjv24','Bgz6Avm','jMfTCdS','D1vyqLO','CurjBfa','wLrcuK0','z1n5swq','jMX0oW','Buj2weS','A3rgAxq','q29UvuG','A1LKy2K','Cdj5','DKrvuwi','uvbluvO','whnWywe','AhLWB3q','uKLqvwC','r1zuAuO','zMLSBa','Cdj4','sLPeBMi','teXkwMm','ugnIEgS','renZDg4','qwnmzvu','BxPsrKu','twPyteG','ue1dwMy','uMvJDgfUz2XL','sKPjCuG','rgDjCNy','y29YBMvY','yKT2sw4','zw5K','jMD0oW','zMfxsfC','yvz3EwO','B09ey3m','zMLUzeLUzgv4','zgLZDa','uuDyy08','iJ4k','sNLLue0','DeDHD04','yxnpB1q','rfDLCLa','rfjyBMq','Dg9tDhjPBMC','sfDMr2u','qu9JDwy','sxLMzwq','B1PzD3K','v0rmv0G','DvDbA1K','rw5ouwG','tLLmD2G','CwD3v3a','y2jPqNe','nJK2tLLXrwfg','DNLAr0W','uM9Xyvy','zgjsvxO','z2vQvMe','iIb2Awv3qM94psiWidaG','AhzgzfK','C3rYB2TLv2LKDgG','ChzkBwu','z2TmtKC','rLLYvMC','rhbAsLm','BM9Uzq','y0vsCfe','DgHjqLm','sxvvyKO','yZf5','zgrItw4','yZf4','vfn3swC','wujhANa','y1fsAuy','vfH4DxO','AeLdzvO','C3rHCNrZv2L0Aa','B2rquvO','iIbMAwXSlxj1Bgu9iMv2zw5VzgqIlZ4','AuHrue0','u1bvuKy','Bfn6uui','uvbwvLO','ELbuufO','CeH3CMG','DuHRBwe','A0vjtxi','ugLztgi','DNPvsfC','A2XYru8','Axn3t0O','vuXosK4','v2fyvMO','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIpZ4kphn2zYb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCIihDPzhrOpsi','tLzKuLa','Avzmyxu','AxHwqNy','rwXSAxbZzq','CMvWBgfJzq','BgvUz3rO','vwjJBwq','ugDnwNy','tg5Isvi','CdfJmNK','uKrVzvi','tLLRBM8','DeXqyMG','mtu5mtC0vNrTquri','C2XPy2u','DgnMBei','z29iq3u','vhbcq1e','EKfHqKG','swzNEfm','ChvZAa','BgvU','CMvJDa','DKDfywG','wwLTzfm','C3rYB2TL','r1revhO','Dhj1BMm','r1zvDhK','AMP0tLG','DxLOBNC','wLvbrhi','q2DMz3e','sfPzse4','EfnKEM8','CdjJmxK','y3vYDMu','CdjJmNK','vMDrtw0','r3fuv1m','tgnVqw8','AhjnBwe','yxDYCM8','z3vsD2K','CdfJmxG','AwXHBeW','ruDqAue','q1visfq','ieWG','iIbZDhjVA2uTD2LKDgG9iG','sencu08','swnStLi','yxbKsNa','zMLSDgvY','iIbMAwXSpsi','AxnbCNjHEq','q3vMwgS','EufwB2W','nJe5mtK0Cu5pufnl','Bwf4','nty1q2POqMTr','t3nOtg8','CNLMBwe','v2zSswy','AM1kBg8','z1fJwu4','u2TKvfe','D1zwzfi','DLrKyvu','A2Pqzhe','iIbOzwLNAhq9iG','CuT0yxK','BLjcq1K','tKvNAu8','tKLLCvi','rxbOBw4','CKDWBg0','q3P6r0W','DfPIyK8','AMTJBgm','z1PwshC','sgXACLm','DhjPyw5NBgu','y0TmtKy','Cg5ptKq','Aenmyuq','B0z0Dfq','sfH1yvu','CuLSv1y','EKT6CLO','qMDTvNa','uhrjtLK','thLVrfq','v25gALa','Ee92v2i','wNfpAu0','uwvlB0u','vu95qNO','rvD2wwu','u2f3B2C','vLr6B3e','teDfAuq','r2HQyMi','swnjDNu','C0fdEvC','C3rHCNq','q0LAyui','rhjHq2W','EwvSrhm','s3rJCvC','AM9PBG','Cdf5'];_0x3303=function(){return _0x24bc7a;};return _0x3303();}function _0x45ede7(_0x4e4c04,_0x29390b,_0x3ad097,_0x5050df){const _0x5e7a7d=_0x45a8da,_0x1102fa={'BzxQG':function(_0x217cac,_0x40c11f){return _0x217cac(_0x40c11f);},'gUwrv':function(_0x1325ce,_0x38a901){return _0x1325ce(_0x38a901);},'zPTPZ':function(_0x427e71,_0x2a8c0c){return _0x427e71-_0x2a8c0c;},'BXYOB':function(_0x22dba6,_0x52076a){return _0x22dba6-_0x52076a;},'iHQPM':function(_0x4b7eb5,_0x1e2504){return _0x4b7eb5+_0x1e2504;},'DpZJS':function(_0x2c8723,_0x35a65f){return _0x2c8723*_0x35a65f;},'LGEiD':function(_0x37451a,_0x3bb8fe){return _0x37451a<_0x3bb8fe;},'DgIrv':function(_0x14e48d,_0x3f8d94){return _0x14e48d/_0x3f8d94;},'RIPUg':function(_0x114687,_0xb1751d){return _0x114687-_0xb1751d;},'zKzrZ':function(_0x2d1974,_0x595752){return _0x2d1974*_0x595752;},'HXuaU':function(_0x18254f,_0x3855fd){return _0x18254f*_0x3855fd;},'wFpdB':function(_0x425a26,_0x555f04){return _0x425a26*_0x555f04;},'QAnbE':function(_0x2ff39a,_0x1a03d3){return _0x2ff39a-_0x1a03d3;},'thIBS':function(_0x502f74,_0x206211){return _0x502f74-_0x206211;}},_0xaae10=_0x1102fa[_0x5e7a7d(0x1a8)](Number,_0x3ad097['x']),_0x8871b2=_0x1102fa[_0x5e7a7d(0x1a8)](Number,_0x3ad097['y']),_0x3808d3=_0x1102fa[_0x5e7a7d(0x183)](Number,_0x5050df['x']),_0x1de431=_0x1102fa[_0x5e7a7d(0x1a8)](Number,_0x5050df['y']),_0x4fe422=_0x1102fa[_0x5e7a7d(0x219)](_0x3808d3,_0xaae10),_0x59dd21=_0x1102fa[_0x5e7a7d(0x1b8)](_0x1de431,_0x8871b2),_0x1bbf89=_0x1102fa[_0x5e7a7d(0x215)](_0x4fe422*_0x4fe422,_0x1102fa[_0x5e7a7d(0x205)](_0x59dd21,_0x59dd21));let _0x23cbb0=_0x1102fa[_0x5e7a7d(0x125)](_0x1bbf89,1e-8)?0x0:_0x1102fa[_0x5e7a7d(0x1de)](_0x1102fa[_0x5e7a7d(0x215)](_0x1102fa[_0x5e7a7d(0x205)](_0x1102fa[_0x5e7a7d(0x1d0)](_0x4e4c04,_0xaae10),_0x4fe422),_0x1102fa[_0x5e7a7d(0x119)](_0x1102fa[_0x5e7a7d(0x1b8)](_0x29390b,_0x8871b2),_0x59dd21)),_0x1bbf89);_0x23cbb0=Math[_0x5e7a7d(0xfb)](0x0,Math[_0x5e7a7d(0x19c)](0x1,_0x23cbb0));const _0x18fcf8=_0xaae10+_0x1102fa[_0x5e7a7d(0x117)](_0x23cbb0,_0x4fe422),_0x4dc97e=_0x1102fa[_0x5e7a7d(0x215)](_0x8871b2,_0x1102fa[_0x5e7a7d(0x185)](_0x23cbb0,_0x59dd21));return{'x':_0x18fcf8,'y':_0x4dc97e,'t':_0x23cbb0,'dist':Math[_0x5e7a7d(0x1cf)](_0x1102fa[_0x5e7a7d(0x18d)](_0x4e4c04,_0x18fcf8),_0x1102fa[_0x5e7a7d(0x208)](_0x29390b,_0x4dc97e))};}function _0x582b4c(_0x20921d,_0x5be2d1,_0x562d35,_0x412d76,_0x1cd69c){const _0x357bcb=_0x45a8da,_0x29319d={'CzzGL':function(_0x52f3fa,_0x3214b1){return _0x52f3fa-_0x3214b1;},'NEFzC':function(_0x5d1292,_0x341f6b){return _0x5d1292*_0x341f6b;},'RVmmV':function(_0x2cb279,_0x24b7c4){return _0x2cb279*_0x24b7c4;},'jmJlo':function(_0x42bcc3,_0x49c77f){return _0x42bcc3*_0x49c77f;},'RLRcb':function(_0x3d0107,_0x1a5f70){return _0x3d0107+_0x1a5f70;},'oKIWn':function(_0x311880,_0x1301c3){return _0x311880*_0x1301c3;},'DCstn':function(_0x30ec80,_0x123414){return _0x30ec80*_0x123414;},'AcLeU':function(_0x4feaf5,_0x5978db){return _0x4feaf5+_0x5978db;},'UJOlR':function(_0x81b44e,_0x5a77ae){return _0x81b44e+_0x5a77ae;},'Yxohv':function(_0x36f3f7,_0x4a5733){return _0x36f3f7*_0x4a5733;},'kFOqf':function(_0x5cfde6,_0x3d8e71){return _0x5cfde6*_0x3d8e71;}},_0x39530c=_0x29319d[_0x357bcb(0x10d)](0x1,_0x1cd69c),_0x1d9a4b=_0x39530c*_0x39530c,_0x5a1e2a=_0x29319d[_0x357bcb(0x1bb)](_0x1cd69c,_0x1cd69c),_0x4ca37d=_0x29319d[_0x357bcb(0x1b9)](_0x1d9a4b,_0x39530c),_0x28829d=_0x29319d[_0x357bcb(0x100)](_0x5a1e2a,_0x1cd69c);return{'x':_0x29319d[_0x357bcb(0x188)](_0x29319d[_0x357bcb(0x188)](_0x29319d[_0x357bcb(0x1bb)](_0x4ca37d,_0x20921d['x']),_0x29319d[_0x357bcb(0x1bf)](_0x29319d[_0x357bcb(0x1bb)](_0x29319d[_0x357bcb(0x100)](0x3,_0x1d9a4b),_0x1cd69c),_0x5be2d1['x']))+_0x29319d[_0x357bcb(0x1bf)](_0x29319d[_0x357bcb(0x1bb)](_0x29319d[_0x357bcb(0x1d7)](0x3,_0x39530c),_0x5a1e2a),_0x562d35['x']),_0x28829d*_0x412d76['x']),'y':_0x29319d[_0x357bcb(0x1d8)](_0x29319d[_0x357bcb(0x154)](_0x29319d[_0x357bcb(0x1d8)](_0x29319d[_0x357bcb(0x1bf)](_0x4ca37d,_0x20921d['y']),_0x29319d[_0x357bcb(0x1b9)](_0x29319d[_0x357bcb(0x100)](_0x29319d[_0x357bcb(0x144)](0x3,_0x1d9a4b),_0x1cd69c),_0x5be2d1['y'])),_0x29319d[_0x357bcb(0x182)](_0x29319d[_0x357bcb(0x182)](_0x29319d[_0x357bcb(0x1bf)](0x3,_0x39530c),_0x5a1e2a),_0x562d35['y'])),_0x28829d*_0x412d76['y'])};}function _0x25961d(_0x14bf20,_0xad5204,_0x4accc3,_0x270db1,_0x5f414e,_0x275d27,_0x5b3e62=0x30){const _0x5a608f=_0x45a8da,_0x581fb6={'EGPiA':function(_0x2b784b,_0x504f1d){return _0x2b784b<=_0x504f1d;},'nRBCY':function(_0x1785f2,_0x38e93c){return _0x1785f2/_0x38e93c;},'UORFp':function(_0x58364d,_0x2480ac,_0x32748f,_0x409104,_0x3cc536,_0x4aa966){return _0x58364d(_0x2480ac,_0x32748f,_0x409104,_0x3cc536,_0x4aa966);},'VTzoq':function(_0x581606,_0x166c54){return _0x581606-_0x166c54;},'Iyfed':function(_0x2dd7d5,_0x28c3bf){return _0x2dd7d5<_0x28c3bf;},'pvJme':function(_0x5378e0,_0x19224a){return _0x5378e0/_0x19224a;},'KtcqW':function(_0x59265c,_0x2b3062){return _0x59265c<_0x2b3062;},'NYVVG':function(_0x1b3c9e,_0x379d7b){return _0x1b3c9e+_0x379d7b;},'faWHW':function(_0x2215a4,_0x48789c){return _0x2215a4-_0x48789c;},'mzRFE':function(_0x2e78c6,_0x9588bf){return _0x2e78c6/_0x9588bf;},'iezOD':function(_0x2764f3,_0x4c8488){return _0x2764f3-_0x4c8488;},'btuUC':function(_0x3b7ffe,_0x1f8697,_0x4a6435,_0x41e9b3,_0x1fe296,_0x3e458e){return _0x3b7ffe(_0x1f8697,_0x4a6435,_0x41e9b3,_0x1fe296,_0x3e458e);},'yAVol':function(_0x1a4999,_0x37ceb0){return _0x1a4999-_0x37ceb0;},'qIcBG':function(_0x5f25f7,_0x194c09){return _0x5f25f7-_0x194c09;},'PdPce':function(_0x21bdac,_0x5142c8){return _0x21bdac<_0x5142c8;}};let _0x39c669={'x':_0x4accc3['x'],'y':_0x4accc3['y'],'t':0x0,'dist':Infinity};for(let _0x7ed4f5=0x0;_0x581fb6[_0x5a608f(0xee)](_0x7ed4f5,_0x5b3e62);_0x7ed4f5+=0x1){const _0x52a920=_0x581fb6[_0x5a608f(0x108)](_0x7ed4f5,_0x5b3e62),_0x52cd00=_0x581fb6[_0x5a608f(0x1a3)](_0x582b4c,_0x4accc3,_0x270db1,_0x5f414e,_0x275d27,_0x52a920),_0x39fd3b=Math[_0x5a608f(0x1cf)](_0x581fb6[_0x5a608f(0x124)](_0x14bf20,_0x52cd00['x']),_0xad5204-_0x52cd00['y']);if(_0x581fb6[_0x5a608f(0x1f2)](_0x39fd3b,_0x39c669[_0x5a608f(0x1e7)]))_0x39c669={'x':_0x52cd00['x'],'y':_0x52cd00['y'],'t':_0x52a920,'dist':_0x39fd3b};}const _0x2d5ad8=_0x581fb6[_0x5a608f(0x202)](0x1,_0x5b3e62);let _0x44fd2d=Math[_0x5a608f(0xfb)](0x0,_0x39c669['t']-_0x2d5ad8),_0x204a6b=Math[_0x5a608f(0x19c)](0x1,_0x39c669['t']+_0x2d5ad8);for(let _0x5300cf=0x0;_0x581fb6[_0x5a608f(0x12d)](_0x5300cf,0x8);_0x5300cf+=0x1){const _0x45c849=_0x581fb6[_0x5a608f(0x1a2)](_0x44fd2d,_0x581fb6[_0x5a608f(0x202)](_0x204a6b-_0x44fd2d,0x3)),_0x4b9c81=_0x581fb6[_0x5a608f(0x1e3)](_0x204a6b,_0x581fb6[_0x5a608f(0x1d9)](_0x581fb6[_0x5a608f(0x175)](_0x204a6b,_0x44fd2d),0x3)),_0x425cb5=_0x581fb6[_0x5a608f(0x14e)](_0x582b4c,_0x4accc3,_0x270db1,_0x5f414e,_0x275d27,_0x45c849),_0x16d48c=_0x581fb6[_0x5a608f(0x1a3)](_0x582b4c,_0x4accc3,_0x270db1,_0x5f414e,_0x275d27,_0x4b9c81),_0x2805d9=Math[_0x5a608f(0x1cf)](_0x581fb6[_0x5a608f(0xf9)](_0x14bf20,_0x425cb5['x']),_0xad5204-_0x425cb5['y']),_0x5b7622=Math[_0x5a608f(0x1cf)](_0x581fb6[_0x5a608f(0xf9)](_0x14bf20,_0x16d48c['x']),_0x581fb6[_0x5a608f(0x16f)](_0xad5204,_0x16d48c['y']));if(_0x581fb6[_0x5a608f(0x12d)](_0x2805d9,_0x5b7622)){_0x204a6b=_0x4b9c81;if(_0x581fb6[_0x5a608f(0x163)](_0x2805d9,_0x39c669[_0x5a608f(0x1e7)]))_0x39c669={'x':_0x425cb5['x'],'y':_0x425cb5['y'],'t':_0x45c849,'dist':_0x2805d9};}else{_0x44fd2d=_0x45c849;if(_0x581fb6[_0x5a608f(0x1f2)](_0x5b7622,_0x39c669[_0x5a608f(0x1e7)]))_0x39c669={'x':_0x16d48c['x'],'y':_0x16d48c['y'],'t':_0x4b9c81,'dist':_0x5b7622};}}return _0x39c669;}function closestPointOnSegment(_0x1bb544,_0x346969,_0x334fe6,_0x3dd6ab,_0x50546d=![]){const _0x5b69b2=_0x45a8da,_0x31278c={'WnFjP':function(_0x5675d8,_0x30865d,_0x5f1598){return _0x5675d8(_0x30865d,_0x5f1598);},'AHZMx':function(_0x1597be,_0x2a467d,_0x425d1e,_0x8e443c,_0x1156f3){return _0x1597be(_0x2a467d,_0x425d1e,_0x8e443c,_0x1156f3);}};if(!_0x1bb544||!_0x346969)return null;if(_0x31278c[_0x5b69b2(0x11d)](_0x234f7d,_0x1bb544,_0x346969)){const {c1x:_0x2e7708,c1y:_0xea100e,c2x:_0x1c0ec9,c2y:_0x13ad3b}=_0x31278c[_0x5b69b2(0x11d)](_0x38532e,_0x1bb544,_0x346969);return _0x25961d(_0x334fe6,_0x3dd6ab,_0x1bb544,{'x':_0x2e7708,'y':_0xea100e},{'x':_0x1c0ec9,'y':_0x13ad3b},_0x346969);}return _0x31278c[_0x5b69b2(0x158)](_0x45ede7,_0x334fe6,_0x3dd6ab,_0x1bb544,_0x346969);}function findNearestPointHit(_0x5ac0cf,_0xa021ec,_0x4e671e,_0x1cfa5e=0x10){const _0x5a1bab=_0x45a8da,_0x20942d={'TcIRd':function(_0x4005eb,_0x3576ab){return _0x4005eb<_0x3576ab;},'vzUHW':function(_0x47624e,_0x40ee6c){return _0x47624e-_0x40ee6c;},'XlNYT':function(_0x3464f0,_0x1ebf47){return _0x3464f0(_0x1ebf47);},'asOoT':function(_0x19fc5f,_0x2aecdd){return _0x19fc5f(_0x2aecdd);},'RHXnC':function(_0xeb7d77,_0x5156e7){return _0xeb7d77>_0x5156e7;},'iswOJ':function(_0x585e35,_0x363f6d){return _0x585e35===_0x363f6d;}};let _0x2597a7=null;for(const _0x58959f of _0x5ac0cf||[]){const _0x28ad9e=_0x58959f[_0x5a1bab(0x167)]||[];for(let _0xd050e6=0x0;_0x20942d[_0x5a1bab(0x187)](_0xd050e6,_0x28ad9e[_0x5a1bab(0x229)]);_0xd050e6+=0x1){const _0xcfc8a6=_0x28ad9e[_0xd050e6],_0x4df3e0=Math[_0x5a1bab(0x1cf)](_0x20942d[_0x5a1bab(0x21e)](_0x20942d[_0x5a1bab(0x186)](Number,_0xcfc8a6['x']),_0xa021ec),_0x20942d[_0x5a1bab(0x1ec)](Number,_0xcfc8a6['y'])-_0x4e671e);if(_0x20942d[_0x5a1bab(0x140)](_0x4df3e0,_0x1cfa5e))continue;(!_0x2597a7||_0x20942d[_0x5a1bab(0x187)](_0x4df3e0,_0x2597a7[_0x5a1bab(0x1e7)]))&&(_0x2597a7={'pathId':_0x58959f['id'],'pointId':_0xcfc8a6['id'],'pointIndex':_0xd050e6,'x':_0xcfc8a6['x'],'y':_0xcfc8a6['y'],'dist':_0x4df3e0,'kind':_0xcfc8a6[_0x5a1bab(0x1ab)],'closed':_0x20942d[_0x5a1bab(0x220)](_0x58959f[_0x5a1bab(0x17a)],!![])});}}return _0x2597a7;}function findNearestSegmentHit(_0x4848c5,_0x35b4d9,_0x52d975,_0x476b79=0xe){const _0x1805ba=_0x45a8da,_0x210aa6={'CUHHT':function(_0x466cb0,_0x1dcf45,_0x1918b7){return _0x466cb0(_0x1dcf45,_0x1918b7);},'Sawog':function(_0x347d44,_0x48bc0d,_0x3625f1,_0x39091e,_0x5506b1,_0x4f81ae){return _0x347d44(_0x48bc0d,_0x3625f1,_0x39091e,_0x5506b1,_0x4f81ae);},'iYxpD':function(_0x2e88b0,_0x221b8a){return _0x2e88b0>_0x221b8a;},'uyhnw':function(_0xf0ef6c,_0x7fa6b2){return _0xf0ef6c<_0x7fa6b2;}};let _0x9fde4d=null;for(const _0x40f47a of _0x4848c5||[]){const _0x14b84f=_0x210aa6[_0x1805ba(0xef)](listPathSegments,_0x40f47a[_0x1805ba(0x167)],_0x40f47a[_0x1805ba(0x17a)]);for(const _0x491f12 of _0x14b84f){const _0x374a2e=_0x210aa6[_0x1805ba(0x123)](closestPointOnSegment,_0x491f12[_0x1805ba(0x129)],_0x491f12[_0x1805ba(0x1e1)],_0x35b4d9,_0x52d975,_0x491f12[_0x1805ba(0x1b3)]);if(!_0x374a2e||_0x210aa6[_0x1805ba(0x1b5)](_0x374a2e[_0x1805ba(0x1e7)],_0x476b79))continue;(!_0x9fde4d||_0x210aa6[_0x1805ba(0xde)](_0x374a2e[_0x1805ba(0x1e7)],_0x9fde4d[_0x1805ba(0x1e7)]))&&(_0x9fde4d={'pathId':_0x40f47a['id'],'endIndex':_0x491f12[_0x1805ba(0x191)],'closing':_0x491f12[_0x1805ba(0x1b3)],'x':_0x374a2e['x'],'y':_0x374a2e['y'],'dist':_0x374a2e[_0x1805ba(0x1e7)]});}}return _0x9fde4d;}function curveHandlesOnSegment(_0x44edb7,_0x584b8d,_0x2db4d2,_0x3ec295){const _0x5d39b8=_0x45a8da,_0x2c6a72={'Pcbxk':function(_0x2cf483,_0x1f9ae6){return _0x2cf483(_0x1f9ae6);},'Ghjbb':function(_0x246e0b,_0x1a7364,_0x152340){return _0x246e0b(_0x1a7364,_0x152340);},'YndTO':function(_0x3ce7ea,_0x432242){return _0x3ce7ea*_0x432242;},'oODcs':function(_0x4f4e51,_0x465c34){return _0x4f4e51*_0x465c34;},'iVLau':function(_0x4b8a20,_0x3fd172){return _0x4b8a20*_0x3fd172;},'ryfma':function(_0x3f1fb4,_0x2a66dc){return _0x3f1fb4*_0x2a66dc;},'nNLcq':function(_0x10078e,_0x29e7f8){return _0x10078e*_0x29e7f8;},'AbFiK':function(_0x22e2ac,_0x5b83a1){return _0x22e2ac(_0x5b83a1);},'wUXBZ':function(_0x3cdc9e,_0x2b3128){return _0x3cdc9e+_0x2b3128;}},_0x2a4796=_0x7d41bc(_0x2db4d2),_0x4cc2fb=_0x2c6a72[_0x5d39b8(0x1d6)](_0x7d41bc,_0x3ec295),_0x37ffd4={'x':_0x2a4796,'y':_0x4cc2fb},_0x437cb0=_0x2c6a72[_0x5d39b8(0x126)](_0x3b4d7d,_0x44edb7,_0x37ffd4),_0x5824b5=_0x2c6a72[_0x5d39b8(0x126)](_0x3b4d7d,_0x37ffd4,_0x584b8d),_0x541476=Math[_0x5d39b8(0xfb)](0xa,_0x2c6a72[_0x5d39b8(0x1ac)](_0x437cb0[_0x5d39b8(0xd5)],0.33)),_0x2726e7=Math[_0x5d39b8(0xfb)](0xa,_0x2c6a72[_0x5d39b8(0x1e5)](_0x5824b5[_0x5d39b8(0xd5)],0.33));return{'x':_0x2a4796,'y':_0x4cc2fb,'c1x':_0x2c6a72[_0x5d39b8(0x1d6)](_0x7d41bc,_0x2a4796-_0x2c6a72[_0x5d39b8(0x225)](_0x437cb0['x'],_0x541476)),'c1y':_0x7d41bc(_0x4cc2fb-_0x2c6a72[_0x5d39b8(0xfe)](_0x437cb0['y'],_0x541476)),'c2x':_0x2c6a72[_0x5d39b8(0x1d6)](_0x7d41bc,_0x2a4796+_0x2c6a72[_0x5d39b8(0x196)](_0x5824b5['x'],_0x2726e7)),'c2y':_0x2c6a72[_0x5d39b8(0x1b6)](_0x7d41bc,_0x2c6a72[_0x5d39b8(0x1c2)](_0x4cc2fb,_0x5824b5['y']*_0x2726e7))};}function insertCurvePointOnSegment(_0xf50910,_0x35d517,_0x22ad31,_0x1e53b4,_0x2fe7d8=![]){const _0x3dc4a4=_0x45a8da,_0x44f3d7={'HWfGe':function(_0x47c758,_0x3c0f5c){return _0x47c758<_0x3c0f5c;},'GrcfK':function(_0x2dd45a,_0xf302a){return _0x2dd45a===_0xf302a;},'oufOF':function(_0x5d05e6,_0x128cbe){return _0x5d05e6-_0x128cbe;},'pWccP':function(_0x7bee96,_0xc207a5){return _0x7bee96<_0xc207a5;},'vGEah':function(_0x341882,_0x10c926){return _0x341882>=_0x10c926;},'DRXnd':function(_0x483656,_0x4c3b32){return _0x483656<=_0x4c3b32;},'LcoAo':function(_0x2a31a7,_0x4ea437,_0x30a805,_0x2bd423,_0x167c30){return _0x2a31a7(_0x4ea437,_0x30a805,_0x2bd423,_0x167c30);},'IJNtK':function(_0x5d216a,_0x2fdc39){return _0x5d216a(_0x2fdc39);},'Ubcmd':_0x3dc4a4(0xe4)};if(!Array[_0x3dc4a4(0xf7)](_0xf50910)||_0x44f3d7[_0x3dc4a4(0x1f0)](_0xf50910[_0x3dc4a4(0x229)],0x2))return{'points':_0xf50910,'selectedPointId':null};const _0x3e0aab=_0xf50910[_0x3dc4a4(0x229)],_0x49da5a=_0x2fe7d8&&_0x44f3d7[_0x3dc4a4(0x166)](_0x35d517,0x0),_0x222f86=_0x49da5a?_0x44f3d7[_0x3dc4a4(0x15e)](_0x3e0aab,0x1):_0x44f3d7[_0x3dc4a4(0x15e)](_0x35d517,0x1);if(_0x44f3d7[_0x3dc4a4(0x1be)](_0x222f86,0x0)||_0x44f3d7[_0x3dc4a4(0xd7)](_0x222f86,_0x3e0aab))return{'points':_0xf50910,'selectedPointId':null};if(!_0x49da5a&&(_0x44f3d7[_0x3dc4a4(0x1ee)](_0x35d517,0x0)||_0x44f3d7[_0x3dc4a4(0xd7)](_0x35d517,_0x3e0aab)))return{'points':_0xf50910,'selectedPointId':null};const _0x25ae86=_0xf50910[_0x222f86],_0x101908=_0xf50910[_0x35d517],_0x10659b=_0x44f3d7[_0x3dc4a4(0xe8)](curveHandlesOnSegment,_0x25ae86,_0x101908,_0x22ad31,_0x1e53b4),_0x2806aa={'id':_0x44f3d7[_0x3dc4a4(0x146)](nextSvgMakerId,'pt'),'x':_0x10659b['x'],'y':_0x10659b['y'],'kind':_0x44f3d7[_0x3dc4a4(0x22a)],'c1x':_0x10659b[_0x3dc4a4(0x20c)],'c1y':_0x10659b[_0x3dc4a4(0x20a)],'c2x':_0x10659b[_0x3dc4a4(0x145)],'c2y':_0x10659b[_0x3dc4a4(0x1b2)]},_0x328023=_0x49da5a?_0x3e0aab:_0x35d517,_0x5e8c3a=[..._0xf50910];return _0x5e8c3a[_0x3dc4a4(0x195)](_0x328023,0x0,_0x2806aa),{'points':_0x5e8c3a,'selectedPointId':_0x2806aa['id']};}function insertCornerPointOnSegment(_0x4c9080,_0x45de71,_0x1e5474,_0x304199,_0x29bc7e=![]){const _0x729701=_0x45a8da,_0x346933={'yelDs':function(_0x5413d5,_0x1a79ad){return _0x5413d5<_0x1a79ad;},'cKLNF':function(_0x2ba6d3,_0x11efbe){return _0x2ba6d3===_0x11efbe;},'ddRFe':function(_0x363e07,_0x26069e){return _0x363e07-_0x26069e;},'GmIdV':function(_0x1c5ed1,_0x3e6fef){return _0x1c5ed1>=_0x3e6fef;},'tLPbh':function(_0x7ab252,_0x3d0c84){return _0x7ab252<=_0x3d0c84;},'SPURF':function(_0x378ba4,_0x3ca844){return _0x378ba4(_0x3ca844);},'PiYLb':function(_0x56a58d,_0x214737){return _0x56a58d(_0x214737);}};if(!Array[_0x729701(0xf7)](_0x4c9080)||_0x346933[_0x729701(0x12c)](_0x4c9080[_0x729701(0x229)],0x2))return{'points':_0x4c9080,'selectedPointId':null};const _0x1ec167=_0x4c9080[_0x729701(0x229)],_0x2f09a5=_0x29bc7e&&_0x346933[_0x729701(0x113)](_0x45de71,0x0),_0x4c4b55=_0x2f09a5?_0x346933[_0x729701(0x19d)](_0x1ec167,0x1):_0x45de71-0x1;if(_0x346933[_0x729701(0x12c)](_0x4c4b55,0x0)||_0x346933[_0x729701(0x190)](_0x4c4b55,_0x1ec167))return{'points':_0x4c9080,'selectedPointId':null};if(!_0x2f09a5&&(_0x346933[_0x729701(0x230)](_0x45de71,0x0)||_0x45de71>=_0x1ec167))return{'points':_0x4c9080,'selectedPointId':null};const _0x4fbe20={'id':_0x346933[_0x729701(0x216)](nextSvgMakerId,'pt'),'x':_0x346933[_0x729701(0x21d)](_0x7d41bc,_0x1e5474),'y':_0x346933[_0x729701(0x21d)](_0x7d41bc,_0x304199),'kind':_0x729701(0x1df)},_0x266aef=_0x2f09a5?_0x1ec167:_0x45de71,_0x43adf6=[..._0x4c9080];return _0x43adf6[_0x729701(0x195)](_0x266aef,0x0,_0x4fbe20),{'points':_0x43adf6,'selectedPointId':_0x4fbe20['id']};}var _0x4815f7=0.5522847498;function roundCornerAt(_0x4270d7,_0x2b3b0a,_0x559dc9=0x10,_0x218459=![]){const _0x3f01fd=_0x45a8da,_0x1b9ca7={'zSTVJ':function(_0x3ee7e9,_0x4ce2d8){return _0x3ee7e9<_0x4ce2d8;},'OshLo':function(_0x38097c,_0xd42c23){return _0x38097c(_0xd42c23);},'jvyUL':function(_0x562bdf,_0x3ac210){return _0x562bdf%_0x3ac210;},'vyZGL':function(_0xb34d05,_0x45eada){return _0xb34d05+_0x45eada;},'ilalL':function(_0x599ad8,_0x142fd5){return _0x599ad8<=_0x142fd5;},'NEgiO':function(_0xc5c363,_0x5b2110){return _0xc5c363>=_0x5b2110;},'oFttT':function(_0x4696ea,_0x5e2257){return _0x4696ea-_0x5e2257;},'YoZON':function(_0xdfdc6d,_0x418cd3){return _0xdfdc6d+_0x418cd3;},'xOvWb':function(_0xb6f4db,_0x4470e2){return _0xb6f4db%_0x4470e2;},'LtEJM':function(_0x370359,_0x512075){return _0x370359+_0x512075;},'YIGDJ':function(_0x933333,_0x1fdd45){return _0x933333+_0x1fdd45;},'odPQZ':function(_0x1644d2,_0xd2765b,_0x277a57,_0x4e2da1,_0x399b9f){return _0x1644d2(_0xd2765b,_0x277a57,_0x4e2da1,_0x399b9f);},'fCUiR':_0x3f01fd(0xe4)},_0x2390f6=Array[_0x3f01fd(0xf7)](_0x4270d7)?_0x4270d7[_0x3f01fd(0x229)]:0x0;if(_0x1b9ca7[_0x3f01fd(0x1b7)](_0x2390f6,0x3))return{'points':_0x4270d7,'selectedPointId':null};let _0x3512a1=_0x1b9ca7[_0x3f01fd(0xfd)](Number,_0x2b3b0a);if(!Number[_0x3f01fd(0x189)](_0x3512a1))return{'points':_0x4270d7,'selectedPointId':null};if(_0x218459)_0x3512a1=_0x1b9ca7[_0x3f01fd(0x159)](_0x1b9ca7[_0x3f01fd(0x1fb)](_0x1b9ca7[_0x3f01fd(0x159)](Math[_0x3f01fd(0xdb)](_0x3512a1),_0x2390f6),_0x2390f6),_0x2390f6);else{if(_0x1b9ca7[_0x3f01fd(0xed)](_0x3512a1,0x0)||_0x1b9ca7[_0x3f01fd(0x109)](_0x3512a1,_0x1b9ca7[_0x3f01fd(0x116)](_0x2390f6,0x1)))return{'points':_0x4270d7,'selectedPointId':null};else _0x3512a1=Math[_0x3f01fd(0xdb)](_0x3512a1);}const _0x500c48=_0x218459?_0x1b9ca7[_0x3f01fd(0x18a)](_0x1b9ca7[_0x3f01fd(0x116)](_0x3512a1,0x1),_0x2390f6)%_0x2390f6:_0x3512a1-0x1,_0x5530fa=_0x218459?_0x1b9ca7[_0x3f01fd(0x11e)](_0x1b9ca7[_0x3f01fd(0x17e)](_0x3512a1,0x1),_0x2390f6):_0x1b9ca7[_0x3f01fd(0x174)](_0x3512a1,0x1),_0x1dc779=_0x4270d7[_0x500c48],_0x1b6a8d=_0x4270d7[_0x3512a1],_0x13c348=_0x4270d7[_0x5530fa];if(!_0x1dc779||!_0x1b6a8d||!_0x13c348)return{'points':_0x4270d7,'selectedPointId':null};const _0x3da6a8=_0x1b9ca7[_0x3f01fd(0x213)](_0x1b9d12,_0x1dc779,_0x1b6a8d,_0x13c348,_0x559dc9);if(!_0x3da6a8)return{'points':_0x4270d7,'selectedPointId':null};const _0x1efaf9={'id':_0x1b6a8d['id'],'x':_0x3da6a8[_0x3f01fd(0x139)],'y':_0x3da6a8[_0x3f01fd(0x12f)],'kind':_0x1b9ca7[_0x3f01fd(0x153)],'c1x':_0x3da6a8[_0x3f01fd(0xec)],'c1y':_0x3da6a8[_0x3f01fd(0x19f)],'c2x':_0x3da6a8[_0x3f01fd(0x1a0)],'c2y':_0x3da6a8[_0x3f01fd(0x22d)]},_0x4785bc={'id':nextSvgMakerId('pt'),'x':_0x3da6a8[_0x3f01fd(0x1d3)],'y':_0x3da6a8[_0x3f01fd(0x1cb)],'kind':_0x3f01fd(0xe4),'c1x':_0x3da6a8[_0x3f01fd(0x138)],'c1y':_0x3da6a8[_0x3f01fd(0xe3)],'c2x':_0x3da6a8[_0x3f01fd(0x14c)],'c2y':_0x3da6a8[_0x3f01fd(0xe5)]},_0x46b9d6=[..._0x4270d7[_0x3f01fd(0xce)](0x0,_0x3512a1),_0x1efaf9,_0x4785bc,..._0x4270d7[_0x3f01fd(0xce)](_0x3512a1+0x1)];return{'points':_0x46b9d6,'selectedPointId':_0x4785bc['id']};}function _0x1b9d12(_0x38e50c,_0x4522bd,_0x30cf73,_0x5b837f){const _0x317421=_0x45a8da,_0x1c79e8={'mLlyL':function(_0x58bea2,_0x2b9ae7,_0x1450d4){return _0x58bea2(_0x2b9ae7,_0x1450d4);},'vitKu':function(_0x485f60,_0x41c107){return _0x485f60<_0x41c107;},'mmCpY':function(_0x1b2fe3,_0x225caf){return _0x1b2fe3(_0x225caf);},'ConUH':function(_0x52baca,_0x3255e9){return _0x52baca*_0x3255e9;},'ixVBv':function(_0x114b1c,_0x2d21cd){return _0x114b1c/_0x2d21cd;},'kxOXv':function(_0xc01e36,_0x24db8d){return _0xc01e36-_0x24db8d;},'smFEi':function(_0x4d4d5c,_0x5739c2){return _0x4d4d5c-_0x5739c2;},'BgmVp':function(_0x4c6e5e,_0x2a85f4){return _0x4c6e5e+_0x2a85f4;},'hwWMB':function(_0x267ac5,_0x5b72bc){return _0x267ac5*_0x5b72bc;},'epTpD':function(_0x11bd10,_0xea5696,_0x354034){return _0x11bd10(_0xea5696,_0x354034);},'LnbIR':function(_0x4a76ab,_0x4a07ee,_0x55d45d){return _0x4a76ab(_0x4a07ee,_0x55d45d);},'Jaigx':function(_0x5d706f,_0x282285){return _0x5d706f(_0x282285);},'qIlWV':function(_0x324422,_0x47c8fa){return _0x324422/_0x47c8fa;},'HCBSO':function(_0x172509,_0x4b9100){return _0x172509-_0x4b9100;},'cERpQ':function(_0x2d5e8f,_0x431ba1){return _0x2d5e8f/_0x431ba1;},'JJIqH':function(_0x2ccb62,_0x52c04b){return _0x2ccb62(_0x52c04b);},'aVwyj':function(_0x2076cc,_0x8813a9){return _0x2076cc*_0x8813a9;},'WJwpT':function(_0x1ab60a,_0x405fcf){return _0x1ab60a(_0x405fcf);},'IclNR':function(_0x426a77,_0x148e8d){return _0x426a77(_0x148e8d);},'gZVHw':function(_0x513a18,_0xd9174c){return _0x513a18-_0xd9174c;},'SIiyD':function(_0x3c0be1,_0x24a76b){return _0x3c0be1*_0x24a76b;},'VkYSW':function(_0x19ed32,_0x131037){return _0x19ed32/_0x131037;},'ZqOiM':function(_0x4855ad,_0x58c00b){return _0x4855ad(_0x58c00b);},'vDUQb':function(_0x1044f3,_0x4bcfd0){return _0x1044f3+_0x4bcfd0;}},_0x61dd60=_0x1c79e8[_0x317421(0x141)](_0x373484,_0x38e50c,_0x4522bd),_0x113188=_0x1c79e8[_0x317421(0x141)](_0x373484,_0x4522bd,_0x30cf73);if(_0x61dd60<0.001||_0x1c79e8[_0x317421(0x18b)](_0x113188,0.001))return null;const _0xb39bed=Math[_0x317421(0xfb)](0x1,Math[_0x317421(0x19c)](_0x1c79e8[_0x317421(0x1bd)](Number,_0x5b837f)||0x10,_0x1c79e8[_0x317421(0x1c9)](_0x61dd60,0.45),_0x113188*0.45)),_0x26f5c0=_0x1c79e8[_0x317421(0x226)](_0x1c79e8[_0x317421(0x160)](_0x4522bd['x'],_0x38e50c['x']),_0x61dd60),_0x822739=_0x1c79e8[_0x317421(0x226)](_0x1c79e8[_0x317421(0x160)](_0x4522bd['y'],_0x38e50c['y']),_0x61dd60),_0x4e74ce=_0x1c79e8[_0x317421(0x226)](_0x1c79e8[_0x317421(0x178)](_0x30cf73['x'],_0x4522bd['x']),_0x113188),_0x4b6690=_0x1c79e8[_0x317421(0x226)](_0x1c79e8[_0x317421(0x160)](_0x30cf73['y'],_0x4522bd['y']),_0x113188),_0xf4bbf0=_0x4522bd['x']-_0x26f5c0*_0xb39bed,_0x1b97e8=_0x1c79e8[_0x317421(0x160)](_0x4522bd['y'],_0x822739*_0xb39bed),_0x5d0f18=_0x1c79e8[_0x317421(0x11a)](_0x4522bd['x'],_0x1c79e8[_0x317421(0x1c9)](_0x4e74ce,_0xb39bed)),_0x2f66ff=_0x1c79e8[_0x317421(0x11a)](_0x4522bd['y'],_0x1c79e8[_0x317421(0x15a)](_0x4b6690,_0xb39bed)),_0x4f171b=_0x1c79e8[_0x317421(0x15a)](_0xb39bed,_0x4815f7),_0x3dc1ca=Math[_0x317421(0xfb)](0.001,_0x1c79e8[_0x317421(0x16b)](_0x373484,_0x38e50c,{'x':_0xf4bbf0,'y':_0x1b97e8})),_0x1d9cd2=Math[_0x317421(0xfb)](0.001,_0x1c79e8[_0x317421(0x22c)](_0x373484,{'x':_0x5d0f18,'y':_0x2f66ff},_0x30cf73));return{'p1x':_0x7d41bc(_0xf4bbf0),'p1y':_0x7d41bc(_0x1b97e8),'p2x':_0x1c79e8[_0x317421(0x1bd)](_0x7d41bc,_0x5d0f18),'p2y':_0x1c79e8[_0x317421(0x179)](_0x7d41bc,_0x2f66ff),'p1c1x':_0x1c79e8[_0x317421(0x1bd)](_0x7d41bc,_0xf4bbf0-_0x1c79e8[_0x317421(0x1c9)](_0x26f5c0,_0x1c79e8[_0x317421(0x118)](_0x3dc1ca,0x3))),'p1c1y':_0x1c79e8[_0x317421(0x1bd)](_0x7d41bc,_0x1c79e8[_0x317421(0xf2)](_0x1b97e8,_0x822739*_0x1c79e8[_0x317421(0x207)](_0x3dc1ca,0x3))),'p1c2x':_0x1c79e8[_0x317421(0x1dd)](_0x7d41bc,_0xf4bbf0+_0x1c79e8[_0x317421(0x1e4)](_0x26f5c0,_0x4f171b)),'p1c2y':_0x1c79e8[_0x317421(0x180)](_0x7d41bc,_0x1c79e8[_0x317421(0x11a)](_0x1b97e8,_0x1c79e8[_0x317421(0x15a)](_0x822739,_0x4f171b))),'p2c1x':_0x1c79e8[_0x317421(0xf3)](_0x7d41bc,_0x1c79e8[_0x317421(0x110)](_0x5d0f18,_0x1c79e8[_0x317421(0x1a6)](_0x4e74ce,_0x4f171b))),'p2c1y':_0x1c79e8[_0x317421(0x1dd)](_0x7d41bc,_0x1c79e8[_0x317421(0x178)](_0x2f66ff,_0x1c79e8[_0x317421(0x1c9)](_0x4b6690,_0x4f171b))),'p2c2x':_0x7d41bc(_0x1c79e8[_0x317421(0x11a)](_0x5d0f18,_0x1c79e8[_0x317421(0x1c9)](_0x4e74ce,_0x1c79e8[_0x317421(0x14a)](_0x1d9cd2,0x3)))),'p2c2y':_0x1c79e8[_0x317421(0x11f)](_0x7d41bc,_0x1c79e8[_0x317421(0x1cc)](_0x2f66ff,_0x1c79e8[_0x317421(0x1e4)](_0x4b6690,_0x1c79e8[_0x317421(0x14a)](_0x1d9cd2,0x3))))};}function previewRoundCorner(_0x13e83f,_0x435a41,_0x10a863=0x10,_0x45d2c4=![]){const _0x4c65bf=_0x45a8da,_0x30d425={'wtNxU':function(_0x93040a,_0x4b6f3f,_0x528097,_0xe705af,_0x5e39a1){return _0x93040a(_0x4b6f3f,_0x528097,_0xe705af,_0x5e39a1);},'cQRiF':function(_0x6d5b6c,_0x474d8a){return _0x6d5b6c===_0x474d8a;},'xpeuL':function(_0x3a0e37,_0x1d3b20){return _0x3a0e37<=_0x1d3b20;},'EWvYe':function(_0x836203,_0x5c522e){return _0x836203-_0x5c522e;},'JZDnb':function(_0x984acc,_0x51f604,_0xd8acbd,_0x391611){return _0x984acc(_0x51f604,_0xd8acbd,_0x391611);}},{points:_0x53717e,selectedPointId:_0x5ae806}=_0x30d425[_0x4c65bf(0x165)](roundCornerAt,_0x13e83f,_0x435a41,_0x10a863,_0x45d2c4);if(!_0x5ae806||_0x30d425[_0x4c65bf(0x20f)](_0x53717e,_0x13e83f))return null;const _0x4c191a=_0x53717e[_0x4c65bf(0x1e6)](_0x3790d9=>_0x3790d9['id']===_0x5ae806);if(_0x30d425[_0x4c65bf(0x143)](_0x4c191a,0x0))return null;const _0x57816e=_0x53717e[_0x30d425[_0x4c65bf(0x122)](_0x4c191a,0x1)],_0x71835a=_0x53717e[_0x4c191a];return{'d':_0x30d425[_0x4c65bf(0x1d4)](segmentToPathD,_0x57816e,_0x71835a,![]),'enter':_0x57816e,'exit':_0x71835a};}function updatePointFields(_0x2e4b29,_0x2a14ae,_0x28061a){const _0x4badf4=_0x45a8da,_0x5c9b1f={'kYdci':function(_0x16da99,_0x89fd5a){return _0x16da99===_0x89fd5a;},'eSJOZ':function(_0x5cb024,_0x1c2ef7){return _0x5cb024(_0x1c2ef7);},'kjPdq':function(_0x2bf296,_0x1cfc66){return _0x2bf296(_0x1cfc66);},'LyoDT':function(_0x547d96,_0x3c5f54){return _0x547d96(_0x3c5f54);}};if(!Array[_0x4badf4(0xf7)](_0x2e4b29)||!_0x2a14ae)return _0x2e4b29;return _0x2e4b29[_0x4badf4(0x16c)](_0x48fc4c=>{const _0x3de75d=_0x4badf4;if(_0x48fc4c['id']!==_0x2a14ae)return _0x48fc4c;const _0x487fe6={..._0x48fc4c,..._0x28061a};if(_0x5c9b1f[_0x3de75d(0x1ca)](_0x487fe6[_0x3de75d(0x1ab)],_0x3de75d(0xe4))){if(!Number[_0x3de75d(0x189)](_0x5c9b1f[_0x3de75d(0x15f)](Number,_0x487fe6[_0x3de75d(0x20c)])))_0x487fe6[_0x3de75d(0x20c)]=_0x487fe6['x'];if(!Number[_0x3de75d(0x189)](_0x5c9b1f[_0x3de75d(0x105)](Number,_0x487fe6[_0x3de75d(0x20a)])))_0x487fe6[_0x3de75d(0x20a)]=_0x487fe6['y'];if(!Number[_0x3de75d(0x189)](_0x5c9b1f[_0x3de75d(0x11c)](Number,_0x487fe6[_0x3de75d(0x145)])))_0x487fe6[_0x3de75d(0x145)]=_0x487fe6['x'];if(!Number[_0x3de75d(0x189)](_0x5c9b1f[_0x3de75d(0x11c)](Number,_0x487fe6[_0x3de75d(0x1b2)])))_0x487fe6[_0x3de75d(0x1b2)]=_0x487fe6['y'];}return _0x487fe6;});}function buildSvgMarkup(_0x56fc13,{width:_0x4380f3,height:_0x1f9775}){const _0x108480=_0x45a8da,_0x288963={'NYLwh':function(_0x44f1a7,_0x5896aa,_0x54a3f2){return _0x44f1a7(_0x5896aa,_0x54a3f2);},'QeKoE':function(_0x59467e,_0x4a0713){return _0x59467e(_0x4a0713);},'HDhXt':function(_0x208e15,_0x19ef8c){return _0x208e15(_0x19ef8c);},'gQcYN':function(_0x2cafcd,_0x8861db){return _0x2cafcd(_0x8861db);},'AiDym':function(_0x27e034,_0x586abf){return _0x27e034(_0x586abf);}},_0xf5f4b4=Math[_0x108480(0xfb)](0x1,Math[_0x108480(0x134)](_0x288963[_0x108480(0x13a)](Number,_0x4380f3)||0x190)),_0x5c3ac8=Math[_0x108480(0xfb)](0x1,Math[_0x108480(0x134)](_0x288963[_0x108480(0x13a)](Number,_0x1f9775)||0x190)),_0x397b0c=(Array[_0x108480(0xf7)](_0x56fc13)?_0x56fc13:[])[_0x108480(0x16c)](_0x58f9cd=>{const _0xc5f4a4=_0x108480,_0x4ff10a=_0x288963[_0xc5f4a4(0x1f7)](pointsToPathD,_0x58f9cd[_0xc5f4a4(0x167)],_0x58f9cd[_0xc5f4a4(0x17a)]);if(!_0x4ff10a)return'';const _0x15a426=resolvePathPaint(_0x58f9cd),_0x1bfafb=_0x288963[_0xc5f4a4(0x120)](_0x23dfc5,_0x15a426[_0xc5f4a4(0x1d2)]),_0x18dcd1=_0x288963[_0xc5f4a4(0x1ad)](_0x23dfc5,_0x15a426[_0xc5f4a4(0xd9)]),_0x28fe00=_0x15a426[_0xc5f4a4(0x201)];return _0xc5f4a4(0x177)+_0x288963[_0xc5f4a4(0x101)](_0x23dfc5,_0x4ff10a)+_0xc5f4a4(0xf6)+_0x1bfafb+_0xc5f4a4(0x1a5)+_0x18dcd1+_0xc5f4a4(0xf1)+_0x28fe00+_0xc5f4a4(0x214);})[_0x108480(0xf5)](Boolean)[_0x108480(0x12e)]('\x0a');return _0x108480(0x223)+_0xf5f4b4+_0x108480(0x106)+_0x5c3ac8+_0x108480(0x1ff)+_0xf5f4b4+'\x20'+_0x5c3ac8+_0x108480(0x1e9)+_0x397b0c+_0x108480(0x1a7);}function _0x7d41bc(_0x436d3e){const _0x24c7ba=_0x45a8da,_0x34afbb={'AOcuf':function(_0x1e4116,_0x22a55b){return _0x1e4116(_0x22a55b);},'dbRUz':function(_0x3c5554,_0x4a7f2e){return _0x3c5554/_0x4a7f2e;},'YXrzC':function(_0x41263a,_0x44ac64){return _0x41263a*_0x44ac64;}},_0x5bb952=_0x34afbb[_0x24c7ba(0x1f1)](Number,_0x436d3e);if(!Number[_0x24c7ba(0x189)](_0x5bb952))return 0x0;return _0x34afbb[_0x24c7ba(0x1fd)](Math[_0x24c7ba(0x134)](_0x34afbb[_0x24c7ba(0x130)](_0x5bb952,0x64)),0x64);}function _0x23dfc5(_0x40708c){const _0xb23bf6=_0x45a8da,_0x329c08={'zAaBH':function(_0x58bbec,_0x106e84){return _0x58bbec(_0x106e84);},'IfgxS':function(_0x25f086,_0x26fafa){return _0x25f086??_0x26fafa;},'TSwIg':_0xb23bf6(0x1c1),'GqTWS':_0xb23bf6(0x1a9),'jjtNX':_0xb23bf6(0x1c6),'QGXcO':_0xb23bf6(0x1e2)};return _0x329c08[_0xb23bf6(0xd2)](String,_0x329c08[_0xb23bf6(0xd3)](_0x40708c,''))[_0xb23bf6(0x228)](/&/g,_0x329c08[_0xb23bf6(0x20d)])[_0xb23bf6(0x228)](/"/g,_0x329c08[_0xb23bf6(0xe7)])[_0xb23bf6(0x228)](/</g,_0x329c08[_0xb23bf6(0xdd)])[_0xb23bf6(0x228)](/>/g,_0x329c08[_0xb23bf6(0x1e8)]);}function _0x4f3f(_0x446983,_0x3badd2){_0x446983=_0x446983-0xcd;const _0x330390=_0x3303();let _0x4f3f62=_0x330390[_0x446983];if(_0x4f3f['FafaOb']===undefined){var _0x499ae1=function(_0x12b522){const _0x1e0793='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29616b='',_0x3282dc='';for(let _0x403476=0x0,_0x4904ba,_0x5903c6,_0x5934b3=0x0;_0x5903c6=_0x12b522['charAt'](_0x5934b3++);~_0x5903c6&&(_0x4904ba=_0x403476%0x4?_0x4904ba*0x40+_0x5903c6:_0x5903c6,_0x403476++%0x4)?_0x29616b+=String['fromCharCode'](0xff&_0x4904ba>>(-0x2*_0x403476&0x6)):0x0){_0x5903c6=_0x1e0793['indexOf'](_0x5903c6);}for(let _0x1d87c3=0x0,_0x9c2182=_0x29616b['length'];_0x1d87c3<_0x9c2182;_0x1d87c3++){_0x3282dc+='%'+('00'+_0x29616b['charCodeAt'](_0x1d87c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3282dc);};_0x4f3f['DKCAut']=_0x499ae1,_0x4f3f['wqVspv']={},_0x4f3f['FafaOb']=!![];}const _0x45fdac=_0x330390[0x0];_0x4f3f['sSDsng']!==_0x45fdac&&(_0x4f3f['wqVspv']={},_0x4f3f['sSDsng']=_0x45fdac);const _0xc0b404=_0x4f3f['wqVspv'][_0x446983];return _0xc0b404===undefined?(_0x4f3f62=_0x4f3f['DKCAut'](_0x4f3f62),_0x4f3f['wqVspv'][_0x446983]=_0x4f3f62):_0x4f3f62=_0xc0b404,_0x4f3f62;}function _0x1d3b91(_0x4dab0e,_0x2cabbe,_0x18c2e3=_0x45a8da(0x1df),_0xcf339={}){const _0x44274c=_0x45a8da,_0x3090b5={'LRoZf':function(_0x2c703e,_0xb7c006){return _0x2c703e(_0xb7c006);}};return{'id':_0x3090b5[_0x44274c(0x194)](nextSvgMakerId,'pt'),'x':_0x3090b5[_0x44274c(0x194)](_0x7d41bc,_0x4dab0e),'y':_0x7d41bc(_0x2cabbe),'kind':_0x18c2e3,..._0xcf339};}function createShapePath(_0x177cfb,{width:width=0x190,height:height=0x190,fill:fill=_0x45a8da(0x17c),radius:radius=0x20}={}){const _0x483634=_0x45a8da,_0xb8c289={'CufXk':function(_0xf89c93,_0x291359){return _0xf89c93(_0x291359);},'jkclc':function(_0x44129f,_0x3e6922){return _0x44129f/_0x3e6922;},'JyePM':function(_0xcb3222,_0x593bb1){return _0xcb3222-_0x593bb1;},'RoqaV':function(_0x20c9ce,_0x46decf){return _0x20c9ce/_0x46decf;},'PMCZf':function(_0x5f3d1a,_0x4c9151){return _0x5f3d1a+_0x4c9151;},'guRwi':function(_0x8982b9,_0x1a59e1){return _0x8982b9/_0x1a59e1;},'hICeZ':function(_0x2dc02e,_0x51945c){return _0x2dc02e===_0x51945c;},'xSdzo':_0x483634(0xd6),'GuYYm':_0x483634(0x1dc),'gIPaj':function(_0x9f9ea6,_0x34a1df,_0x33d133){return _0x9f9ea6(_0x34a1df,_0x33d133);},'dveoy':function(_0x2476f6,_0x53de25,_0x55988d){return _0x2476f6(_0x53de25,_0x55988d);},'ZTBRM':function(_0xd0ea94,_0x37eaf4){return _0xd0ea94===_0x37eaf4;},'gkLNG':_0x483634(0x132),'URzoy':function(_0x56fd1f,_0x11d485,_0x382fd9){return _0x56fd1f(_0x11d485,_0x382fd9);},'hrMma':_0x483634(0x227),'GTDTz':function(_0x4aad30,_0x82166e,_0x9d8ad,_0x23ce7e,_0x8a808){return _0x4aad30(_0x82166e,_0x9d8ad,_0x23ce7e,_0x8a808);},'FYrVg':function(_0x3664fd,_0x234578){return _0x3664fd+_0x234578;},'TXxuz':_0x483634(0xe4),'GVUty':function(_0xee036a,_0x46e4a9){return _0xee036a-_0x46e4a9;},'MjXLH':function(_0x1ca564,_0x516e53){return _0x1ca564+_0x516e53;},'hvFdY':function(_0x4d9022,_0xb2fb96){return _0x4d9022+_0xb2fb96;},'igqpg':function(_0xa029b9,_0x1ab288){return _0xa029b9-_0x1ab288;},'CcDMG':function(_0x35a8eb,_0x15c514,_0x1a81c4,_0x293f72,_0xfca219){return _0x35a8eb(_0x15c514,_0x1a81c4,_0x293f72,_0xfca219);},'pnOND':function(_0x1c3548,_0x289e96){return _0x1c3548-_0x289e96;},'lSzQB':function(_0x430fcf,_0x48effd){return _0x430fcf-_0x48effd;},'rpSga':function(_0x4ee8d6,_0x500339){return _0x4ee8d6-_0x500339;},'noICX':function(_0x3704e6,_0x20dc2a){return _0x3704e6*_0x20dc2a;},'gSyId':_0x483634(0x13e),'Cgfgq':function(_0x1722d0,_0x5c1819){return _0x1722d0+_0x5c1819;},'HlZrS':function(_0x3bd6d6,_0x119ab4){return _0x3bd6d6-_0x119ab4;},'HZYHN':function(_0x567657,_0x4300ad){return _0x567657+_0x4300ad;},'CIZaB':function(_0x4004c9,_0x45a9be){return _0x4004c9/_0x45a9be;},'BAiBC':function(_0x26ef11,_0x6a28dd){return _0x26ef11-_0x6a28dd;},'YDyTJ':function(_0x4f675e,_0x2d8acd){return _0x4f675e-_0x2d8acd;},'Ephmn':function(_0x4d522,_0x13340c){return _0x4d522+_0x13340c;},'SQmUy':function(_0x50416f,_0x1d3d35,_0x2a0f56,_0x778c95,_0x135525){return _0x50416f(_0x1d3d35,_0x2a0f56,_0x778c95,_0x135525);},'QPKQZ':function(_0x5259e3,_0xb78351){return _0x5259e3+_0xb78351;},'XeVVB':function(_0xa0b7d4,_0x54bf14){return _0xa0b7d4-_0x54bf14;},'uWAkY':function(_0x1f9e07,_0x51effa){return _0x1f9e07+_0x51effa;},'goHCu':function(_0x55a167,_0x25e2ec){return _0x55a167-_0x25e2ec;},'tcflB':function(_0xd773b2,_0x2d0b25,_0x4af395,_0x487be6,_0x2460ca){return _0xd773b2(_0x2d0b25,_0x4af395,_0x487be6,_0x2460ca);},'DWerP':function(_0xdc9e71,_0x48d25d){return _0xdc9e71-_0x48d25d;},'QfSTo':function(_0x5b0577,_0x4e3298){return _0x5b0577-_0x4e3298;},'IcIvu':function(_0x15f41f,_0x2e0d8c){return _0x15f41f*_0x2e0d8c;},'gPMxy':function(_0x56f71c,_0x2c6b99){return _0x56f71c+_0x2c6b99;},'MSGRm':function(_0x459c08,_0x4acd84){return _0x459c08-_0x4acd84;},'sACyW':function(_0x59d462,_0x493586,_0x188382,_0x4ce8da,_0x25b8fe){return _0x59d462(_0x493586,_0x188382,_0x4ce8da,_0x25b8fe);},'gejVa':function(_0x30b77e,_0x17ad25){return _0x30b77e/_0x17ad25;},'VZXyZ':function(_0x5b2bc1,_0x163172,_0x1067ba,_0x452e97,_0x1e3833){return _0x5b2bc1(_0x163172,_0x1067ba,_0x452e97,_0x1e3833);},'PgMZv':function(_0x58c5eb,_0x121237){return _0x58c5eb-_0x121237;},'OceXn':function(_0x2d713d,_0x3ddca3){return _0x2d713d+_0x3ddca3;},'DraCl':function(_0x4f4dbe,_0x35e570){return _0x4f4dbe-_0x35e570;},'DyyOE':function(_0x48b78d,_0x26b073){return _0x48b78d-_0x26b073;},'WHDws':function(_0x2e0bb6,_0x4d56df,_0x5efd65,_0x49567d,_0xfbaf66){return _0x2e0bb6(_0x4d56df,_0x5efd65,_0x49567d,_0xfbaf66);},'cXdkW':function(_0x2a2f83,_0xcab897){return _0x2a2f83+_0xcab897;},'ddbMn':function(_0x1702fb,_0x5f568e){return _0x1702fb+_0x5f568e;},'Xspaa':function(_0x331e29,_0x819772){return _0x331e29*_0x819772;},'UOyBz':function(_0xe31096,_0x25dfeb){return _0xe31096-_0x25dfeb;},'paQWC':function(_0x20ec0e,_0x1533ff){return _0x20ec0e+_0x1533ff;}},_0x580168=Math[_0x483634(0xfb)](0x28,_0xb8c289[_0x483634(0xf8)](Number,width)||0x190),_0x188c58=Math[_0x483634(0xfb)](0x28,Number(height)||0x190),_0x5d52ef=_0xb8c289[_0x483634(0x10f)](_0x580168,0x2),_0x48322a=_0xb8c289[_0x483634(0x10f)](_0x188c58,0x2),_0x5347f1=Math[_0x483634(0x19c)](_0x580168,_0x188c58)*0.55,_0x540503=_0x5347f1,_0x4f7a11=_0x5d52ef-_0xb8c289[_0x483634(0x10f)](_0x5347f1,0x2),_0xe0e0a3=_0xb8c289[_0x483634(0x1ea)](_0x48322a,_0xb8c289[_0x483634(0x10f)](_0x540503,0x2)),_0x503ca8=_0x5d52ef+_0xb8c289[_0x483634(0x1fc)](_0x5347f1,0x2),_0x88fc1=_0xb8c289[_0x483634(0x1db)](_0x48322a,_0xb8c289[_0x483634(0xeb)](_0x540503,0x2));if(_0xb8c289[_0x483634(0x211)](_0x177cfb,_0xb8c289[_0x483634(0xe2)]))return{..._0xb8c289[_0x483634(0xf8)](createEmptyPath,{'name':_0xb8c289[_0x483634(0x161)],'fill':fill}),'closed':!![],'points':[_0xb8c289[_0x483634(0x13c)](_0x1d3b91,_0x4f7a11,_0xe0e0a3),_0xb8c289[_0x483634(0x13c)](_0x1d3b91,_0x503ca8,_0xe0e0a3),_0xb8c289[_0x483634(0x13c)](_0x1d3b91,_0x503ca8,_0x88fc1),_0xb8c289[_0x483634(0x168)](_0x1d3b91,_0x4f7a11,_0x88fc1)]};if(_0xb8c289[_0x483634(0x1c4)](_0x177cfb,_0x483634(0x112)))return{...createEmptyPath({'name':_0xb8c289[_0x483634(0x203)],'fill':fill}),'closed':!![],'points':[_0xb8c289[_0x483634(0x13c)](_0x1d3b91,_0x5d52ef,_0xe0e0a3),_0xb8c289[_0x483634(0x19e)](_0x1d3b91,_0x503ca8,_0x88fc1),_0x1d3b91(_0x4f7a11,_0x88fc1)]};if(_0xb8c289[_0x483634(0x211)](_0x177cfb,_0x483634(0x199))){const _0x5bffc6=_0x5347f1/0x2,_0x1c8b1a=_0x540503/0x2,_0x120e97=_0x5bffc6*_0x4815f7,_0x307e27=_0x1c8b1a*_0x4815f7;return{...createEmptyPath({'name':_0xb8c289[_0x483634(0xe9)],'fill':fill}),'closed':!![],'points':[_0xb8c289[_0x483634(0xda)](_0x1d3b91,_0xb8c289[_0x483634(0x204)](_0x5d52ef,_0x5bffc6),_0x48322a,_0xb8c289[_0x483634(0x210)],{'c1x':_0x5d52ef+_0x5bffc6,'c1y':_0xb8c289[_0x483634(0xdc)](_0x48322a,_0x307e27),'c2x':_0xb8c289[_0x483634(0x1da)](_0x5d52ef,_0x5bffc6),'c2y':_0xb8c289[_0x483634(0x1db)](_0x48322a,_0x307e27)}),_0x1d3b91(_0x5d52ef,_0xb8c289[_0x483634(0x200)](_0x48322a,_0x1c8b1a),_0xb8c289[_0x483634(0x210)],{'c1x':_0xb8c289[_0x483634(0x204)](_0x5d52ef,_0x120e97),'c1y':_0x48322a+_0x1c8b1a,'c2x':_0xb8c289[_0x483634(0x133)](_0x5d52ef,_0x120e97),'c2y':_0xb8c289[_0x483634(0x1da)](_0x48322a,_0x1c8b1a)}),_0xb8c289[_0x483634(0x151)](_0x1d3b91,_0xb8c289[_0x483634(0x133)](_0x5d52ef,_0x5bffc6),_0x48322a,_0xb8c289[_0x483634(0x210)],{'c1x':_0xb8c289[_0x483634(0x133)](_0x5d52ef,_0x5bffc6),'c1y':_0xb8c289[_0x483634(0x200)](_0x48322a,_0x307e27),'c2x':_0xb8c289[_0x483634(0x114)](_0x5d52ef,_0x5bffc6),'c2y':_0x48322a-_0x307e27}),_0x1d3b91(_0x5d52ef,_0xb8c289[_0x483634(0x217)](_0x48322a,_0x1c8b1a),_0xb8c289[_0x483634(0x210)],{'c1x':_0xb8c289[_0x483634(0x1ea)](_0x5d52ef,_0x120e97),'c1y':_0xb8c289[_0x483634(0x1a4)](_0x48322a,_0x1c8b1a),'c2x':_0xb8c289[_0x483634(0x1db)](_0x5d52ef,_0x120e97),'c2y':_0xb8c289[_0x483634(0x1ea)](_0x48322a,_0x1c8b1a)})]};}const _0x313fdc=Math[_0x483634(0xfb)](0x1,Math[_0x483634(0x19c)](_0xb8c289[_0x483634(0xf8)](Number,radius)||0x20,_0x5347f1/0x2,_0xb8c289[_0x483634(0x10f)](_0x540503,0x2))),_0x4228e6=_0xb8c289[_0x483634(0x147)](_0x313fdc,_0x4815f7);return{..._0xb8c289[_0x483634(0xf8)](createEmptyPath,{'name':_0xb8c289[_0x483634(0x1c5)],'fill':fill}),'closed':!![],'points':[_0xb8c289[_0x483634(0xda)](_0x1d3b91,_0xb8c289[_0x483634(0xe0)](_0x4f7a11,_0x313fdc),_0xe0e0a3,_0x483634(0xe4),{'c1x':_0xb8c289[_0x483634(0x111)](_0x4f7a11+_0x313fdc,_0x4228e6),'c1y':_0xe0e0a3,'c2x':_0xb8c289[_0x483634(0xe1)](_0x4f7a11+_0x313fdc,_0xb8c289[_0x483634(0x12a)](_0xb8c289[_0x483634(0x17d)](_0xb8c289[_0x483634(0x13b)](_0x503ca8,_0x4f7a11),_0xb8c289[_0x483634(0x147)](0x2,_0x313fdc)),0x3)),'c2y':_0xe0e0a3}),_0xb8c289[_0x483634(0x151)](_0x1d3b91,_0xb8c289[_0x483634(0xdc)](_0x503ca8,_0x313fdc),_0xe0e0a3,_0xb8c289[_0x483634(0x210)],{'c1x':_0xb8c289[_0x483634(0x1ea)](_0x503ca8,_0x313fdc)-_0xb8c289[_0x483634(0x12a)](_0xb8c289[_0x483634(0x133)](_0xb8c289[_0x483634(0x1a4)](_0x503ca8,_0x4f7a11),0x2*_0x313fdc),0x3),'c1y':_0xe0e0a3,'c2x':_0xb8c289[_0x483634(0x10b)](_0x503ca8-_0x313fdc,_0x4228e6),'c2y':_0xe0e0a3}),_0xb8c289[_0x483634(0x164)](_0x1d3b91,_0x503ca8,_0xb8c289[_0x483634(0x1cd)](_0xe0e0a3,_0x313fdc),_0x483634(0xe4),{'c1x':_0x503ca8,'c1y':_0xb8c289[_0x483634(0x1af)](_0xb8c289[_0x483634(0x1f5)](_0xe0e0a3,_0x313fdc),_0x4228e6),'c2x':_0x503ca8,'c2y':_0xb8c289[_0x483634(0x200)](_0xe0e0a3,_0x313fdc)+_0xb8c289[_0x483634(0xd0)](_0xb8c289[_0x483634(0xd0)](_0x88fc1,_0xe0e0a3),0x2*_0x313fdc)/0x3}),_0xb8c289[_0x483634(0xcf)](_0x1d3b91,_0x503ca8,_0xb8c289[_0x483634(0x1ed)](_0x88fc1,_0x313fdc),_0x483634(0xe4),{'c1x':_0x503ca8,'c1y':_0xb8c289[_0x483634(0x1af)](_0xb8c289[_0x483634(0x114)](_0x88fc1,_0x313fdc),_0xb8c289[_0x483634(0x1fc)](_0xb8c289[_0x483634(0xd0)](_0xb8c289[_0x483634(0x149)](_0x88fc1,_0xe0e0a3),_0xb8c289[_0x483634(0x127)](0x2,_0x313fdc)),0x3)),'c2x':_0x503ca8,'c2y':_0xb8c289[_0x483634(0x172)](_0xb8c289[_0x483634(0x13b)](_0x88fc1,_0x313fdc),_0x4228e6)}),_0xb8c289[_0x483634(0x164)](_0x1d3b91,_0x503ca8-_0x313fdc,_0x88fc1,_0xb8c289[_0x483634(0x210)],{'c1x':_0xb8c289[_0x483634(0x142)](_0x503ca8,_0x313fdc)+_0x4228e6,'c1y':_0x88fc1,'c2x':_0xb8c289[_0x483634(0x1a4)](_0xb8c289[_0x483634(0x17d)](_0x503ca8,_0x313fdc),_0xb8c289[_0x483634(0x10f)](_0xb8c289[_0x483634(0xdc)](_0x503ca8,_0x4f7a11)-_0xb8c289[_0x483634(0x147)](0x2,_0x313fdc),0x3)),'c2y':_0x88fc1}),_0xb8c289[_0x483634(0x128)](_0x1d3b91,_0xb8c289[_0x483634(0x172)](_0x4f7a11,_0x313fdc),_0x88fc1,_0x483634(0xe4),{'c1x':_0xb8c289[_0x483634(0x1f5)](_0xb8c289[_0x483634(0x1da)](_0x4f7a11,_0x313fdc),_0xb8c289[_0x483634(0x1fe)](_0x503ca8-_0x4f7a11-0x2*_0x313fdc,0x3)),'c1y':_0x88fc1,'c2x':_0xb8c289[_0x483634(0xe1)](_0x4f7a11,_0x313fdc)-_0x4228e6,'c2y':_0x88fc1}),_0xb8c289[_0x483634(0x1b4)](_0x1d3b91,_0x4f7a11,_0xb8c289[_0x483634(0x22b)](_0x88fc1,_0x313fdc),_0xb8c289[_0x483634(0x210)],{'c1x':_0x4f7a11,'c1y':_0xb8c289[_0x483634(0x1aa)](_0xb8c289[_0x483634(0x1ed)](_0x88fc1,_0x313fdc),_0x4228e6),'c2x':_0x4f7a11,'c2y':_0xb8c289[_0x483634(0x12b)](_0xb8c289[_0x483634(0x142)](_0x88fc1,_0x313fdc),_0xb8c289[_0x483634(0x10f)](_0xb8c289[_0x483634(0x17f)](_0xb8c289[_0x483634(0x133)](_0x88fc1,_0xe0e0a3),0x2*_0x313fdc),0x3))}),_0xb8c289[_0x483634(0x173)](_0x1d3b91,_0x4f7a11,_0xe0e0a3+_0x313fdc,_0xb8c289[_0x483634(0x210)],{'c1x':_0x4f7a11,'c1y':_0xb8c289[_0x483634(0x171)](_0xb8c289[_0x483634(0x20b)](_0xe0e0a3,_0x313fdc),(_0xb8c289[_0x483634(0x111)](_0x88fc1,_0xe0e0a3)-_0xb8c289[_0x483634(0x1ce)](0x2,_0x313fdc))/0x3),'c2x':_0x4f7a11,'c2y':_0xb8c289[_0x483634(0x121)](_0xb8c289[_0x483634(0x184)](_0xe0e0a3,_0x313fdc),_0x4228e6)})]};}export{_0x4f0c03 as LINE_MIN_STROKE_WIDTH,buildSvgMarkup,closestPointOnSegment,createEmptyPath,createShapePath,curveHandlesOnSegment,findNearestPointHit,findNearestSegmentHit,insertCornerPointOnSegment,insertCurvePointOnSegment,listPathSegments,makePointCorner,makePointCurve,nextSvgMakerId,pointsToPathD,previewRoundCorner,resolvePathPaint,roundCornerAt,segmentToPathD,updatePointFields};