robust-predicates 3.0.1 → 3.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/esm/insphere.js +26 -35
- package/esm/orient2d.js +0 -2
- package/esm/orient3d.js +102 -105
- package/esm/util.js +1 -1
- package/package.json +11 -43
- package/umd/incircle.js +3 -5
- package/umd/incircle.min.js +1 -1
- package/umd/insphere.js +29 -40
- package/umd/insphere.min.js +1 -1
- package/umd/orient2d.js +3 -7
- package/umd/orient2d.min.js +1 -1
- package/umd/orient3d.js +105 -110
- package/umd/orient3d.min.js +1 -1
- package/umd/predicates.js +131 -147
- package/umd/predicates.min.js +1 -1
package/umd/predicates.js
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.predicates = {}));
|
|
5
|
-
}(this, (function (exports) { 'use strict';
|
|
5
|
+
})(this, (function (exports) { 'use strict';
|
|
6
6
|
|
|
7
7
|
const epsilon = 1.1102230246251565e-16;
|
|
8
8
|
const splitter = 134217729;
|
|
9
9
|
const resulterrbound = (3 + 8 * epsilon) * epsilon;
|
|
10
10
|
|
|
11
|
-
// fast_expansion_sum_zeroelim routine from
|
|
11
|
+
// fast_expansion_sum_zeroelim routine from original code
|
|
12
12
|
function sum(elen, e, flen, f, h) {
|
|
13
13
|
let Q, Qnew, hh, bvirt;
|
|
14
14
|
let enow = e[0];
|
|
@@ -316,8 +316,6 @@ function orient2d(ax, ay, bx, by, cx, cy) {
|
|
|
316
316
|
const detright = (ax - cx) * (by - cy);
|
|
317
317
|
const det = detleft - detright;
|
|
318
318
|
|
|
319
|
-
if (detleft === 0 || detright === 0 || (detleft > 0) !== (detright > 0)) return det;
|
|
320
|
-
|
|
321
319
|
const detsum = Math.abs(detleft + detright);
|
|
322
320
|
if (Math.abs(det) >= ccwerrboundA * detsum) return det;
|
|
323
321
|
|
|
@@ -348,7 +346,7 @@ const u$1 = vec(4);
|
|
|
348
346
|
|
|
349
347
|
const _8$2 = vec(8);
|
|
350
348
|
const _8b$1 = vec(8);
|
|
351
|
-
const _16$2 = vec(
|
|
349
|
+
const _16$2 = vec(16);
|
|
352
350
|
const _12 = vec(12);
|
|
353
351
|
|
|
354
352
|
let fin$2 = vec(192);
|
|
@@ -367,112 +365,109 @@ function tailinit(xtail, ytail, ax, ay, bx, by, a, b) {
|
|
|
367
365
|
a[0] = 0;
|
|
368
366
|
b[0] = 0;
|
|
369
367
|
return 1;
|
|
370
|
-
} else {
|
|
371
|
-
negate = -ytail;
|
|
372
|
-
s1 = negate * ax;
|
|
373
|
-
c = splitter * negate;
|
|
374
|
-
ahi = c - (c - negate);
|
|
375
|
-
alo = negate - ahi;
|
|
376
|
-
c = splitter * ax;
|
|
377
|
-
bhi = c - (c - ax);
|
|
378
|
-
blo = ax - bhi;
|
|
379
|
-
a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
380
|
-
a[1] = s1;
|
|
381
|
-
s1 = ytail * bx;
|
|
382
|
-
c = splitter * ytail;
|
|
383
|
-
ahi = c - (c - ytail);
|
|
384
|
-
alo = ytail - ahi;
|
|
385
|
-
c = splitter * bx;
|
|
386
|
-
bhi = c - (c - bx);
|
|
387
|
-
blo = bx - bhi;
|
|
388
|
-
b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
389
|
-
b[1] = s1;
|
|
390
|
-
return 2;
|
|
391
|
-
}
|
|
392
|
-
} else {
|
|
393
|
-
if (ytail === 0) {
|
|
394
|
-
s1 = xtail * ay;
|
|
395
|
-
c = splitter * xtail;
|
|
396
|
-
ahi = c - (c - xtail);
|
|
397
|
-
alo = xtail - ahi;
|
|
398
|
-
c = splitter * ay;
|
|
399
|
-
bhi = c - (c - ay);
|
|
400
|
-
blo = ay - bhi;
|
|
401
|
-
a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
402
|
-
a[1] = s1;
|
|
403
|
-
negate = -xtail;
|
|
404
|
-
s1 = negate * by;
|
|
405
|
-
c = splitter * negate;
|
|
406
|
-
ahi = c - (c - negate);
|
|
407
|
-
alo = negate - ahi;
|
|
408
|
-
c = splitter * by;
|
|
409
|
-
bhi = c - (c - by);
|
|
410
|
-
blo = by - bhi;
|
|
411
|
-
b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
412
|
-
b[1] = s1;
|
|
413
|
-
return 2;
|
|
414
|
-
} else {
|
|
415
|
-
s1 = xtail * ay;
|
|
416
|
-
c = splitter * xtail;
|
|
417
|
-
ahi = c - (c - xtail);
|
|
418
|
-
alo = xtail - ahi;
|
|
419
|
-
c = splitter * ay;
|
|
420
|
-
bhi = c - (c - ay);
|
|
421
|
-
blo = ay - bhi;
|
|
422
|
-
s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
423
|
-
t1 = ytail * ax;
|
|
424
|
-
c = splitter * ytail;
|
|
425
|
-
ahi = c - (c - ytail);
|
|
426
|
-
alo = ytail - ahi;
|
|
427
|
-
c = splitter * ax;
|
|
428
|
-
bhi = c - (c - ax);
|
|
429
|
-
blo = ax - bhi;
|
|
430
|
-
t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
431
|
-
_i = s0 - t0;
|
|
432
|
-
bvirt = s0 - _i;
|
|
433
|
-
a[0] = s0 - (_i + bvirt) + (bvirt - t0);
|
|
434
|
-
_j = s1 + _i;
|
|
435
|
-
bvirt = _j - s1;
|
|
436
|
-
_0 = s1 - (_j - bvirt) + (_i - bvirt);
|
|
437
|
-
_i = _0 - t1;
|
|
438
|
-
bvirt = _0 - _i;
|
|
439
|
-
a[1] = _0 - (_i + bvirt) + (bvirt - t1);
|
|
440
|
-
u3 = _j + _i;
|
|
441
|
-
bvirt = u3 - _j;
|
|
442
|
-
a[2] = _j - (u3 - bvirt) + (_i - bvirt);
|
|
443
|
-
a[3] = u3;
|
|
444
|
-
s1 = ytail * bx;
|
|
445
|
-
c = splitter * ytail;
|
|
446
|
-
ahi = c - (c - ytail);
|
|
447
|
-
alo = ytail - ahi;
|
|
448
|
-
c = splitter * bx;
|
|
449
|
-
bhi = c - (c - bx);
|
|
450
|
-
blo = bx - bhi;
|
|
451
|
-
s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
452
|
-
t1 = xtail * by;
|
|
453
|
-
c = splitter * xtail;
|
|
454
|
-
ahi = c - (c - xtail);
|
|
455
|
-
alo = xtail - ahi;
|
|
456
|
-
c = splitter * by;
|
|
457
|
-
bhi = c - (c - by);
|
|
458
|
-
blo = by - bhi;
|
|
459
|
-
t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
460
|
-
_i = s0 - t0;
|
|
461
|
-
bvirt = s0 - _i;
|
|
462
|
-
b[0] = s0 - (_i + bvirt) + (bvirt - t0);
|
|
463
|
-
_j = s1 + _i;
|
|
464
|
-
bvirt = _j - s1;
|
|
465
|
-
_0 = s1 - (_j - bvirt) + (_i - bvirt);
|
|
466
|
-
_i = _0 - t1;
|
|
467
|
-
bvirt = _0 - _i;
|
|
468
|
-
b[1] = _0 - (_i + bvirt) + (bvirt - t1);
|
|
469
|
-
u3 = _j + _i;
|
|
470
|
-
bvirt = u3 - _j;
|
|
471
|
-
b[2] = _j - (u3 - bvirt) + (_i - bvirt);
|
|
472
|
-
b[3] = u3;
|
|
473
|
-
return 4;
|
|
474
368
|
}
|
|
369
|
+
negate = -ytail;
|
|
370
|
+
s1 = negate * ax;
|
|
371
|
+
c = splitter * negate;
|
|
372
|
+
ahi = c - (c - negate);
|
|
373
|
+
alo = negate - ahi;
|
|
374
|
+
c = splitter * ax;
|
|
375
|
+
bhi = c - (c - ax);
|
|
376
|
+
blo = ax - bhi;
|
|
377
|
+
a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
378
|
+
a[1] = s1;
|
|
379
|
+
s1 = ytail * bx;
|
|
380
|
+
c = splitter * ytail;
|
|
381
|
+
ahi = c - (c - ytail);
|
|
382
|
+
alo = ytail - ahi;
|
|
383
|
+
c = splitter * bx;
|
|
384
|
+
bhi = c - (c - bx);
|
|
385
|
+
blo = bx - bhi;
|
|
386
|
+
b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
387
|
+
b[1] = s1;
|
|
388
|
+
return 2;
|
|
475
389
|
}
|
|
390
|
+
if (ytail === 0) {
|
|
391
|
+
s1 = xtail * ay;
|
|
392
|
+
c = splitter * xtail;
|
|
393
|
+
ahi = c - (c - xtail);
|
|
394
|
+
alo = xtail - ahi;
|
|
395
|
+
c = splitter * ay;
|
|
396
|
+
bhi = c - (c - ay);
|
|
397
|
+
blo = ay - bhi;
|
|
398
|
+
a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
399
|
+
a[1] = s1;
|
|
400
|
+
negate = -xtail;
|
|
401
|
+
s1 = negate * by;
|
|
402
|
+
c = splitter * negate;
|
|
403
|
+
ahi = c - (c - negate);
|
|
404
|
+
alo = negate - ahi;
|
|
405
|
+
c = splitter * by;
|
|
406
|
+
bhi = c - (c - by);
|
|
407
|
+
blo = by - bhi;
|
|
408
|
+
b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
409
|
+
b[1] = s1;
|
|
410
|
+
return 2;
|
|
411
|
+
}
|
|
412
|
+
s1 = xtail * ay;
|
|
413
|
+
c = splitter * xtail;
|
|
414
|
+
ahi = c - (c - xtail);
|
|
415
|
+
alo = xtail - ahi;
|
|
416
|
+
c = splitter * ay;
|
|
417
|
+
bhi = c - (c - ay);
|
|
418
|
+
blo = ay - bhi;
|
|
419
|
+
s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
420
|
+
t1 = ytail * ax;
|
|
421
|
+
c = splitter * ytail;
|
|
422
|
+
ahi = c - (c - ytail);
|
|
423
|
+
alo = ytail - ahi;
|
|
424
|
+
c = splitter * ax;
|
|
425
|
+
bhi = c - (c - ax);
|
|
426
|
+
blo = ax - bhi;
|
|
427
|
+
t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
428
|
+
_i = s0 - t0;
|
|
429
|
+
bvirt = s0 - _i;
|
|
430
|
+
a[0] = s0 - (_i + bvirt) + (bvirt - t0);
|
|
431
|
+
_j = s1 + _i;
|
|
432
|
+
bvirt = _j - s1;
|
|
433
|
+
_0 = s1 - (_j - bvirt) + (_i - bvirt);
|
|
434
|
+
_i = _0 - t1;
|
|
435
|
+
bvirt = _0 - _i;
|
|
436
|
+
a[1] = _0 - (_i + bvirt) + (bvirt - t1);
|
|
437
|
+
u3 = _j + _i;
|
|
438
|
+
bvirt = u3 - _j;
|
|
439
|
+
a[2] = _j - (u3 - bvirt) + (_i - bvirt);
|
|
440
|
+
a[3] = u3;
|
|
441
|
+
s1 = ytail * bx;
|
|
442
|
+
c = splitter * ytail;
|
|
443
|
+
ahi = c - (c - ytail);
|
|
444
|
+
alo = ytail - ahi;
|
|
445
|
+
c = splitter * bx;
|
|
446
|
+
bhi = c - (c - bx);
|
|
447
|
+
blo = bx - bhi;
|
|
448
|
+
s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
449
|
+
t1 = xtail * by;
|
|
450
|
+
c = splitter * xtail;
|
|
451
|
+
ahi = c - (c - xtail);
|
|
452
|
+
alo = xtail - ahi;
|
|
453
|
+
c = splitter * by;
|
|
454
|
+
bhi = c - (c - by);
|
|
455
|
+
blo = by - bhi;
|
|
456
|
+
t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo);
|
|
457
|
+
_i = s0 - t0;
|
|
458
|
+
bvirt = s0 - _i;
|
|
459
|
+
b[0] = s0 - (_i + bvirt) + (bvirt - t0);
|
|
460
|
+
_j = s1 + _i;
|
|
461
|
+
bvirt = _j - s1;
|
|
462
|
+
_0 = s1 - (_j - bvirt) + (_i - bvirt);
|
|
463
|
+
_i = _0 - t1;
|
|
464
|
+
bvirt = _0 - _i;
|
|
465
|
+
b[1] = _0 - (_i + bvirt) + (bvirt - t1);
|
|
466
|
+
u3 = _j + _i;
|
|
467
|
+
bvirt = u3 - _j;
|
|
468
|
+
b[2] = _j - (u3 - bvirt) + (_i - bvirt);
|
|
469
|
+
b[3] = u3;
|
|
470
|
+
return 4;
|
|
476
471
|
}
|
|
477
472
|
|
|
478
473
|
function tailadd(finlen, a, b, k, z) {
|
|
@@ -2252,39 +2247,30 @@ function insphere(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) {
|
|
|
2252
2247
|
const dexbey = dex * bey;
|
|
2253
2248
|
const bd = bexdey - dexbey;
|
|
2254
2249
|
|
|
2255
|
-
const abc = aez * bc - bez * ac + cez * ab;
|
|
2256
|
-
const bcd = bez * cd - cez * bd + dez * bc;
|
|
2257
|
-
const cda = cez * da + dez * ac + aez * cd;
|
|
2258
|
-
const dab = dez * ab + aez * bd + bez * da;
|
|
2259
|
-
|
|
2260
2250
|
const alift = aex * aex + aey * aey + aez * aez;
|
|
2261
2251
|
const blift = bex * bex + bey * bey + bez * bez;
|
|
2262
2252
|
const clift = cex * cex + cey * cey + cez * cez;
|
|
2263
2253
|
const dlift = dex * dex + dey * dey + dez * dez;
|
|
2264
2254
|
|
|
2265
|
-
const det =
|
|
2255
|
+
const det =
|
|
2256
|
+
(clift * (dez * ab + aez * bd + bez * da) - dlift * (aez * bc - bez * ac + cez * ab)) +
|
|
2257
|
+
(alift * (bez * cd - cez * bd + dez * bc) - blift * (cez * da + dez * ac + aez * cd));
|
|
2266
2258
|
|
|
2267
2259
|
const aezplus = Math.abs(aez);
|
|
2268
2260
|
const bezplus = Math.abs(bez);
|
|
2269
2261
|
const cezplus = Math.abs(cez);
|
|
2270
2262
|
const dezplus = Math.abs(dez);
|
|
2271
|
-
const aexbeyplus = Math.abs(aexbey);
|
|
2272
|
-
const
|
|
2273
|
-
const
|
|
2274
|
-
const
|
|
2275
|
-
const
|
|
2276
|
-
const
|
|
2277
|
-
const dexaeyplus = Math.abs(dexaey);
|
|
2278
|
-
const aexdeyplus = Math.abs(aexdey);
|
|
2279
|
-
const aexceyplus = Math.abs(aexcey);
|
|
2280
|
-
const cexaeyplus = Math.abs(cexaey);
|
|
2281
|
-
const bexdeyplus = Math.abs(bexdey);
|
|
2282
|
-
const dexbeyplus = Math.abs(dexbey);
|
|
2263
|
+
const aexbeyplus = Math.abs(aexbey) + Math.abs(bexaey);
|
|
2264
|
+
const bexceyplus = Math.abs(bexcey) + Math.abs(cexbey);
|
|
2265
|
+
const cexdeyplus = Math.abs(cexdey) + Math.abs(dexcey);
|
|
2266
|
+
const dexaeyplus = Math.abs(dexaey) + Math.abs(aexdey);
|
|
2267
|
+
const aexceyplus = Math.abs(aexcey) + Math.abs(cexaey);
|
|
2268
|
+
const bexdeyplus = Math.abs(bexdey) + Math.abs(dexbey);
|
|
2283
2269
|
const permanent =
|
|
2284
|
-
(
|
|
2285
|
-
(
|
|
2286
|
-
(
|
|
2287
|
-
(
|
|
2270
|
+
(cexdeyplus * bezplus + bexdeyplus * cezplus + bexceyplus * dezplus) * alift +
|
|
2271
|
+
(dexaeyplus * cezplus + aexceyplus * dezplus + cexdeyplus * aezplus) * blift +
|
|
2272
|
+
(aexbeyplus * dezplus + bexdeyplus * aezplus + dexaeyplus * bezplus) * clift +
|
|
2273
|
+
(bexceyplus * aezplus + aexceyplus * bezplus + aexbeyplus * cezplus) * dlift;
|
|
2288
2274
|
|
|
2289
2275
|
const errbound = isperrboundA * permanent;
|
|
2290
2276
|
if (det > errbound || -det > errbound) {
|
|
@@ -2293,19 +2279,19 @@ function insphere(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) {
|
|
|
2293
2279
|
return -insphereadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez, permanent);
|
|
2294
2280
|
}
|
|
2295
2281
|
|
|
2296
|
-
function inspherefast(
|
|
2297
|
-
const aex =
|
|
2298
|
-
const bex =
|
|
2299
|
-
const cex =
|
|
2300
|
-
const dex =
|
|
2301
|
-
const aey =
|
|
2302
|
-
const bey =
|
|
2303
|
-
const cey =
|
|
2304
|
-
const dey =
|
|
2305
|
-
const aez =
|
|
2306
|
-
const bez =
|
|
2307
|
-
const cez =
|
|
2308
|
-
const dez =
|
|
2282
|
+
function inspherefast(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) {
|
|
2283
|
+
const aex = ax - ex;
|
|
2284
|
+
const bex = bx - ex;
|
|
2285
|
+
const cex = cx - ex;
|
|
2286
|
+
const dex = dx - ex;
|
|
2287
|
+
const aey = ay - ey;
|
|
2288
|
+
const bey = by - ey;
|
|
2289
|
+
const cey = cy - ey;
|
|
2290
|
+
const dey = dy - ey;
|
|
2291
|
+
const aez = az - ez;
|
|
2292
|
+
const bez = bz - ez;
|
|
2293
|
+
const cez = cz - ez;
|
|
2294
|
+
const dez = dz - ez;
|
|
2309
2295
|
|
|
2310
2296
|
const ab = aex * bey - bex * aey;
|
|
2311
2297
|
const bc = bex * cey - cex * bey;
|
|
@@ -2336,6 +2322,4 @@ exports.orient2dfast = orient2dfast;
|
|
|
2336
2322
|
exports.orient3d = orient3d;
|
|
2337
2323
|
exports.orient3dfast = orient3dfast;
|
|
2338
2324
|
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
})));
|
|
2325
|
+
}));
|
package/umd/predicates.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).predicates={})}(this,(function(t){"use strict";const n=11102230246251565e-32,e=134217729,r=(3+8*n)*n;function s(t,n,e,r,s){let o,a,c,u,f=n[0],i=r[0],h=0,b=0;i>f==i>-f?(o=f,f=n[++h]):(o=i,i=r[++b]);let M=0;if(h<t&&b<e)for(i>f==i>-f?(a=f+o,c=o-(a-f),f=n[++h]):(a=i+o,c=o-(a-i),i=r[++b]),o=a,0!==c&&(s[M++]=c);h<t&&b<e;)i>f==i>-f?(a=o+f,u=a-o,c=o-(a-u)+(f-u),f=n[++h]):(a=o+i,u=a-o,c=o-(a-u)+(i-u),i=r[++b]),o=a,0!==c&&(s[M++]=c);for(;h<t;)a=o+f,u=a-o,c=o-(a-u)+(f-u),f=n[++h],o=a,0!==c&&(s[M++]=c);for(;b<e;)a=o+i,u=a-o,c=o-(a-u)+(i-u),i=r[++b],o=a,0!==c&&(s[M++]=c);return 0===o&&0!==M||(s[M++]=o),M}function o(t,n,e,r,o,a,c,u){return s(s(t,n,e,r,c),c,o,a,u)}function a(t,n,r,s){let o,a,c,u,f,i,h,b,M,l,d;h=e*r,l=h-(h-r),d=r-l;let p=n[0];o=p*r,h=e*p,b=h-(h-p),M=p-b,c=M*d-(o-b*l-M*l-b*d);let y=0;0!==c&&(s[y++]=c);for(let x=1;x<t;x++)p=n[x],u=p*r,h=e*p,b=h-(h-p),M=p-b,f=M*d-(u-b*l-M*l-b*d),a=o+f,i=a-o,c=o-(a-i)+(f-i),0!==c&&(s[y++]=c),o=u+a,c=a-(o-u),0!==c&&(s[y++]=c);return 0===o&&0!==y||(s[y++]=o),y}function c(t,n){for(let e=0;e<t;e++)n[e]=-n[e];return t}function u(t,n){let e=n[0];for(let r=1;r<t;r++)e+=n[r];return e}function f(t){return new Float64Array(t)}const i=f(4),h=f(8),b=f(12),M=f(16),l=f(4);const d=f(4),p=f(4),y=f(4),x=f(4),g=f(4),j=f(4),m=f(4),T=f(4),_=f(4),v=f(8),w=f(8),A=f(8),F=f(4),O=f(8),P=f(8),k=f(8),q=f(12);let z=f(192),B=f(192);function C(t,n,e){t=s(t,z,n,e,B);const r=z;return z=B,B=r,t}function D(t,n,r,s,o,a,c,u){let f,i,h,b,M,l,d,p,y,x,g,j,m,T,_;return 0===t?0===n?(c[0]=0,u[0]=0,1):(_=-n,x=_*r,i=e*_,h=i-(i-_),b=_-h,i=e*r,M=i-(i-r),l=r-M,c[0]=b*l-(x-h*M-b*M-h*l),c[1]=x,x=n*o,i=e*n,h=i-(i-n),b=n-h,i=e*o,M=i-(i-o),l=o-M,u[0]=b*l-(x-h*M-b*M-h*l),u[1]=x,2):0===n?(x=t*s,i=e*t,h=i-(i-t),b=t-h,i=e*s,M=i-(i-s),l=s-M,c[0]=b*l-(x-h*M-b*M-h*l),c[1]=x,_=-t,x=_*a,i=e*_,h=i-(i-_),b=_-h,i=e*a,M=i-(i-a),l=a-M,u[0]=b*l-(x-h*M-b*M-h*l),u[1]=x,2):(x=t*s,i=e*t,h=i-(i-t),b=t-h,i=e*s,M=i-(i-s),l=s-M,g=b*l-(x-h*M-b*M-h*l),j=n*r,i=e*n,h=i-(i-n),b=n-h,i=e*r,M=i-(i-r),l=r-M,m=b*l-(j-h*M-b*M-h*l),d=g-m,f=g-d,c[0]=g-(d+f)+(f-m),p=x+d,f=p-x,y=x-(p-f)+(d-f),d=y-j,f=y-d,c[1]=y-(d+f)+(f-j),T=p+d,f=T-p,c[2]=p-(T-f)+(d-f),c[3]=T,x=n*o,i=e*n,h=i-(i-n),b=n-h,i=e*o,M=i-(i-o),l=o-M,g=b*l-(x-h*M-b*M-h*l),j=t*a,i=e*t,h=i-(i-t),b=t-h,i=e*a,M=i-(i-a),l=a-M,m=b*l-(j-h*M-b*M-h*l),d=g-m,f=g-d,u[0]=g-(d+f)+(f-m),p=x+d,f=p-x,y=x-(p-f)+(d-f),d=y-j,f=y-d,u[1]=y-(d+f)+(f-j),T=p+d,f=T-p,u[2]=p-(T-f)+(d-f),u[3]=T,4)}function E(t,n,r,s,o){let a,c,u,f,i,h,b,M,l,d,p,y,x;return p=n*r,c=e*n,u=c-(c-n),f=n-u,c=e*r,i=c-(c-r),h=r-i,y=f*h-(p-u*i-f*i-u*h),c=e*s,i=c-(c-s),h=s-i,b=y*s,c=e*y,u=c-(c-y),f=y-u,F[0]=f*h-(b-u*i-f*i-u*h),M=p*s,c=e*p,u=c-(c-p),f=p-u,d=f*h-(M-u*i-f*i-u*h),l=b+d,a=l-b,F[1]=b-(l-a)+(d-a),x=M+l,F[2]=l-(x-M),F[3]=x,t=C(t,4,F),0!==o&&(c=e*o,i=c-(c-o),h=o-i,b=y*o,c=e*y,u=c-(c-y),f=y-u,F[0]=f*h-(b-u*i-f*i-u*h),M=p*o,c=e*p,u=c-(c-p),f=p-u,d=f*h-(M-u*i-f*i-u*h),l=b+d,a=l-b,F[1]=b-(l-a)+(d-a),x=M+l,F[2]=l-(x-M),F[3]=x,t=C(t,4,F)),t}const G=f(4),H=f(4),I=f(4),J=f(4),K=f(4),L=f(4),N=f(4),Q=f(4),R=f(8),S=f(8),U=f(8),V=f(8),W=f(8),X=f(8),Y=f(8),Z=f(8),$=f(8),tt=f(4),nt=f(4),et=f(4),rt=f(8),st=f(16),ot=f(16),at=f(16),ct=f(32),ut=f(32),ft=f(48),it=f(64);let ht=f(1152),bt=f(1152);function Mt(t,n,e){t=s(t,ht,n,e,bt);const r=ht;return ht=bt,bt=r,t}const lt=f(4),dt=f(4),pt=f(4),yt=f(4),xt=f(4),gt=f(4),jt=f(4),mt=f(4),Tt=f(4),_t=f(4),vt=f(24),wt=f(24),At=f(24),Ft=f(24),Ot=f(24),Pt=f(24),kt=f(24),qt=f(24),zt=f(24),Bt=f(24),Ct=f(1152),Dt=f(1152),Et=f(1152),Gt=f(1152),Ht=f(1152),It=f(2304),Jt=f(2304),Kt=f(3456),Lt=f(5760),Nt=f(8),Qt=f(8),Rt=f(8),St=f(16),Ut=f(24),Vt=f(48),Wt=f(48),Xt=f(96),Yt=f(192),Zt=f(384),$t=f(384),tn=f(384),nn=f(768);function en(t,n,e,r,s,c,u){return o(a(4,t,r,Nt),Nt,a(4,n,s,Qt),Qt,a(4,e,c,Rt),Rt,St,u)}function rn(t,n,e,r,u,f,i,h,b,M,l,d){const p=s(s(t,n,e,r,Vt),Vt,c(s(u,f,i,h,Wt),Wt),Wt,Xt);return o(a(a(p,Xt,b,Yt),Yt,b,Zt),Zt,a(a(p,Xt,M,Yt),Yt,M,$t),$t,a(a(p,Xt,l,Yt),Yt,l,tn),tn,nn,d)}const sn=f(96),on=f(96),an=f(96),cn=f(1152);function un(t,n,e,r,s,c,u,f,i,h){const b=en(t,n,e,r,s,c,Ut);return o(a(a(b,Ut,u,Vt),Vt,u,sn),sn,a(a(b,Ut,f,Vt),Vt,f,on),on,a(a(b,Ut,i,Vt),Vt,i,an),an,Yt,h)}function fn(t,n,a,f,i,h,b,M,l,d,p,y,x,g,j,m){let T,_,v,w,A,F,O,P,k,q,z,B,C,D,E,G,H,I,J,K,L,N,Q,R,S,U,V,W,X,Y,Z;const $=t-x,tt=f-x,nt=b-x,et=d-x,rt=n-g,st=i-g,ot=M-g,at=p-g,ct=a-j,ut=h-j,ft=l-j,it=y-j;W=$*st,K=e*$,L=K-(K-$),N=$-L,K=e*st,Q=K-(K-st),R=st-Q,X=N*R-(W-L*Q-N*Q-L*R),Y=tt*rt,K=e*tt,L=K-(K-tt),N=tt-L,K=e*rt,Q=K-(K-rt),R=rt-Q,Z=N*R-(Y-L*Q-N*Q-L*R),S=X-Z,J=X-S,lt[0]=X-(S+J)+(J-Z),U=W+S,J=U-W,V=W-(U-J)+(S-J),S=V-Y,J=V-S,lt[1]=V-(S+J)+(J-Y),T=U+S,J=T-U,lt[2]=U-(T-J)+(S-J),lt[3]=T,W=tt*ot,K=e*tt,L=K-(K-tt),N=tt-L,K=e*ot,Q=K-(K-ot),R=ot-Q,X=N*R-(W-L*Q-N*Q-L*R),Y=nt*st,K=e*nt,L=K-(K-nt),N=nt-L,K=e*st,Q=K-(K-st),R=st-Q,Z=N*R-(Y-L*Q-N*Q-L*R),S=X-Z,J=X-S,dt[0]=X-(S+J)+(J-Z),U=W+S,J=U-W,V=W-(U-J)+(S-J),S=V-Y,J=V-S,dt[1]=V-(S+J)+(J-Y),_=U+S,J=_-U,dt[2]=U-(_-J)+(S-J),dt[3]=_,W=nt*at,K=e*nt,L=K-(K-nt),N=nt-L,K=e*at,Q=K-(K-at),R=at-Q,X=N*R-(W-L*Q-N*Q-L*R),Y=et*ot,K=e*et,L=K-(K-et),N=et-L,K=e*ot,Q=K-(K-ot),R=ot-Q,Z=N*R-(Y-L*Q-N*Q-L*R),S=X-Z,J=X-S,pt[0]=X-(S+J)+(J-Z),U=W+S,J=U-W,V=W-(U-J)+(S-J),S=V-Y,J=V-S,pt[1]=V-(S+J)+(J-Y),v=U+S,J=v-U,pt[2]=U-(v-J)+(S-J),pt[3]=v,W=et*rt,K=e*et,L=K-(K-et),N=et-L,K=e*rt,Q=K-(K-rt),R=rt-Q,X=N*R-(W-L*Q-N*Q-L*R),Y=$*at,K=e*$,L=K-(K-$),N=$-L,K=e*at,Q=K-(K-at),R=at-Q,Z=N*R-(Y-L*Q-N*Q-L*R),S=X-Z,J=X-S,Tt[0]=X-(S+J)+(J-Z),U=W+S,J=U-W,V=W-(U-J)+(S-J),S=V-Y,J=V-S,Tt[1]=V-(S+J)+(J-Y),w=U+S,J=w-U,Tt[2]=U-(w-J)+(S-J),Tt[3]=w,W=$*ot,K=e*$,L=K-(K-$),N=$-L,K=e*ot,Q=K-(K-ot),R=ot-Q,X=N*R-(W-L*Q-N*Q-L*R),Y=nt*rt,K=e*nt,L=K-(K-nt),N=nt-L,K=e*rt,Q=K-(K-rt),R=rt-Q,Z=N*R-(Y-L*Q-N*Q-L*R),S=X-Z,J=X-S,gt[0]=X-(S+J)+(J-Z),U=W+S,J=U-W,V=W-(U-J)+(S-J),S=V-Y,J=V-S,gt[1]=V-(S+J)+(J-Y),A=U+S,J=A-U,gt[2]=U-(A-J)+(S-J),gt[3]=A,W=tt*at,K=e*tt,L=K-(K-tt),N=tt-L,K=e*at,Q=K-(K-at),R=at-Q,X=N*R-(W-L*Q-N*Q-L*R),Y=et*st,K=e*et,L=K-(K-et),N=et-L,K=e*st,Q=K-(K-st),R=st-Q,Z=N*R-(Y-L*Q-N*Q-L*R),S=X-Z,J=X-S,jt[0]=X-(S+J)+(J-Z),U=W+S,J=U-W,V=W-(U-J)+(S-J),S=V-Y,J=V-S,jt[1]=V-(S+J)+(J-Y),F=U+S,J=F-U,jt[2]=U-(F-J)+(S-J),jt[3]=F;let ht=u(s(s(c(un(dt,pt,jt,it,ut,-ft,$,rt,ct,Ct),Ct),Ct,un(pt,Tt,gt,ct,ft,it,tt,st,ut,Dt),Dt,It),It,s(c(un(Tt,lt,jt,ut,it,ct,nt,ot,ft,Et),Et),Et,un(lt,dt,gt,ft,ct,-ut,et,at,it,Gt),Gt,Jt),Jt,cn),cn),bt=5551115123125792e-31*m;if(ht>=bt||-ht>=bt)return ht;if(J=t-$,O=t-($+J)+(J-x),J=n-rt,z=n-(rt+J)+(J-g),J=a-ct,E=a-(ct+J)+(J-j),J=f-tt,P=f-(tt+J)+(J-x),J=i-st,B=i-(st+J)+(J-g),J=h-ut,G=h-(ut+J)+(J-j),J=b-nt,k=b-(nt+J)+(J-x),J=M-ot,C=M-(ot+J)+(J-g),J=l-ft,H=l-(ft+J)+(J-j),J=d-et,q=d-(et+J)+(J-x),J=p-at,D=p-(at+J)+(J-g),J=y-it,I=y-(it+J)+(J-j),0===O&&0===z&&0===E&&0===P&&0===B&&0===G&&0===k&&0===C&&0===H&&0===q&&0===D&&0===I)return ht;bt=8751425667295619e-46*m+r*Math.abs(ht);const Mt=$*B+st*O-(rt*P+tt*z),Nt=tt*C+ot*P-(st*k+nt*B),Qt=nt*D+at*k-(ot*q+et*C),Rt=et*z+rt*q-(at*O+$*D),St=$*C+ot*O-(rt*k+nt*z),Ut=tt*D+at*P-(st*q+et*B);return ht+=(tt*tt+st*st+ut*ut)*(ft*Rt+it*St+ct*Qt+(H*w+I*A+E*v))+(et*et+at*at+it*it)*(ct*Nt-ut*St+ft*Mt+(E*_-G*A+H*T))-(($*$+rt*rt+ct*ct)*(ut*Qt-ft*Ut+it*Nt+(G*v-H*F+I*_))+(nt*nt+ot*ot+ft*ft)*(it*Mt+ct*Ut+ut*Rt+(I*T+E*F+G*w)))+2*((tt*P+st*B+ut*G)*(ft*w+it*A+ct*v)+(et*q+at*D+it*I)*(ct*_-ut*A+ft*T)-(($*O+rt*z+ct*E)*(ut*v-ft*F+it*_)+(nt*k+ot*C+ft*H)*(it*T+ct*F+ut*w))),ht>=bt||-ht>=bt?ht:function(t,n,r,s,a,c,u,f,i,h,b,M,l,d,p){let y,x,g,j,m,T,_,v,w,A,F,O,P,k;A=t*a,x=e*t,g=x-(x-t),j=t-g,x=e*a,m=x-(x-a),T=a-m,F=j*T-(A-g*m-j*m-g*T),O=s*n,x=e*s,g=x-(x-s),j=s-g,x=e*n,m=x-(x-n),T=n-m,P=j*T-(O-g*m-j*m-g*T),_=F-P,y=F-_,lt[0]=F-(_+y)+(y-P),v=A+_,y=v-A,w=A-(v-y)+(_-y),_=w-O,y=w-_,lt[1]=w-(_+y)+(y-O),k=v+_,y=k-v,lt[2]=v-(k-y)+(_-y),lt[3]=k,A=s*f,x=e*s,g=x-(x-s),j=s-g,x=e*f,m=x-(x-f),T=f-m,F=j*T-(A-g*m-j*m-g*T),O=u*a,x=e*u,g=x-(x-u),j=u-g,x=e*a,m=x-(x-a),T=a-m,P=j*T-(O-g*m-j*m-g*T),_=F-P,y=F-_,dt[0]=F-(_+y)+(y-P),v=A+_,y=v-A,w=A-(v-y)+(_-y),_=w-O,y=w-_,dt[1]=w-(_+y)+(y-O),k=v+_,y=k-v,dt[2]=v-(k-y)+(_-y),dt[3]=k,A=u*b,x=e*u,g=x-(x-u),j=u-g,x=e*b,m=x-(x-b),T=b-m,F=j*T-(A-g*m-j*m-g*T),O=h*f,x=e*h,g=x-(x-h),j=h-g,x=e*f,m=x-(x-f),T=f-m,P=j*T-(O-g*m-j*m-g*T),_=F-P,y=F-_,pt[0]=F-(_+y)+(y-P),v=A+_,y=v-A,w=A-(v-y)+(_-y),_=w-O,y=w-_,pt[1]=w-(_+y)+(y-O),k=v+_,y=k-v,pt[2]=v-(k-y)+(_-y),pt[3]=k,A=h*d,x=e*h,g=x-(x-h),j=h-g,x=e*d,m=x-(x-d),T=d-m,F=j*T-(A-g*m-j*m-g*T),O=l*b,x=e*l,g=x-(x-l),j=l-g,x=e*b,m=x-(x-b),T=b-m,P=j*T-(O-g*m-j*m-g*T),_=F-P,y=F-_,yt[0]=F-(_+y)+(y-P),v=A+_,y=v-A,w=A-(v-y)+(_-y),_=w-O,y=w-_,yt[1]=w-(_+y)+(y-O),k=v+_,y=k-v,yt[2]=v-(k-y)+(_-y),yt[3]=k,A=l*n,x=e*l,g=x-(x-l),j=l-g,x=e*n,m=x-(x-n),T=n-m,F=j*T-(A-g*m-j*m-g*T),O=t*d,x=e*t,g=x-(x-t),j=t-g,x=e*d,m=x-(x-d),T=d-m,P=j*T-(O-g*m-j*m-g*T),_=F-P,y=F-_,xt[0]=F-(_+y)+(y-P),v=A+_,y=v-A,w=A-(v-y)+(_-y),_=w-O,y=w-_,xt[1]=w-(_+y)+(y-O),k=v+_,y=k-v,xt[2]=v-(k-y)+(_-y),xt[3]=k,A=t*f,x=e*t,g=x-(x-t),j=t-g,x=e*f,m=x-(x-f),T=f-m,F=j*T-(A-g*m-j*m-g*T),O=u*n,x=e*u,g=x-(x-u),j=u-g,x=e*n,m=x-(x-n),T=n-m,P=j*T-(O-g*m-j*m-g*T),_=F-P,y=F-_,gt[0]=F-(_+y)+(y-P),v=A+_,y=v-A,w=A-(v-y)+(_-y),_=w-O,y=w-_,gt[1]=w-(_+y)+(y-O),k=v+_,y=k-v,gt[2]=v-(k-y)+(_-y),gt[3]=k,A=s*b,x=e*s,g=x-(x-s),j=s-g,x=e*b,m=x-(x-b),T=b-m,F=j*T-(A-g*m-j*m-g*T),O=h*a,x=e*h,g=x-(x-h),j=h-g,x=e*a,m=x-(x-a),T=a-m,P=j*T-(O-g*m-j*m-g*T),_=F-P,y=F-_,jt[0]=F-(_+y)+(y-P),v=A+_,y=v-A,w=A-(v-y)+(_-y),_=w-O,y=w-_,jt[1]=w-(_+y)+(y-O),k=v+_,y=k-v,jt[2]=v-(k-y)+(_-y),jt[3]=k,A=u*d,x=e*u,g=x-(x-u),j=u-g,x=e*d,m=x-(x-d),T=d-m,F=j*T-(A-g*m-j*m-g*T),O=l*f,x=e*l,g=x-(x-l),j=l-g,x=e*f,m=x-(x-f),T=f-m,P=j*T-(O-g*m-j*m-g*T),_=F-P,y=F-_,mt[0]=F-(_+y)+(y-P),v=A+_,y=v-A,w=A-(v-y)+(_-y),_=w-O,y=w-_,mt[1]=w-(_+y)+(y-O),k=v+_,y=k-v,mt[2]=v-(k-y)+(_-y),mt[3]=k,A=h*n,x=e*h,g=x-(x-h),j=h-g,x=e*n,m=x-(x-n),T=n-m,F=j*T-(A-g*m-j*m-g*T),O=t*b,x=e*t,g=x-(x-t),j=t-g,x=e*b,m=x-(x-b),T=b-m,P=j*T-(O-g*m-j*m-g*T),_=F-P,y=F-_,Tt[0]=F-(_+y)+(y-P),v=A+_,y=v-A,w=A-(v-y)+(_-y),_=w-O,y=w-_,Tt[1]=w-(_+y)+(y-O),k=v+_,y=k-v,Tt[2]=v-(k-y)+(_-y),Tt[3]=k,A=l*a,x=e*l,g=x-(x-l),j=l-g,x=e*a,m=x-(x-a),T=a-m,F=j*T-(A-g*m-j*m-g*T),O=s*d,x=e*s,g=x-(x-s),j=s-g,x=e*d,m=x-(x-d),T=d-m,P=j*T-(O-g*m-j*m-g*T),_=F-P,y=F-_,_t[0]=F-(_+y)+(y-P),v=A+_,y=v-A,w=A-(v-y)+(_-y),_=w-O,y=w-_,_t[1]=w-(_+y)+(y-O),k=v+_,y=k-v,_t[2]=v-(k-y)+(_-y),_t[3]=k;const q=en(lt,dt,gt,i,r,-c,vt),z=en(dt,pt,jt,M,c,-i,wt),B=en(pt,yt,mt,p,i,-M,At),C=en(yt,xt,Tt,r,M,-p,Ft),D=en(xt,lt,_t,c,p,-r,Ot),E=en(lt,jt,Tt,M,r,c,Pt),G=en(dt,mt,_t,p,c,i,kt),H=en(pt,Tt,gt,r,i,M,qt),I=en(yt,_t,jt,c,M,p,zt),J=en(xt,gt,mt,i,p,r,Bt),K=o(rn(B,At,G,kt,I,zt,z,wt,t,n,r,Ct),Ct,rn(C,Ft,H,qt,J,Bt,B,At,s,a,c,Dt),Dt,o(rn(D,Ot,I,zt,E,Pt,C,Ft,u,f,i,Et),Et,rn(q,vt,J,Bt,G,kt,D,Ot,h,b,M,Gt),Gt,rn(z,wt,E,Pt,H,qt,q,vt,l,d,p,Ht),Ht,Jt,Kt),Kt,It,Lt);return Lt[K-1]}(t,n,a,f,i,h,b,M,l,d,p,y,x,g,j)}t.incircle=function(t,n,c,f,i,h,b,M){const l=t-b,d=c-b,p=i-b,y=n-M,x=f-M,g=h-M,j=d*g,m=p*x,T=l*l+y*y,_=p*y,v=l*g,w=d*d+x*x,A=l*x,F=d*y,O=p*p+g*g,P=T*(j-m)+w*(_-v)+O*(A-F),k=(Math.abs(j)+Math.abs(m))*T+(Math.abs(_)+Math.abs(v))*w+(Math.abs(A)+Math.abs(F))*O,q=11102230246251577e-31*k;return P>q||-P>q?P:function(t,n,c,f,i,h,b,M,l){let d,p,y,x,g,j,m,T,_,v,w,A,F,O,P,k,q,z,B,C,D,E,bt,lt,dt,pt,yt,xt,gt,jt,mt,Tt,_t,vt,wt;const At=t-b,Ft=c-b,Ot=i-b,Pt=n-M,kt=f-M,qt=h-M;mt=Ft*qt,bt=e*Ft,lt=bt-(bt-Ft),dt=Ft-lt,bt=e*qt,pt=bt-(bt-qt),yt=qt-pt,Tt=dt*yt-(mt-lt*pt-dt*pt-lt*yt),_t=Ot*kt,bt=e*Ot,lt=bt-(bt-Ot),dt=Ot-lt,bt=e*kt,pt=bt-(bt-kt),yt=kt-pt,vt=dt*yt-(_t-lt*pt-dt*pt-lt*yt),xt=Tt-vt,E=Tt-xt,G[0]=Tt-(xt+E)+(E-vt),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt-_t,E=jt-xt,G[1]=jt-(xt+E)+(E-_t),wt=gt+xt,E=wt-gt,G[2]=gt-(wt-E)+(xt-E),G[3]=wt,mt=Ot*Pt,bt=e*Ot,lt=bt-(bt-Ot),dt=Ot-lt,bt=e*Pt,pt=bt-(bt-Pt),yt=Pt-pt,Tt=dt*yt-(mt-lt*pt-dt*pt-lt*yt),_t=At*qt,bt=e*At,lt=bt-(bt-At),dt=At-lt,bt=e*qt,pt=bt-(bt-qt),yt=qt-pt,vt=dt*yt-(_t-lt*pt-dt*pt-lt*yt),xt=Tt-vt,E=Tt-xt,H[0]=Tt-(xt+E)+(E-vt),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt-_t,E=jt-xt,H[1]=jt-(xt+E)+(E-_t),wt=gt+xt,E=wt-gt,H[2]=gt-(wt-E)+(xt-E),H[3]=wt,mt=At*kt,bt=e*At,lt=bt-(bt-At),dt=At-lt,bt=e*kt,pt=bt-(bt-kt),yt=kt-pt,Tt=dt*yt-(mt-lt*pt-dt*pt-lt*yt),_t=Ft*Pt,bt=e*Ft,lt=bt-(bt-Ft),dt=Ft-lt,bt=e*Pt,pt=bt-(bt-Pt),yt=Pt-pt,vt=dt*yt-(_t-lt*pt-dt*pt-lt*yt),xt=Tt-vt,E=Tt-xt,I[0]=Tt-(xt+E)+(E-vt),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt-_t,E=jt-xt,I[1]=jt-(xt+E)+(E-_t),wt=gt+xt,E=wt-gt,I[2]=gt-(wt-E)+(xt-E),I[3]=wt,d=s(s(s(a(a(4,G,At,rt),rt,At,st),st,a(a(4,G,Pt,rt),rt,Pt,ot),ot,ct),ct,s(a(a(4,H,Ft,rt),rt,Ft,st),st,a(a(4,H,kt,rt),rt,kt,ot),ot,ut),ut,it),it,s(a(a(4,I,Ot,rt),rt,Ot,st),st,a(a(4,I,qt,rt),rt,qt,ot),ot,ct),ct,ht);let zt=u(d,ht),Bt=4440892098500632e-31*l;if(zt>=Bt||-zt>=Bt)return zt;if(E=t-At,p=t-(At+E)+(E-b),E=n-Pt,g=n-(Pt+E)+(E-M),E=c-Ft,y=c-(Ft+E)+(E-b),E=f-kt,j=f-(kt+E)+(E-M),E=i-Ot,x=i-(Ot+E)+(E-b),E=h-qt,m=h-(qt+E)+(E-M),0===p&&0===y&&0===x&&0===g&&0===j&&0===m)return zt;if(Bt=5423418723394464e-46*l+r*Math.abs(zt),zt+=(At*At+Pt*Pt)*(Ft*m+qt*y-(kt*x+Ot*j))+2*(At*p+Pt*g)*(Ft*qt-kt*Ot)+((Ft*Ft+kt*kt)*(Ot*g+Pt*x-(qt*p+At*m))+2*(Ft*y+kt*j)*(Ot*Pt-qt*At))+((Ot*Ot+qt*qt)*(At*j+kt*p-(Pt*y+Ft*g))+2*(Ot*x+qt*m)*(At*kt-Pt*Ft)),zt>=Bt||-zt>=Bt)return zt;if(0===y&&0===j&&0===x&&0===m||(mt=At*At,bt=e*At,lt=bt-(bt-At),dt=At-lt,Tt=dt*dt-(mt-lt*lt-(lt+lt)*dt),_t=Pt*Pt,bt=e*Pt,lt=bt-(bt-Pt),dt=Pt-lt,vt=dt*dt-(_t-lt*lt-(lt+lt)*dt),xt=Tt+vt,E=xt-Tt,J[0]=Tt-(xt-E)+(vt-E),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt+_t,E=xt-jt,J[1]=jt-(xt-E)+(_t-E),wt=gt+xt,E=wt-gt,J[2]=gt-(wt-E)+(xt-E),J[3]=wt),0===x&&0===m&&0===p&&0===g||(mt=Ft*Ft,bt=e*Ft,lt=bt-(bt-Ft),dt=Ft-lt,Tt=dt*dt-(mt-lt*lt-(lt+lt)*dt),_t=kt*kt,bt=e*kt,lt=bt-(bt-kt),dt=kt-lt,vt=dt*dt-(_t-lt*lt-(lt+lt)*dt),xt=Tt+vt,E=xt-Tt,K[0]=Tt-(xt-E)+(vt-E),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt+_t,E=xt-jt,K[1]=jt-(xt-E)+(_t-E),wt=gt+xt,E=wt-gt,K[2]=gt-(wt-E)+(xt-E),K[3]=wt),0===p&&0===g&&0===y&&0===j||(mt=Ot*Ot,bt=e*Ot,lt=bt-(bt-Ot),dt=Ot-lt,Tt=dt*dt-(mt-lt*lt-(lt+lt)*dt),_t=qt*qt,bt=e*qt,lt=bt-(bt-qt),dt=qt-lt,vt=dt*dt-(_t-lt*lt-(lt+lt)*dt),xt=Tt+vt,E=xt-Tt,L[0]=Tt-(xt-E)+(vt-E),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt+_t,E=xt-jt,L[1]=jt-(xt-E)+(_t-E),wt=gt+xt,E=wt-gt,L[2]=gt-(wt-E)+(xt-E),L[3]=wt),0!==p&&(T=a(4,G,p,R),d=Mt(d,o(a(T,R,2*At,st),st,a(a(4,L,p,rt),rt,kt,ot),ot,a(a(4,K,p,rt),rt,-qt,at),at,ct,ft),ft)),0!==g&&(_=a(4,G,g,S),d=Mt(d,o(a(_,S,2*Pt,st),st,a(a(4,K,g,rt),rt,Ot,ot),ot,a(a(4,L,g,rt),rt,-Ft,at),at,ct,ft),ft)),0!==y&&(v=a(4,H,y,U),d=Mt(d,o(a(v,U,2*Ft,st),st,a(a(4,J,y,rt),rt,qt,ot),ot,a(a(4,L,y,rt),rt,-Pt,at),at,ct,ft),ft)),0!==j&&(w=a(4,H,j,V),d=Mt(d,o(a(w,V,2*kt,st),st,a(a(4,L,j,rt),rt,At,ot),ot,a(a(4,J,j,rt),rt,-Ot,at),at,ct,ft),ft)),0!==x&&(A=a(4,I,x,W),d=Mt(d,o(a(A,W,2*Ot,st),st,a(a(4,K,x,rt),rt,Pt,ot),ot,a(a(4,J,x,rt),rt,-kt,at),at,ct,ft),ft)),0!==m&&(F=a(4,I,m,X),d=Mt(d,o(a(F,X,2*qt,st),st,a(a(4,J,m,rt),rt,Ft,ot),ot,a(a(4,K,m,rt),rt,-At,at),at,ct,ft),ft)),0!==p||0!==g){if(0!==y||0!==j||0!==x||0!==m?(mt=y*qt,bt=e*y,lt=bt-(bt-y),dt=y-lt,bt=e*qt,pt=bt-(bt-qt),yt=qt-pt,Tt=dt*yt-(mt-lt*pt-dt*pt-lt*yt),_t=Ft*m,bt=e*Ft,lt=bt-(bt-Ft),dt=Ft-lt,bt=e*m,pt=bt-(bt-m),yt=m-pt,vt=dt*yt-(_t-lt*pt-dt*pt-lt*yt),xt=Tt+vt,E=xt-Tt,N[0]=Tt-(xt-E)+(vt-E),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt+_t,E=xt-jt,N[1]=jt-(xt-E)+(_t-E),wt=gt+xt,E=wt-gt,N[2]=gt-(wt-E)+(xt-E),N[3]=wt,mt=x*-kt,bt=e*x,lt=bt-(bt-x),dt=x-lt,bt=e*-kt,pt=bt-(bt- -kt),yt=-kt-pt,Tt=dt*yt-(mt-lt*pt-dt*pt-lt*yt),_t=Ot*-j,bt=e*Ot,lt=bt-(bt-Ot),dt=Ot-lt,bt=e*-j,pt=bt-(bt- -j),yt=-j-pt,vt=dt*yt-(_t-lt*pt-dt*pt-lt*yt),xt=Tt+vt,E=xt-Tt,Q[0]=Tt-(xt-E)+(vt-E),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt+_t,E=xt-jt,Q[1]=jt-(xt-E)+(_t-E),wt=gt+xt,E=wt-gt,Q[2]=gt-(wt-E)+(xt-E),Q[3]=wt,P=s(4,N,4,Q,Z),mt=y*m,bt=e*y,lt=bt-(bt-y),dt=y-lt,bt=e*m,pt=bt-(bt-m),yt=m-pt,Tt=dt*yt-(mt-lt*pt-dt*pt-lt*yt),_t=x*j,bt=e*x,lt=bt-(bt-x),dt=x-lt,bt=e*j,pt=bt-(bt-j),yt=j-pt,vt=dt*yt-(_t-lt*pt-dt*pt-lt*yt),xt=Tt-vt,E=Tt-xt,nt[0]=Tt-(xt+E)+(E-vt),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt-_t,E=jt-xt,nt[1]=jt-(xt+E)+(E-_t),wt=gt+xt,E=wt-gt,nt[2]=gt-(wt-E)+(xt-E),nt[3]=wt,z=4):(Z[0]=0,P=1,nt[0]=0,z=1),0!==p){const t=a(P,Z,p,at);d=Mt(d,s(a(T,R,p,st),st,a(t,at,2*At,ct),ct,ft),ft);const n=a(z,nt,p,rt);d=Mt(d,o(a(n,rt,2*At,st),st,a(n,rt,p,ot),ot,a(t,at,p,ct),ct,ut,it),it),0!==j&&(d=Mt(d,a(a(4,L,p,rt),rt,j,st),st)),0!==m&&(d=Mt(d,a(a(4,K,-p,rt),rt,m,st),st))}if(0!==g){const t=a(P,Z,g,at);d=Mt(d,s(a(_,S,g,st),st,a(t,at,2*Pt,ct),ct,ft),ft);const n=a(z,nt,g,rt);d=Mt(d,o(a(n,rt,2*Pt,st),st,a(n,rt,g,ot),ot,a(t,at,g,ct),ct,ut,it),it)}}if(0!==y||0!==j){if(0!==x||0!==m||0!==p||0!==g?(mt=x*Pt,bt=e*x,lt=bt-(bt-x),dt=x-lt,bt=e*Pt,pt=bt-(bt-Pt),yt=Pt-pt,Tt=dt*yt-(mt-lt*pt-dt*pt-lt*yt),_t=Ot*g,bt=e*Ot,lt=bt-(bt-Ot),dt=Ot-lt,bt=e*g,pt=bt-(bt-g),yt=g-pt,vt=dt*yt-(_t-lt*pt-dt*pt-lt*yt),xt=Tt+vt,E=xt-Tt,N[0]=Tt-(xt-E)+(vt-E),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt+_t,E=xt-jt,N[1]=jt-(xt-E)+(_t-E),wt=gt+xt,E=wt-gt,N[2]=gt-(wt-E)+(xt-E),N[3]=wt,C=-qt,D=-m,mt=p*C,bt=e*p,lt=bt-(bt-p),dt=p-lt,bt=e*C,pt=bt-(bt-C),yt=C-pt,Tt=dt*yt-(mt-lt*pt-dt*pt-lt*yt),_t=At*D,bt=e*At,lt=bt-(bt-At),dt=At-lt,bt=e*D,pt=bt-(bt-D),yt=D-pt,vt=dt*yt-(_t-lt*pt-dt*pt-lt*yt),xt=Tt+vt,E=xt-Tt,Q[0]=Tt-(xt-E)+(vt-E),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt+_t,E=xt-jt,Q[1]=jt-(xt-E)+(_t-E),wt=gt+xt,E=wt-gt,Q[2]=gt-(wt-E)+(xt-E),Q[3]=wt,k=s(4,N,4,Q,$),mt=x*g,bt=e*x,lt=bt-(bt-x),dt=x-lt,bt=e*g,pt=bt-(bt-g),yt=g-pt,Tt=dt*yt-(mt-lt*pt-dt*pt-lt*yt),_t=p*m,bt=e*p,lt=bt-(bt-p),dt=p-lt,bt=e*m,pt=bt-(bt-m),yt=m-pt,vt=dt*yt-(_t-lt*pt-dt*pt-lt*yt),xt=Tt-vt,E=Tt-xt,et[0]=Tt-(xt+E)+(E-vt),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt-_t,E=jt-xt,et[1]=jt-(xt+E)+(E-_t),wt=gt+xt,E=wt-gt,et[2]=gt-(wt-E)+(xt-E),et[3]=wt,B=4):($[0]=0,k=1,et[0]=0,B=1),0!==y){const t=a(k,$,y,at);d=Mt(d,s(a(v,U,y,st),st,a(t,at,2*Ft,ct),ct,ft),ft);const n=a(B,et,y,rt);d=Mt(d,o(a(n,rt,2*Ft,st),st,a(n,rt,y,ot),ot,a(t,at,y,ct),ct,ut,it),it),0!==m&&(d=Mt(d,a(a(4,J,y,rt),rt,m,st),st)),0!==g&&(d=Mt(d,a(a(4,L,-y,rt),rt,g,st),st))}if(0!==j){const t=a(k,$,j,at);d=Mt(d,s(a(w,V,j,st),st,a(t,at,2*kt,ct),ct,ft),ft);const n=a(B,et,j,rt);d=Mt(d,o(a(n,rt,2*kt,st),st,a(n,rt,j,ot),ot,a(t,at,j,ct),ct,ut,it),it)}}if(0!==x||0!==m){if(0!==p||0!==g||0!==y||0!==j?(mt=p*kt,bt=e*p,lt=bt-(bt-p),dt=p-lt,bt=e*kt,pt=bt-(bt-kt),yt=kt-pt,Tt=dt*yt-(mt-lt*pt-dt*pt-lt*yt),_t=At*j,bt=e*At,lt=bt-(bt-At),dt=At-lt,bt=e*j,pt=bt-(bt-j),yt=j-pt,vt=dt*yt-(_t-lt*pt-dt*pt-lt*yt),xt=Tt+vt,E=xt-Tt,N[0]=Tt-(xt-E)+(vt-E),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt+_t,E=xt-jt,N[1]=jt-(xt-E)+(_t-E),wt=gt+xt,E=wt-gt,N[2]=gt-(wt-E)+(xt-E),N[3]=wt,C=-Pt,D=-g,mt=y*C,bt=e*y,lt=bt-(bt-y),dt=y-lt,bt=e*C,pt=bt-(bt-C),yt=C-pt,Tt=dt*yt-(mt-lt*pt-dt*pt-lt*yt),_t=Ft*D,bt=e*Ft,lt=bt-(bt-Ft),dt=Ft-lt,bt=e*D,pt=bt-(bt-D),yt=D-pt,vt=dt*yt-(_t-lt*pt-dt*pt-lt*yt),xt=Tt+vt,E=xt-Tt,Q[0]=Tt-(xt-E)+(vt-E),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt+_t,E=xt-jt,Q[1]=jt-(xt-E)+(_t-E),wt=gt+xt,E=wt-gt,Q[2]=gt-(wt-E)+(xt-E),Q[3]=wt,O=s(4,N,4,Q,Y),mt=p*j,bt=e*p,lt=bt-(bt-p),dt=p-lt,bt=e*j,pt=bt-(bt-j),yt=j-pt,Tt=dt*yt-(mt-lt*pt-dt*pt-lt*yt),_t=y*g,bt=e*y,lt=bt-(bt-y),dt=y-lt,bt=e*g,pt=bt-(bt-g),yt=g-pt,vt=dt*yt-(_t-lt*pt-dt*pt-lt*yt),xt=Tt-vt,E=Tt-xt,tt[0]=Tt-(xt+E)+(E-vt),gt=mt+xt,E=gt-mt,jt=mt-(gt-E)+(xt-E),xt=jt-_t,E=jt-xt,tt[1]=jt-(xt+E)+(E-_t),wt=gt+xt,E=wt-gt,tt[2]=gt-(wt-E)+(xt-E),tt[3]=wt,q=4):(Y[0]=0,O=1,tt[0]=0,q=1),0!==x){const t=a(O,Y,x,at);d=Mt(d,s(a(A,W,x,st),st,a(t,at,2*Ot,ct),ct,ft),ft);const n=a(q,tt,x,rt);d=Mt(d,o(a(n,rt,2*Ot,st),st,a(n,rt,x,ot),ot,a(t,at,x,ct),ct,ut,it),it),0!==g&&(d=Mt(d,a(a(4,K,x,rt),rt,g,st),st)),0!==j&&(d=Mt(d,a(a(4,J,-x,rt),rt,j,st),st))}if(0!==m){const t=a(O,Y,m,at);d=Mt(d,s(a(F,X,m,st),st,a(t,at,2*qt,ct),ct,ft),ft);const n=a(q,tt,m,rt);d=Mt(d,o(a(n,rt,2*qt,st),st,a(n,rt,m,ot),ot,a(t,at,m,ct),ct,ut,it),it)}}return ht[d-1]}(t,n,c,f,i,h,b,M,k)},t.incirclefast=function(t,n,e,r,s,o,a,c){const u=t-a,f=n-c,i=e-a,h=r-c,b=s-a,M=o-c;return(u*u+f*f)*(i*M-b*h)+(i*i+h*h)*(b*f-u*M)+(b*b+M*M)*(u*h-i*f)},t.insphere=function(t,n,e,r,s,o,a,c,u,f,i,h,b,M,l){const d=t-b,p=r-b,y=a-b,x=f-b,g=n-M,j=s-M,m=c-M,T=i-M,_=e-l,v=o-l,w=u-l,A=h-l,F=d*j,O=p*g,P=F-O,k=p*m,q=y*j,z=k-q,B=y*T,C=x*m,D=B-C,E=x*g,G=d*T,H=E-G,I=d*m,J=y*g,K=I-J,L=p*T,N=x*j,Q=L-N,R=d*d+g*g+_*_,S=p*p+j*j+v*v,U=y*y+m*m+w*w,V=x*x+T*T+A*A,W=U*(A*P+_*Q+v*H)-V*(_*z-v*K+w*P)+(R*(v*D-w*Q+A*z)-S*(w*H+A*K+_*D)),X=Math.abs(_),Y=Math.abs(v),Z=Math.abs(w),$=Math.abs(A),tt=Math.abs(F),nt=Math.abs(O),et=Math.abs(k),rt=Math.abs(q),st=Math.abs(B),ot=Math.abs(C),at=Math.abs(E),ct=Math.abs(G),ut=Math.abs(I),ft=Math.abs(J),it=Math.abs(L),ht=Math.abs(N),bt=((st+ot)*Y+(ht+it)*Z+(et+rt)*$)*R+((at+ct)*Z+(ut+ft)*$+(st+ot)*X)*S+((tt+nt)*$+(it+ht)*X+(at+ct)*Y)*U+((et+rt)*X+(ft+ut)*Y+(tt+nt)*Z)*V,Mt=17763568394002532e-31*bt;return W>Mt||-W>Mt?W:-fn(t,n,e,r,s,o,a,c,u,f,i,h,b,M,l,bt)},t.inspherefast=function(t,n,e,r,s,o,a,c,u,f,i,h,b,M,l){const d=t-b,p=r-b,y=a-b,x=f-b,g=n-M,j=s-M,m=c-M,T=i-M,_=e-l,v=o-l,w=u-l,A=h-l,F=d*j-p*g,O=p*m-y*j,P=y*T-x*m,k=x*g-d*T,q=d*m-y*g,z=p*T-x*j;return(y*y+m*m+w*w)*(A*F+_*z+v*k)-(x*x+T*T+A*A)*(_*O-v*q+w*F)+((d*d+g*g+_*_)*(v*P-w*z+A*O)-(p*p+j*j+v*v)*(w*k+A*q+_*P))},t.orient2d=function(t,n,o,a,c,f){const d=(n-f)*(o-c),p=(t-c)*(a-f),y=d-p;if(0===d||0===p||d>0!=p>0)return y;const x=Math.abs(d+p);return Math.abs(y)>=33306690738754716e-32*x?y:-function(t,n,o,a,c,f,d){let p,y,x,g,j,m,T,_,v,w,A,F,O,P,k,q,z,B;const C=t-c,D=o-c,E=n-f,G=a-f;P=C*G,m=e*C,T=m-(m-C),_=C-T,m=e*G,v=m-(m-G),w=G-v,k=_*w-(P-T*v-_*v-T*w),q=E*D,m=e*E,T=m-(m-E),_=E-T,m=e*D,v=m-(m-D),w=D-v,z=_*w-(q-T*v-_*v-T*w),A=k-z,j=k-A,i[0]=k-(A+j)+(j-z),F=P+A,j=F-P,O=P-(F-j)+(A-j),A=O-q,j=O-A,i[1]=O-(A+j)+(j-q),B=F+A,j=B-F,i[2]=F-(B-j)+(A-j),i[3]=B;let H=u(4,i),I=22204460492503146e-32*d;if(H>=I||-H>=I)return H;if(j=t-C,p=t-(C+j)+(j-c),j=o-D,x=o-(D+j)+(j-c),j=n-E,y=n-(E+j)+(j-f),j=a-G,g=a-(G+j)+(j-f),0===p&&0===y&&0===x&&0===g)return H;if(I=11093356479670487e-47*d+r*Math.abs(H),H+=C*g+G*p-(E*x+D*y),H>=I||-H>=I)return H;P=p*G,m=e*p,T=m-(m-p),_=p-T,m=e*G,v=m-(m-G),w=G-v,k=_*w-(P-T*v-_*v-T*w),q=y*D,m=e*y,T=m-(m-y),_=y-T,m=e*D,v=m-(m-D),w=D-v,z=_*w-(q-T*v-_*v-T*w),A=k-z,j=k-A,l[0]=k-(A+j)+(j-z),F=P+A,j=F-P,O=P-(F-j)+(A-j),A=O-q,j=O-A,l[1]=O-(A+j)+(j-q),B=F+A,j=B-F,l[2]=F-(B-j)+(A-j),l[3]=B;const J=s(4,i,4,l,h);P=C*g,m=e*C,T=m-(m-C),_=C-T,m=e*g,v=m-(m-g),w=g-v,k=_*w-(P-T*v-_*v-T*w),q=E*x,m=e*E,T=m-(m-E),_=E-T,m=e*x,v=m-(m-x),w=x-v,z=_*w-(q-T*v-_*v-T*w),A=k-z,j=k-A,l[0]=k-(A+j)+(j-z),F=P+A,j=F-P,O=P-(F-j)+(A-j),A=O-q,j=O-A,l[1]=O-(A+j)+(j-q),B=F+A,j=B-F,l[2]=F-(B-j)+(A-j),l[3]=B;const K=s(J,h,4,l,b);P=p*g,m=e*p,T=m-(m-p),_=p-T,m=e*g,v=m-(m-g),w=g-v,k=_*w-(P-T*v-_*v-T*w),q=y*x,m=e*y,T=m-(m-y),_=y-T,m=e*x,v=m-(m-x),w=x-v,z=_*w-(q-T*v-_*v-T*w),A=k-z,j=k-A,l[0]=k-(A+j)+(j-z),F=P+A,j=F-P,O=P-(F-j)+(A-j),A=O-q,j=O-A,l[1]=O-(A+j)+(j-q),B=F+A,j=B-F,l[2]=F-(B-j)+(A-j),l[3]=B;const L=s(K,b,4,l,M);return M[L-1]}(t,n,o,a,c,f,x)},t.orient2dfast=function(t,n,e,r,s,o){return(n-o)*(e-s)-(t-s)*(r-o)},t.orient3d=function(t,n,o,c,f,i,h,b,M,l,F,B){const G=t-l,H=c-l,I=h-l,J=n-F,K=f-F,L=b-F,N=o-B,Q=i-B,R=M-B,S=H*L,U=I*K,V=I*J,W=G*L,X=G*K,Y=H*J,Z=N*(S-U)+Q*(V-W)+R*(X-Y),$=(Math.abs(S)+Math.abs(U))*Math.abs(N)+(Math.abs(V)+Math.abs(W))*Math.abs(Q)+(Math.abs(X)+Math.abs(Y))*Math.abs(R),tt=7771561172376103e-31*$;return Z>tt||-Z>tt?Z:function(t,n,o,c,f,i,h,b,M,l,F,B,G){let H,I,J,K,L,N,Q,R,S,U,V,W,X,Y,Z,$,tt,nt,et,rt,st,ot,at,ct;const ut=t-l,ft=c-l,it=h-l,ht=n-F,bt=f-F,Mt=b-F,lt=o-B,dt=i-B,pt=M-B;rt=ft*Mt,W=e*ft,X=W-(W-ft),Y=ft-X,W=e*Mt,Z=W-(W-Mt),$=Mt-Z,st=Y*$-(rt-X*Z-Y*Z-X*$),ot=it*bt,W=e*it,X=W-(W-it),Y=it-X,W=e*bt,Z=W-(W-bt),$=bt-Z,at=Y*$-(ot-X*Z-Y*Z-X*$),tt=st-at,V=st-tt,d[0]=st-(tt+V)+(V-at),nt=rt+tt,V=nt-rt,et=rt-(nt-V)+(tt-V),tt=et-ot,V=et-tt,d[1]=et-(tt+V)+(V-ot),ct=nt+tt,V=ct-nt,d[2]=nt-(ct-V)+(tt-V),d[3]=ct,rt=it*ht,W=e*it,X=W-(W-it),Y=it-X,W=e*ht,Z=W-(W-ht),$=ht-Z,st=Y*$-(rt-X*Z-Y*Z-X*$),ot=ut*Mt,W=e*ut,X=W-(W-ut),Y=ut-X,W=e*Mt,Z=W-(W-Mt),$=Mt-Z,at=Y*$-(ot-X*Z-Y*Z-X*$),tt=st-at,V=st-tt,p[0]=st-(tt+V)+(V-at),nt=rt+tt,V=nt-rt,et=rt-(nt-V)+(tt-V),tt=et-ot,V=et-tt,p[1]=et-(tt+V)+(V-ot),ct=nt+tt,V=ct-nt,p[2]=nt-(ct-V)+(tt-V),p[3]=ct,rt=ut*bt,W=e*ut,X=W-(W-ut),Y=ut-X,W=e*bt,Z=W-(W-bt),$=bt-Z,st=Y*$-(rt-X*Z-Y*Z-X*$),ot=ft*ht,W=e*ft,X=W-(W-ft),Y=ft-X,W=e*ht,Z=W-(W-ht),$=ht-Z,at=Y*$-(ot-X*Z-Y*Z-X*$),tt=st-at,V=st-tt,y[0]=st-(tt+V)+(V-at),nt=rt+tt,V=nt-rt,et=rt-(nt-V)+(tt-V),tt=et-ot,V=et-tt,y[1]=et-(tt+V)+(V-ot),ct=nt+tt,V=ct-nt,y[2]=nt-(ct-V)+(tt-V),y[3]=ct,H=s(s(a(4,d,lt,O),O,a(4,p,dt,P),P,k),k,a(4,y,pt,O),O,z);let yt=u(H,z),xt=3330669073875473e-31*G;if(yt>=xt||-yt>=xt)return yt;if(V=t-ut,I=t-(ut+V)+(V-l),V=c-ft,J=c-(ft+V)+(V-l),V=h-it,K=h-(it+V)+(V-l),V=n-ht,L=n-(ht+V)+(V-F),V=f-bt,N=f-(bt+V)+(V-F),V=b-Mt,Q=b-(Mt+V)+(V-F),V=o-lt,R=o-(lt+V)+(V-B),V=i-dt,S=i-(dt+V)+(V-B),V=M-pt,U=M-(pt+V)+(V-B),0===I&&0===J&&0===K&&0===L&&0===N&&0===Q&&0===R&&0===S&&0===U)return yt;if(xt=32047474274603644e-47*G+r*Math.abs(yt),yt+=lt*(ft*Q+Mt*J-(bt*K+it*N))+R*(ft*Mt-bt*it)+dt*(it*L+ht*K-(Mt*I+ut*Q))+S*(it*ht-Mt*ut)+pt*(ut*N+bt*I-(ht*J+ft*L))+U*(ut*bt-ht*ft),yt>=xt||-yt>=xt)return yt;const gt=D(I,L,ft,bt,it,Mt,x,g),jt=D(J,N,it,Mt,ut,ht,j,m),mt=D(K,Q,ut,ht,ft,bt,T,_),Tt=s(jt,j,mt,_,v);H=C(H,a(Tt,v,lt,k),k);const _t=s(mt,T,gt,g,w);H=C(H,a(_t,w,dt,k),k);const vt=s(gt,x,jt,m,A);return H=C(H,a(vt,A,pt,k),k),0!==R&&(H=C(H,a(4,d,R,q),q),H=C(H,a(Tt,v,R,k),k)),0!==S&&(H=C(H,a(4,p,S,q),q),H=C(H,a(_t,w,S,k),k)),0!==U&&(H=C(H,a(4,y,U,q),q),H=C(H,a(vt,A,U,k),k)),0!==I&&(0!==N&&(H=E(H,I,N,pt,U)),0!==Q&&(H=E(H,-I,Q,dt,S))),0!==J&&(0!==Q&&(H=E(H,J,Q,lt,R)),0!==L&&(H=E(H,-J,L,pt,U))),0!==K&&(0!==L&&(H=E(H,K,L,dt,S)),0!==N&&(H=E(H,-K,N,lt,R))),z[H-1]}(t,n,o,c,f,i,h,b,M,l,F,B,$)},t.orient3dfast=function(t,n,e,r,s,o,a,c,u,f,i,h){const b=n-i,M=s-i,l=c-i,d=e-h,p=o-h,y=u-h;return(t-f)*(M*y-p*l)+(r-f)*(l*d-y*b)+(a-f)*(b*p-d*M)},Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
1
|
+
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).predicates={})}(this,function(t){"use strict";const n=11102230246251565e-32,e=134217729,r=(3+8*n)*n;function s(t,n,e,r,s){let o,a,c,f,i=n[0],u=r[0],h=0,b=0;u>i==u>-i?(o=i,i=n[++h]):(o=u,u=r[++b]);let M=0;if(h<t&&b<e)for(u>i==u>-i?(a=i+o,c=o-(a-i),i=n[++h]):(a=u+o,c=o-(a-u),u=r[++b]),o=a,0!==c&&(s[M++]=c);h<t&&b<e;)u>i==u>-i?(a=o+i,f=a-o,c=o-(a-f)+(i-f),i=n[++h]):(a=o+u,f=a-o,c=o-(a-f)+(u-f),u=r[++b]),o=a,0!==c&&(s[M++]=c);for(;h<t;)a=o+i,f=a-o,c=o-(a-f)+(i-f),i=n[++h],o=a,0!==c&&(s[M++]=c);for(;b<e;)a=o+u,f=a-o,c=o-(a-f)+(u-f),u=r[++b],o=a,0!==c&&(s[M++]=c);return 0===o&&0!==M||(s[M++]=o),M}function o(t,n,e,r,o,a,c,f){return s(s(t,n,e,r,c),c,o,a,f)}function a(t,n,r,s){let o,a,c,f,i,u,h,b,M,l,d;h=e*r,l=h-(h-r),d=r-l;let p=n[0];o=p*r,h=e*p,b=h-(h-p),M=p-b,c=M*d-(o-b*l-M*l-b*d);let y=0;0!==c&&(s[y++]=c);for(let x=1;x<t;x++)p=n[x],f=p*r,h=e*p,b=h-(h-p),M=p-b,i=M*d-(f-b*l-M*l-b*d),a=o+i,u=a-o,c=o-(a-u)+(i-u),0!==c&&(s[y++]=c),o=f+a,c=a-(o-f),0!==c&&(s[y++]=c);return 0===o&&0!==y||(s[y++]=o),y}function c(t,n){for(let e=0;e<t;e++)n[e]=-n[e];return t}function f(t,n){let e=n[0];for(let r=1;r<t;r++)e+=n[r];return e}function i(t){return new Float64Array(t)}const u=i(4),h=i(8),b=i(12),M=i(16),l=i(4);const d=i(4),p=i(4),y=i(4),x=i(4),g=i(4),m=i(4),T=i(4),j=i(4),w=i(4),A=i(8),F=i(8),k=i(8),q=i(4),v=i(8),z=i(8),B=i(16),C=i(12);let D=i(192),E=i(192);function G(t,n,e){t=s(t,D,n,e,E);const r=D;return D=E,E=r,t}function H(t,n,r,s,o,a,c,f){let i,u,h,b,M,l,d,p,y,x,g,m,T,j,w;return 0===t?0===n?(c[0]=0,f[0]=0,1):(w=-n,x=w*r,u=e*w,h=u-(u-w),b=w-h,u=e*r,M=u-(u-r),l=r-M,c[0]=b*l-(x-h*M-b*M-h*l),c[1]=x,x=n*o,u=e*n,h=u-(u-n),b=n-h,u=e*o,M=u-(u-o),l=o-M,f[0]=b*l-(x-h*M-b*M-h*l),f[1]=x,2):0===n?(x=t*s,u=e*t,h=u-(u-t),b=t-h,u=e*s,M=u-(u-s),l=s-M,c[0]=b*l-(x-h*M-b*M-h*l),c[1]=x,w=-t,x=w*a,u=e*w,h=u-(u-w),b=w-h,u=e*a,M=u-(u-a),l=a-M,f[0]=b*l-(x-h*M-b*M-h*l),f[1]=x,2):(x=t*s,u=e*t,h=u-(u-t),b=t-h,u=e*s,M=u-(u-s),l=s-M,g=b*l-(x-h*M-b*M-h*l),m=n*r,u=e*n,h=u-(u-n),b=n-h,u=e*r,M=u-(u-r),l=r-M,T=b*l-(m-h*M-b*M-h*l),d=g-T,i=g-d,c[0]=g-(d+i)+(i-T),p=x+d,i=p-x,y=x-(p-i)+(d-i),d=y-m,i=y-d,c[1]=y-(d+i)+(i-m),j=p+d,i=j-p,c[2]=p-(j-i)+(d-i),c[3]=j,x=n*o,u=e*n,h=u-(u-n),b=n-h,u=e*o,M=u-(u-o),l=o-M,g=b*l-(x-h*M-b*M-h*l),m=t*a,u=e*t,h=u-(u-t),b=t-h,u=e*a,M=u-(u-a),l=a-M,T=b*l-(m-h*M-b*M-h*l),d=g-T,i=g-d,f[0]=g-(d+i)+(i-T),p=x+d,i=p-x,y=x-(p-i)+(d-i),d=y-m,i=y-d,f[1]=y-(d+i)+(i-m),j=p+d,i=j-p,f[2]=p-(j-i)+(d-i),f[3]=j,4)}function I(t,n,r,s,o){let a,c,f,i,u,h,b,M,l,d,p,y,x;return p=n*r,c=e*n,f=c-(c-n),i=n-f,c=e*r,u=c-(c-r),h=r-u,y=i*h-(p-f*u-i*u-f*h),c=e*s,u=c-(c-s),h=s-u,b=y*s,c=e*y,f=c-(c-y),i=y-f,q[0]=i*h-(b-f*u-i*u-f*h),M=p*s,c=e*p,f=c-(c-p),i=p-f,d=i*h-(M-f*u-i*u-f*h),l=b+d,a=l-b,q[1]=b-(l-a)+(d-a),x=M+l,q[2]=l-(x-M),q[3]=x,t=G(t,4,q),0!==o&&(c=e*o,u=c-(c-o),h=o-u,b=y*o,c=e*y,f=c-(c-y),i=y-f,q[0]=i*h-(b-f*u-i*u-f*h),M=p*o,c=e*p,f=c-(c-p),i=p-f,d=i*h-(M-f*u-i*u-f*h),l=b+d,a=l-b,q[1]=b-(l-a)+(d-a),x=M+l,q[2]=l-(x-M),q[3]=x,t=G(t,4,q)),t}const J=i(4),K=i(4),L=i(4),N=i(4),O=i(4),P=i(4),Q=i(4),R=i(4),S=i(8),U=i(8),V=i(8),W=i(8),X=i(8),Y=i(8),Z=i(8),$=i(8),_=i(8),tt=i(4),nt=i(4),et=i(4),rt=i(8),st=i(16),ot=i(16),at=i(16),ct=i(32),ft=i(32),it=i(48),ut=i(64);let ht=i(1152),bt=i(1152);function Mt(t,n,e){t=s(t,ht,n,e,bt);const r=ht;return ht=bt,bt=r,t}const lt=i(4),dt=i(4),pt=i(4),yt=i(4),xt=i(4),gt=i(4),mt=i(4),Tt=i(4),jt=i(4),wt=i(4),At=i(24),Ft=i(24),kt=i(24),qt=i(24),vt=i(24),zt=i(24),Bt=i(24),Ct=i(24),Dt=i(24),Et=i(24),Gt=i(1152),Ht=i(1152),It=i(1152),Jt=i(1152),Kt=i(1152),Lt=i(2304),Nt=i(2304),Ot=i(3456),Pt=i(5760),Qt=i(8),Rt=i(8),St=i(8),Ut=i(16),Vt=i(24),Wt=i(48),Xt=i(48),Yt=i(96),Zt=i(192),$t=i(384),_t=i(384),tn=i(384),nn=i(768);function en(t,n,e,r,s,c,f){return o(a(4,t,r,Qt),Qt,a(4,n,s,Rt),Rt,a(4,e,c,St),St,Ut,f)}function rn(t,n,e,r,f,i,u,h,b,M,l,d){const p=s(s(t,n,e,r,Wt),Wt,c(s(f,i,u,h,Xt),Xt),Xt,Yt);return o(a(a(p,Yt,b,Zt),Zt,b,$t),$t,a(a(p,Yt,M,Zt),Zt,M,_t),_t,a(a(p,Yt,l,Zt),Zt,l,tn),tn,nn,d)}const sn=i(96),on=i(96),an=i(96),cn=i(1152);function fn(t,n,e,r,s,c,f,i,u,h){const b=en(t,n,e,r,s,c,Vt);return o(a(a(b,Vt,f,Wt),Wt,f,sn),sn,a(a(b,Vt,i,Wt),Wt,i,on),on,a(a(b,Vt,u,Wt),Wt,u,an),an,Zt,h)}function un(t,n,a,i,u,h,b,M,l,d,p,y,x,g,m,T){let j,w,A,F,k,q,v,z,B,C,D,E,G,H,I,J,K,L,N,O,P,Q,R,S,U,V,W,X,Y,Z,$;const _=t-x,tt=i-x,nt=b-x,et=d-x,rt=n-g,st=u-g,ot=M-g,at=p-g,ct=a-m,ft=h-m,it=l-m,ut=y-m;X=_*st,O=e*_,P=O-(O-_),Q=_-P,O=e*st,R=O-(O-st),S=st-R,Y=Q*S-(X-P*R-Q*R-P*S),Z=tt*rt,O=e*tt,P=O-(O-tt),Q=tt-P,O=e*rt,R=O-(O-rt),S=rt-R,$=Q*S-(Z-P*R-Q*R-P*S),U=Y-$,N=Y-U,lt[0]=Y-(U+N)+(N-$),V=X+U,N=V-X,W=X-(V-N)+(U-N),U=W-Z,N=W-U,lt[1]=W-(U+N)+(N-Z),j=V+U,N=j-V,lt[2]=V-(j-N)+(U-N),lt[3]=j,X=tt*ot,O=e*tt,P=O-(O-tt),Q=tt-P,O=e*ot,R=O-(O-ot),S=ot-R,Y=Q*S-(X-P*R-Q*R-P*S),Z=nt*st,O=e*nt,P=O-(O-nt),Q=nt-P,O=e*st,R=O-(O-st),S=st-R,$=Q*S-(Z-P*R-Q*R-P*S),U=Y-$,N=Y-U,dt[0]=Y-(U+N)+(N-$),V=X+U,N=V-X,W=X-(V-N)+(U-N),U=W-Z,N=W-U,dt[1]=W-(U+N)+(N-Z),w=V+U,N=w-V,dt[2]=V-(w-N)+(U-N),dt[3]=w,X=nt*at,O=e*nt,P=O-(O-nt),Q=nt-P,O=e*at,R=O-(O-at),S=at-R,Y=Q*S-(X-P*R-Q*R-P*S),Z=et*ot,O=e*et,P=O-(O-et),Q=et-P,O=e*ot,R=O-(O-ot),S=ot-R,$=Q*S-(Z-P*R-Q*R-P*S),U=Y-$,N=Y-U,pt[0]=Y-(U+N)+(N-$),V=X+U,N=V-X,W=X-(V-N)+(U-N),U=W-Z,N=W-U,pt[1]=W-(U+N)+(N-Z),A=V+U,N=A-V,pt[2]=V-(A-N)+(U-N),pt[3]=A,X=et*rt,O=e*et,P=O-(O-et),Q=et-P,O=e*rt,R=O-(O-rt),S=rt-R,Y=Q*S-(X-P*R-Q*R-P*S),Z=_*at,O=e*_,P=O-(O-_),Q=_-P,O=e*at,R=O-(O-at),S=at-R,$=Q*S-(Z-P*R-Q*R-P*S),U=Y-$,N=Y-U,jt[0]=Y-(U+N)+(N-$),V=X+U,N=V-X,W=X-(V-N)+(U-N),U=W-Z,N=W-U,jt[1]=W-(U+N)+(N-Z),F=V+U,N=F-V,jt[2]=V-(F-N)+(U-N),jt[3]=F,X=_*ot,O=e*_,P=O-(O-_),Q=_-P,O=e*ot,R=O-(O-ot),S=ot-R,Y=Q*S-(X-P*R-Q*R-P*S),Z=nt*rt,O=e*nt,P=O-(O-nt),Q=nt-P,O=e*rt,R=O-(O-rt),S=rt-R,$=Q*S-(Z-P*R-Q*R-P*S),U=Y-$,N=Y-U,gt[0]=Y-(U+N)+(N-$),V=X+U,N=V-X,W=X-(V-N)+(U-N),U=W-Z,N=W-U,gt[1]=W-(U+N)+(N-Z),k=V+U,N=k-V,gt[2]=V-(k-N)+(U-N),gt[3]=k,X=tt*at,O=e*tt,P=O-(O-tt),Q=tt-P,O=e*at,R=O-(O-at),S=at-R,Y=Q*S-(X-P*R-Q*R-P*S),Z=et*st,O=e*et,P=O-(O-et),Q=et-P,O=e*st,R=O-(O-st),S=st-R,$=Q*S-(Z-P*R-Q*R-P*S),U=Y-$,N=Y-U,mt[0]=Y-(U+N)+(N-$),V=X+U,N=V-X,W=X-(V-N)+(U-N),U=W-Z,N=W-U,mt[1]=W-(U+N)+(N-Z),q=V+U,N=q-V,mt[2]=V-(q-N)+(U-N),mt[3]=q;let ht=f(s(s(c(fn(dt,pt,mt,ut,ft,-it,_,rt,ct,Gt),Gt),Gt,fn(pt,jt,gt,ct,it,ut,tt,st,ft,Ht),Ht,Lt),Lt,s(c(fn(jt,lt,mt,ft,ut,ct,nt,ot,it,It),It),It,fn(lt,dt,gt,it,ct,-ft,et,at,ut,Jt),Jt,Nt),Nt,cn),cn),bt=5551115123125792e-31*T;if(ht>=bt||-ht>=bt)return ht;if(N=t-_,v=t-(_+N)+(N-x),N=n-rt,D=n-(rt+N)+(N-g),N=a-ct,I=a-(ct+N)+(N-m),N=i-tt,z=i-(tt+N)+(N-x),N=u-st,E=u-(st+N)+(N-g),N=h-ft,J=h-(ft+N)+(N-m),N=b-nt,B=b-(nt+N)+(N-x),N=M-ot,G=M-(ot+N)+(N-g),N=l-it,K=l-(it+N)+(N-m),N=d-et,C=d-(et+N)+(N-x),N=p-at,H=p-(at+N)+(N-g),N=y-ut,L=y-(ut+N)+(N-m),0===v&&0===D&&0===I&&0===z&&0===E&&0===J&&0===B&&0===G&&0===K&&0===C&&0===H&&0===L)return ht;bt=8751425667295619e-46*T+r*Math.abs(ht);const Mt=_*E+st*v-(rt*z+tt*D),Qt=tt*G+ot*z-(st*B+nt*E),Rt=nt*H+at*B-(ot*C+et*G),St=et*D+rt*C-(at*v+_*H),Ut=_*G+ot*v-(rt*B+nt*D),Vt=tt*H+at*z-(st*C+et*E);return ht+=(tt*tt+st*st+ft*ft)*(it*St+ut*Ut+ct*Rt+(K*F+L*k+I*A))+(et*et+at*at+ut*ut)*(ct*Qt-ft*Ut+it*Mt+(I*w-J*k+K*j))-((_*_+rt*rt+ct*ct)*(ft*Rt-it*Vt+ut*Qt+(J*A-K*q+L*w))+(nt*nt+ot*ot+it*it)*(ut*Mt+ct*Vt+ft*St+(L*j+I*q+J*F)))+2*((tt*z+st*E+ft*J)*(it*F+ut*k+ct*A)+(et*C+at*H+ut*L)*(ct*w-ft*k+it*j)-((_*v+rt*D+ct*I)*(ft*A-it*q+ut*w)+(nt*B+ot*G+it*K)*(ut*j+ct*q+ft*F))),ht>=bt||-ht>=bt?ht:function(t,n,r,s,a,c,f,i,u,h,b,M,l,d,p){let y,x,g,m,T,j,w,A,F,k,q,v,z,B;k=t*a,x=e*t,g=x-(x-t),m=t-g,x=e*a,T=x-(x-a),j=a-T,q=m*j-(k-g*T-m*T-g*j),v=s*n,x=e*s,g=x-(x-s),m=s-g,x=e*n,T=x-(x-n),j=n-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,lt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,lt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,lt[2]=A-(B-y)+(w-y),lt[3]=B,k=s*i,x=e*s,g=x-(x-s),m=s-g,x=e*i,T=x-(x-i),j=i-T,q=m*j-(k-g*T-m*T-g*j),v=f*a,x=e*f,g=x-(x-f),m=f-g,x=e*a,T=x-(x-a),j=a-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,dt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,dt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,dt[2]=A-(B-y)+(w-y),dt[3]=B,k=f*b,x=e*f,g=x-(x-f),m=f-g,x=e*b,T=x-(x-b),j=b-T,q=m*j-(k-g*T-m*T-g*j),v=h*i,x=e*h,g=x-(x-h),m=h-g,x=e*i,T=x-(x-i),j=i-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,pt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,pt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,pt[2]=A-(B-y)+(w-y),pt[3]=B,k=h*d,x=e*h,g=x-(x-h),m=h-g,x=e*d,T=x-(x-d),j=d-T,q=m*j-(k-g*T-m*T-g*j),v=l*b,x=e*l,g=x-(x-l),m=l-g,x=e*b,T=x-(x-b),j=b-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,yt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,yt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,yt[2]=A-(B-y)+(w-y),yt[3]=B,k=l*n,x=e*l,g=x-(x-l),m=l-g,x=e*n,T=x-(x-n),j=n-T,q=m*j-(k-g*T-m*T-g*j),v=t*d,x=e*t,g=x-(x-t),m=t-g,x=e*d,T=x-(x-d),j=d-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,xt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,xt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,xt[2]=A-(B-y)+(w-y),xt[3]=B,k=t*i,x=e*t,g=x-(x-t),m=t-g,x=e*i,T=x-(x-i),j=i-T,q=m*j-(k-g*T-m*T-g*j),v=f*n,x=e*f,g=x-(x-f),m=f-g,x=e*n,T=x-(x-n),j=n-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,gt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,gt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,gt[2]=A-(B-y)+(w-y),gt[3]=B,k=s*b,x=e*s,g=x-(x-s),m=s-g,x=e*b,T=x-(x-b),j=b-T,q=m*j-(k-g*T-m*T-g*j),v=h*a,x=e*h,g=x-(x-h),m=h-g,x=e*a,T=x-(x-a),j=a-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,mt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,mt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,mt[2]=A-(B-y)+(w-y),mt[3]=B,k=f*d,x=e*f,g=x-(x-f),m=f-g,x=e*d,T=x-(x-d),j=d-T,q=m*j-(k-g*T-m*T-g*j),v=l*i,x=e*l,g=x-(x-l),m=l-g,x=e*i,T=x-(x-i),j=i-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,Tt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,Tt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,Tt[2]=A-(B-y)+(w-y),Tt[3]=B,k=h*n,x=e*h,g=x-(x-h),m=h-g,x=e*n,T=x-(x-n),j=n-T,q=m*j-(k-g*T-m*T-g*j),v=t*b,x=e*t,g=x-(x-t),m=t-g,x=e*b,T=x-(x-b),j=b-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,jt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,jt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,jt[2]=A-(B-y)+(w-y),jt[3]=B,k=l*a,x=e*l,g=x-(x-l),m=l-g,x=e*a,T=x-(x-a),j=a-T,q=m*j-(k-g*T-m*T-g*j),v=s*d,x=e*s,g=x-(x-s),m=s-g,x=e*d,T=x-(x-d),j=d-T,z=m*j-(v-g*T-m*T-g*j),w=q-z,y=q-w,wt[0]=q-(w+y)+(y-z),A=k+w,y=A-k,F=k-(A-y)+(w-y),w=F-v,y=F-w,wt[1]=F-(w+y)+(y-v),B=A+w,y=B-A,wt[2]=A-(B-y)+(w-y),wt[3]=B;const C=en(lt,dt,gt,u,r,-c,At),D=en(dt,pt,mt,M,c,-u,Ft),E=en(pt,yt,Tt,p,u,-M,kt),G=en(yt,xt,jt,r,M,-p,qt),H=en(xt,lt,wt,c,p,-r,vt),I=en(lt,mt,jt,M,r,c,zt),J=en(dt,Tt,wt,p,c,u,Bt),K=en(pt,jt,gt,r,u,M,Ct),L=en(yt,wt,mt,c,M,p,Dt),N=en(xt,gt,Tt,u,p,r,Et),O=o(rn(E,kt,J,Bt,L,Dt,D,Ft,t,n,r,Gt),Gt,rn(G,qt,K,Ct,N,Et,E,kt,s,a,c,Ht),Ht,o(rn(H,vt,L,Dt,I,zt,G,qt,f,i,u,It),It,rn(C,At,N,Et,J,Bt,H,vt,h,b,M,Jt),Jt,rn(D,Ft,I,zt,K,Ct,C,At,l,d,p,Kt),Kt,Nt,Ot),Ot,Lt,Pt);return Pt[O-1]}(t,n,a,i,u,h,b,M,l,d,p,y,x,g,m)}t.incircle=function(t,n,c,i,u,h,b,M){const l=t-b,d=c-b,p=u-b,y=n-M,x=i-M,g=h-M,m=d*g,T=p*x,j=l*l+y*y,w=p*y,A=l*g,F=d*d+x*x,k=l*x,q=d*y,v=p*p+g*g,z=j*(m-T)+F*(w-A)+v*(k-q),B=(Math.abs(m)+Math.abs(T))*j+(Math.abs(w)+Math.abs(A))*F+(Math.abs(k)+Math.abs(q))*v,C=11102230246251577e-31*B;return z>C||-z>C?z:function(t,n,c,i,u,h,b,M,l){let d,p,y,x,g,m,T,j,w,A,F,k,q,v,z,B,C,D,E,G,H,I,bt,lt,dt,pt,yt,xt,gt,mt,Tt,jt,wt,At,Ft;const kt=t-b,qt=c-b,vt=u-b,zt=n-M,Bt=i-M,Ct=h-M;Tt=qt*Ct,bt=e*qt,lt=bt-(bt-qt),dt=qt-lt,bt=e*Ct,pt=bt-(bt-Ct),yt=Ct-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=vt*Bt,bt=e*vt,lt=bt-(bt-vt),dt=vt-lt,bt=e*Bt,pt=bt-(bt-Bt),yt=Bt-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt-At,I=jt-xt,J[0]=jt-(xt+I)+(I-At),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt-wt,I=mt-xt,J[1]=mt-(xt+I)+(I-wt),Ft=gt+xt,I=Ft-gt,J[2]=gt-(Ft-I)+(xt-I),J[3]=Ft,Tt=vt*zt,bt=e*vt,lt=bt-(bt-vt),dt=vt-lt,bt=e*zt,pt=bt-(bt-zt),yt=zt-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=kt*Ct,bt=e*kt,lt=bt-(bt-kt),dt=kt-lt,bt=e*Ct,pt=bt-(bt-Ct),yt=Ct-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt-At,I=jt-xt,K[0]=jt-(xt+I)+(I-At),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt-wt,I=mt-xt,K[1]=mt-(xt+I)+(I-wt),Ft=gt+xt,I=Ft-gt,K[2]=gt-(Ft-I)+(xt-I),K[3]=Ft,Tt=kt*Bt,bt=e*kt,lt=bt-(bt-kt),dt=kt-lt,bt=e*Bt,pt=bt-(bt-Bt),yt=Bt-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=qt*zt,bt=e*qt,lt=bt-(bt-qt),dt=qt-lt,bt=e*zt,pt=bt-(bt-zt),yt=zt-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt-At,I=jt-xt,L[0]=jt-(xt+I)+(I-At),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt-wt,I=mt-xt,L[1]=mt-(xt+I)+(I-wt),Ft=gt+xt,I=Ft-gt,L[2]=gt-(Ft-I)+(xt-I),L[3]=Ft,d=s(s(s(a(a(4,J,kt,rt),rt,kt,st),st,a(a(4,J,zt,rt),rt,zt,ot),ot,ct),ct,s(a(a(4,K,qt,rt),rt,qt,st),st,a(a(4,K,Bt,rt),rt,Bt,ot),ot,ft),ft,ut),ut,s(a(a(4,L,vt,rt),rt,vt,st),st,a(a(4,L,Ct,rt),rt,Ct,ot),ot,ct),ct,ht);let Dt=f(d,ht),Et=4440892098500632e-31*l;if(Dt>=Et||-Dt>=Et)return Dt;if(I=t-kt,p=t-(kt+I)+(I-b),I=n-zt,g=n-(zt+I)+(I-M),I=c-qt,y=c-(qt+I)+(I-b),I=i-Bt,m=i-(Bt+I)+(I-M),I=u-vt,x=u-(vt+I)+(I-b),I=h-Ct,T=h-(Ct+I)+(I-M),0===p&&0===y&&0===x&&0===g&&0===m&&0===T)return Dt;if(Et=5423418723394464e-46*l+r*Math.abs(Dt),Dt+=(kt*kt+zt*zt)*(qt*T+Ct*y-(Bt*x+vt*m))+2*(kt*p+zt*g)*(qt*Ct-Bt*vt)+((qt*qt+Bt*Bt)*(vt*g+zt*x-(Ct*p+kt*T))+2*(qt*y+Bt*m)*(vt*zt-Ct*kt))+((vt*vt+Ct*Ct)*(kt*m+Bt*p-(zt*y+qt*g))+2*(vt*x+Ct*T)*(kt*Bt-zt*qt)),Dt>=Et||-Dt>=Et)return Dt;if(0===y&&0===m&&0===x&&0===T||(Tt=kt*kt,bt=e*kt,lt=bt-(bt-kt),dt=kt-lt,jt=dt*dt-(Tt-lt*lt-(lt+lt)*dt),wt=zt*zt,bt=e*zt,lt=bt-(bt-zt),dt=zt-lt,At=dt*dt-(wt-lt*lt-(lt+lt)*dt),xt=jt+At,I=xt-jt,N[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,N[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,N[2]=gt-(Ft-I)+(xt-I),N[3]=Ft),0===x&&0===T&&0===p&&0===g||(Tt=qt*qt,bt=e*qt,lt=bt-(bt-qt),dt=qt-lt,jt=dt*dt-(Tt-lt*lt-(lt+lt)*dt),wt=Bt*Bt,bt=e*Bt,lt=bt-(bt-Bt),dt=Bt-lt,At=dt*dt-(wt-lt*lt-(lt+lt)*dt),xt=jt+At,I=xt-jt,O[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,O[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,O[2]=gt-(Ft-I)+(xt-I),O[3]=Ft),0===p&&0===g&&0===y&&0===m||(Tt=vt*vt,bt=e*vt,lt=bt-(bt-vt),dt=vt-lt,jt=dt*dt-(Tt-lt*lt-(lt+lt)*dt),wt=Ct*Ct,bt=e*Ct,lt=bt-(bt-Ct),dt=Ct-lt,At=dt*dt-(wt-lt*lt-(lt+lt)*dt),xt=jt+At,I=xt-jt,P[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,P[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,P[2]=gt-(Ft-I)+(xt-I),P[3]=Ft),0!==p&&(j=a(4,J,p,S),d=Mt(d,o(a(j,S,2*kt,st),st,a(a(4,P,p,rt),rt,Bt,ot),ot,a(a(4,O,p,rt),rt,-Ct,at),at,ct,it),it)),0!==g&&(w=a(4,J,g,U),d=Mt(d,o(a(w,U,2*zt,st),st,a(a(4,O,g,rt),rt,vt,ot),ot,a(a(4,P,g,rt),rt,-qt,at),at,ct,it),it)),0!==y&&(A=a(4,K,y,V),d=Mt(d,o(a(A,V,2*qt,st),st,a(a(4,N,y,rt),rt,Ct,ot),ot,a(a(4,P,y,rt),rt,-zt,at),at,ct,it),it)),0!==m&&(F=a(4,K,m,W),d=Mt(d,o(a(F,W,2*Bt,st),st,a(a(4,P,m,rt),rt,kt,ot),ot,a(a(4,N,m,rt),rt,-vt,at),at,ct,it),it)),0!==x&&(k=a(4,L,x,X),d=Mt(d,o(a(k,X,2*vt,st),st,a(a(4,O,x,rt),rt,zt,ot),ot,a(a(4,N,x,rt),rt,-Bt,at),at,ct,it),it)),0!==T&&(q=a(4,L,T,Y),d=Mt(d,o(a(q,Y,2*Ct,st),st,a(a(4,N,T,rt),rt,qt,ot),ot,a(a(4,O,T,rt),rt,-kt,at),at,ct,it),it)),0!==p||0!==g){if(0!==y||0!==m||0!==x||0!==T?(Tt=y*Ct,bt=e*y,lt=bt-(bt-y),dt=y-lt,bt=e*Ct,pt=bt-(bt-Ct),yt=Ct-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=qt*T,bt=e*qt,lt=bt-(bt-qt),dt=qt-lt,bt=e*T,pt=bt-(bt-T),yt=T-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt+At,I=xt-jt,Q[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,Q[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,Q[2]=gt-(Ft-I)+(xt-I),Q[3]=Ft,Tt=x*-Bt,bt=e*x,lt=bt-(bt-x),dt=x-lt,bt=e*-Bt,pt=bt-(bt- -Bt),yt=-Bt-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=vt*-m,bt=e*vt,lt=bt-(bt-vt),dt=vt-lt,bt=e*-m,pt=bt-(bt- -m),yt=-m-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt+At,I=xt-jt,R[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,R[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,R[2]=gt-(Ft-I)+(xt-I),R[3]=Ft,z=s(4,Q,4,R,$),Tt=y*T,bt=e*y,lt=bt-(bt-y),dt=y-lt,bt=e*T,pt=bt-(bt-T),yt=T-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=x*m,bt=e*x,lt=bt-(bt-x),dt=x-lt,bt=e*m,pt=bt-(bt-m),yt=m-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt-At,I=jt-xt,nt[0]=jt-(xt+I)+(I-At),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt-wt,I=mt-xt,nt[1]=mt-(xt+I)+(I-wt),Ft=gt+xt,I=Ft-gt,nt[2]=gt-(Ft-I)+(xt-I),nt[3]=Ft,D=4):($[0]=0,z=1,nt[0]=0,D=1),0!==p){const t=a(z,$,p,at);d=Mt(d,s(a(j,S,p,st),st,a(t,at,2*kt,ct),ct,it),it);const n=a(D,nt,p,rt);d=Mt(d,o(a(n,rt,2*kt,st),st,a(n,rt,p,ot),ot,a(t,at,p,ct),ct,ft,ut),ut),0!==m&&(d=Mt(d,a(a(4,P,p,rt),rt,m,st),st)),0!==T&&(d=Mt(d,a(a(4,O,-p,rt),rt,T,st),st))}if(0!==g){const t=a(z,$,g,at);d=Mt(d,s(a(w,U,g,st),st,a(t,at,2*zt,ct),ct,it),it);const n=a(D,nt,g,rt);d=Mt(d,o(a(n,rt,2*zt,st),st,a(n,rt,g,ot),ot,a(t,at,g,ct),ct,ft,ut),ut)}}if(0!==y||0!==m){if(0!==x||0!==T||0!==p||0!==g?(Tt=x*zt,bt=e*x,lt=bt-(bt-x),dt=x-lt,bt=e*zt,pt=bt-(bt-zt),yt=zt-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=vt*g,bt=e*vt,lt=bt-(bt-vt),dt=vt-lt,bt=e*g,pt=bt-(bt-g),yt=g-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt+At,I=xt-jt,Q[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,Q[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,Q[2]=gt-(Ft-I)+(xt-I),Q[3]=Ft,G=-Ct,H=-T,Tt=p*G,bt=e*p,lt=bt-(bt-p),dt=p-lt,bt=e*G,pt=bt-(bt-G),yt=G-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=kt*H,bt=e*kt,lt=bt-(bt-kt),dt=kt-lt,bt=e*H,pt=bt-(bt-H),yt=H-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt+At,I=xt-jt,R[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,R[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,R[2]=gt-(Ft-I)+(xt-I),R[3]=Ft,B=s(4,Q,4,R,_),Tt=x*g,bt=e*x,lt=bt-(bt-x),dt=x-lt,bt=e*g,pt=bt-(bt-g),yt=g-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=p*T,bt=e*p,lt=bt-(bt-p),dt=p-lt,bt=e*T,pt=bt-(bt-T),yt=T-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt-At,I=jt-xt,et[0]=jt-(xt+I)+(I-At),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt-wt,I=mt-xt,et[1]=mt-(xt+I)+(I-wt),Ft=gt+xt,I=Ft-gt,et[2]=gt-(Ft-I)+(xt-I),et[3]=Ft,E=4):(_[0]=0,B=1,et[0]=0,E=1),0!==y){const t=a(B,_,y,at);d=Mt(d,s(a(A,V,y,st),st,a(t,at,2*qt,ct),ct,it),it);const n=a(E,et,y,rt);d=Mt(d,o(a(n,rt,2*qt,st),st,a(n,rt,y,ot),ot,a(t,at,y,ct),ct,ft,ut),ut),0!==T&&(d=Mt(d,a(a(4,N,y,rt),rt,T,st),st)),0!==g&&(d=Mt(d,a(a(4,P,-y,rt),rt,g,st),st))}if(0!==m){const t=a(B,_,m,at);d=Mt(d,s(a(F,W,m,st),st,a(t,at,2*Bt,ct),ct,it),it);const n=a(E,et,m,rt);d=Mt(d,o(a(n,rt,2*Bt,st),st,a(n,rt,m,ot),ot,a(t,at,m,ct),ct,ft,ut),ut)}}if(0!==x||0!==T){if(0!==p||0!==g||0!==y||0!==m?(Tt=p*Bt,bt=e*p,lt=bt-(bt-p),dt=p-lt,bt=e*Bt,pt=bt-(bt-Bt),yt=Bt-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=kt*m,bt=e*kt,lt=bt-(bt-kt),dt=kt-lt,bt=e*m,pt=bt-(bt-m),yt=m-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt+At,I=xt-jt,Q[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,Q[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,Q[2]=gt-(Ft-I)+(xt-I),Q[3]=Ft,G=-zt,H=-g,Tt=y*G,bt=e*y,lt=bt-(bt-y),dt=y-lt,bt=e*G,pt=bt-(bt-G),yt=G-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=qt*H,bt=e*qt,lt=bt-(bt-qt),dt=qt-lt,bt=e*H,pt=bt-(bt-H),yt=H-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt+At,I=xt-jt,R[0]=jt-(xt-I)+(At-I),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt+wt,I=xt-mt,R[1]=mt-(xt-I)+(wt-I),Ft=gt+xt,I=Ft-gt,R[2]=gt-(Ft-I)+(xt-I),R[3]=Ft,v=s(4,Q,4,R,Z),Tt=p*m,bt=e*p,lt=bt-(bt-p),dt=p-lt,bt=e*m,pt=bt-(bt-m),yt=m-pt,jt=dt*yt-(Tt-lt*pt-dt*pt-lt*yt),wt=y*g,bt=e*y,lt=bt-(bt-y),dt=y-lt,bt=e*g,pt=bt-(bt-g),yt=g-pt,At=dt*yt-(wt-lt*pt-dt*pt-lt*yt),xt=jt-At,I=jt-xt,tt[0]=jt-(xt+I)+(I-At),gt=Tt+xt,I=gt-Tt,mt=Tt-(gt-I)+(xt-I),xt=mt-wt,I=mt-xt,tt[1]=mt-(xt+I)+(I-wt),Ft=gt+xt,I=Ft-gt,tt[2]=gt-(Ft-I)+(xt-I),tt[3]=Ft,C=4):(Z[0]=0,v=1,tt[0]=0,C=1),0!==x){const t=a(v,Z,x,at);d=Mt(d,s(a(k,X,x,st),st,a(t,at,2*vt,ct),ct,it),it);const n=a(C,tt,x,rt);d=Mt(d,o(a(n,rt,2*vt,st),st,a(n,rt,x,ot),ot,a(t,at,x,ct),ct,ft,ut),ut),0!==g&&(d=Mt(d,a(a(4,O,x,rt),rt,g,st),st)),0!==m&&(d=Mt(d,a(a(4,N,-x,rt),rt,m,st),st))}if(0!==T){const t=a(v,Z,T,at);d=Mt(d,s(a(q,Y,T,st),st,a(t,at,2*Ct,ct),ct,it),it);const n=a(C,tt,T,rt);d=Mt(d,o(a(n,rt,2*Ct,st),st,a(n,rt,T,ot),ot,a(t,at,T,ct),ct,ft,ut),ut)}}return ht[d-1]}(t,n,c,i,u,h,b,M,B)},t.incirclefast=function(t,n,e,r,s,o,a,c){const f=t-a,i=n-c,u=e-a,h=r-c,b=s-a,M=o-c;return(f*f+i*i)*(u*M-b*h)+(u*u+h*h)*(b*i-f*M)+(b*b+M*M)*(f*h-u*i)},t.insphere=function(t,n,e,r,s,o,a,c,f,i,u,h,b,M,l){const d=t-b,p=r-b,y=a-b,x=i-b,g=n-M,m=s-M,T=c-M,j=u-M,w=e-l,A=o-l,F=f-l,k=h-l,q=d*m,v=p*g,z=q-v,B=p*T,C=y*m,D=B-C,E=y*j,G=x*T,H=E-G,I=x*g,J=d*j,K=I-J,L=d*T,N=y*g,O=L-N,P=p*j,Q=x*m,R=P-Q,S=d*d+g*g+w*w,U=p*p+m*m+A*A,V=y*y+T*T+F*F,W=x*x+j*j+k*k,X=V*(k*z+w*R+A*K)-W*(w*D-A*O+F*z)+(S*(A*H-F*R+k*D)-U*(F*K+k*O+w*H)),Y=Math.abs(w),Z=Math.abs(A),$=Math.abs(F),_=Math.abs(k),tt=Math.abs(q)+Math.abs(v),nt=Math.abs(B)+Math.abs(C),et=Math.abs(E)+Math.abs(G),rt=Math.abs(I)+Math.abs(J),st=Math.abs(L)+Math.abs(N),ot=Math.abs(P)+Math.abs(Q),at=(et*Z+ot*$+nt*_)*S+(rt*$+st*_+et*Y)*U+(tt*_+ot*Y+rt*Z)*V+(nt*Y+st*Z+tt*$)*W,ct=17763568394002532e-31*at;return X>ct||-X>ct?X:-un(t,n,e,r,s,o,a,c,f,i,u,h,b,M,l,at)},t.inspherefast=function(t,n,e,r,s,o,a,c,f,i,u,h,b,M,l){const d=t-b,p=r-b,y=a-b,x=i-b,g=n-M,m=s-M,T=c-M,j=u-M,w=e-l,A=o-l,F=f-l,k=h-l,q=d*m-p*g,v=p*T-y*m,z=y*j-x*T,B=x*g-d*j,C=d*T-y*g,D=p*j-x*m;return(y*y+T*T+F*F)*(k*q+w*D+A*B)-(x*x+j*j+k*k)*(w*v-A*C+F*q)+((d*d+g*g+w*w)*(A*z-F*D+k*v)-(p*p+m*m+A*A)*(F*B+k*C+w*z))},t.orient2d=function(t,n,o,a,c,i){const d=(n-i)*(o-c),p=(t-c)*(a-i),y=d-p,x=Math.abs(d+p);return Math.abs(y)>=33306690738754716e-32*x?y:-function(t,n,o,a,c,i,d){let p,y,x,g,m,T,j,w,A,F,k,q,v,z,B,C,D,E;const G=t-c,H=o-c,I=n-i,J=a-i;z=G*J,T=e*G,j=T-(T-G),w=G-j,T=e*J,A=T-(T-J),F=J-A,B=w*F-(z-j*A-w*A-j*F),C=I*H,T=e*I,j=T-(T-I),w=I-j,T=e*H,A=T-(T-H),F=H-A,D=w*F-(C-j*A-w*A-j*F),k=B-D,m=B-k,u[0]=B-(k+m)+(m-D),q=z+k,m=q-z,v=z-(q-m)+(k-m),k=v-C,m=v-k,u[1]=v-(k+m)+(m-C),E=q+k,m=E-q,u[2]=q-(E-m)+(k-m),u[3]=E;let K=f(4,u),L=22204460492503146e-32*d;if(K>=L||-K>=L)return K;if(m=t-G,p=t-(G+m)+(m-c),m=o-H,x=o-(H+m)+(m-c),m=n-I,y=n-(I+m)+(m-i),m=a-J,g=a-(J+m)+(m-i),0===p&&0===y&&0===x&&0===g)return K;if(L=11093356479670487e-47*d+r*Math.abs(K),K+=G*g+J*p-(I*x+H*y),K>=L||-K>=L)return K;z=p*J,T=e*p,j=T-(T-p),w=p-j,T=e*J,A=T-(T-J),F=J-A,B=w*F-(z-j*A-w*A-j*F),C=y*H,T=e*y,j=T-(T-y),w=y-j,T=e*H,A=T-(T-H),F=H-A,D=w*F-(C-j*A-w*A-j*F),k=B-D,m=B-k,l[0]=B-(k+m)+(m-D),q=z+k,m=q-z,v=z-(q-m)+(k-m),k=v-C,m=v-k,l[1]=v-(k+m)+(m-C),E=q+k,m=E-q,l[2]=q-(E-m)+(k-m),l[3]=E;const N=s(4,u,4,l,h);z=G*g,T=e*G,j=T-(T-G),w=G-j,T=e*g,A=T-(T-g),F=g-A,B=w*F-(z-j*A-w*A-j*F),C=I*x,T=e*I,j=T-(T-I),w=I-j,T=e*x,A=T-(T-x),F=x-A,D=w*F-(C-j*A-w*A-j*F),k=B-D,m=B-k,l[0]=B-(k+m)+(m-D),q=z+k,m=q-z,v=z-(q-m)+(k-m),k=v-C,m=v-k,l[1]=v-(k+m)+(m-C),E=q+k,m=E-q,l[2]=q-(E-m)+(k-m),l[3]=E;const O=s(N,h,4,l,b);z=p*g,T=e*p,j=T-(T-p),w=p-j,T=e*g,A=T-(T-g),F=g-A,B=w*F-(z-j*A-w*A-j*F),C=y*x,T=e*y,j=T-(T-y),w=y-j,T=e*x,A=T-(T-x),F=x-A,D=w*F-(C-j*A-w*A-j*F),k=B-D,m=B-k,l[0]=B-(k+m)+(m-D),q=z+k,m=q-z,v=z-(q-m)+(k-m),k=v-C,m=v-k,l[1]=v-(k+m)+(m-C),E=q+k,m=E-q,l[2]=q-(E-m)+(k-m),l[3]=E;const P=s(O,b,4,l,M);return M[P-1]}(t,n,o,a,c,i,x)},t.orient2dfast=function(t,n,e,r,s,o){return(n-o)*(e-s)-(t-s)*(r-o)},t.orient3d=function(t,n,o,c,i,u,h,b,M,l,q,E){const J=t-l,K=c-l,L=h-l,N=n-q,O=i-q,P=b-q,Q=o-E,R=u-E,S=M-E,U=K*P,V=L*O,W=L*N,X=J*P,Y=J*O,Z=K*N,$=Q*(U-V)+R*(W-X)+S*(Y-Z),_=(Math.abs(U)+Math.abs(V))*Math.abs(Q)+(Math.abs(W)+Math.abs(X))*Math.abs(R)+(Math.abs(Y)+Math.abs(Z))*Math.abs(S),tt=7771561172376103e-31*_;return $>tt||-$>tt?$:function(t,n,o,c,i,u,h,b,M,l,q,E,J){let K,L,N,O,P,Q,R,S,U,V,W,X,Y,Z,$,_,tt,nt,et,rt,st,ot,at,ct;const ft=t-l,it=c-l,ut=h-l,ht=n-q,bt=i-q,Mt=b-q,lt=o-E,dt=u-E,pt=M-E;rt=it*Mt,X=e*it,Y=X-(X-it),Z=it-Y,X=e*Mt,$=X-(X-Mt),_=Mt-$,st=Z*_-(rt-Y*$-Z*$-Y*_),ot=ut*bt,X=e*ut,Y=X-(X-ut),Z=ut-Y,X=e*bt,$=X-(X-bt),_=bt-$,at=Z*_-(ot-Y*$-Z*$-Y*_),tt=st-at,W=st-tt,d[0]=st-(tt+W)+(W-at),nt=rt+tt,W=nt-rt,et=rt-(nt-W)+(tt-W),tt=et-ot,W=et-tt,d[1]=et-(tt+W)+(W-ot),ct=nt+tt,W=ct-nt,d[2]=nt-(ct-W)+(tt-W),d[3]=ct,rt=ut*ht,X=e*ut,Y=X-(X-ut),Z=ut-Y,X=e*ht,$=X-(X-ht),_=ht-$,st=Z*_-(rt-Y*$-Z*$-Y*_),ot=ft*Mt,X=e*ft,Y=X-(X-ft),Z=ft-Y,X=e*Mt,$=X-(X-Mt),_=Mt-$,at=Z*_-(ot-Y*$-Z*$-Y*_),tt=st-at,W=st-tt,p[0]=st-(tt+W)+(W-at),nt=rt+tt,W=nt-rt,et=rt-(nt-W)+(tt-W),tt=et-ot,W=et-tt,p[1]=et-(tt+W)+(W-ot),ct=nt+tt,W=ct-nt,p[2]=nt-(ct-W)+(tt-W),p[3]=ct,rt=ft*bt,X=e*ft,Y=X-(X-ft),Z=ft-Y,X=e*bt,$=X-(X-bt),_=bt-$,st=Z*_-(rt-Y*$-Z*$-Y*_),ot=it*ht,X=e*it,Y=X-(X-it),Z=it-Y,X=e*ht,$=X-(X-ht),_=ht-$,at=Z*_-(ot-Y*$-Z*$-Y*_),tt=st-at,W=st-tt,y[0]=st-(tt+W)+(W-at),nt=rt+tt,W=nt-rt,et=rt-(nt-W)+(tt-W),tt=et-ot,W=et-tt,y[1]=et-(tt+W)+(W-ot),ct=nt+tt,W=ct-nt,y[2]=nt-(ct-W)+(tt-W),y[3]=ct,K=s(s(a(4,d,lt,v),v,a(4,p,dt,z),z,B),B,a(4,y,pt,v),v,D);let yt=f(K,D),xt=3330669073875473e-31*J;if(yt>=xt||-yt>=xt)return yt;if(W=t-ft,L=t-(ft+W)+(W-l),W=c-it,N=c-(it+W)+(W-l),W=h-ut,O=h-(ut+W)+(W-l),W=n-ht,P=n-(ht+W)+(W-q),W=i-bt,Q=i-(bt+W)+(W-q),W=b-Mt,R=b-(Mt+W)+(W-q),W=o-lt,S=o-(lt+W)+(W-E),W=u-dt,U=u-(dt+W)+(W-E),W=M-pt,V=M-(pt+W)+(W-E),0===L&&0===N&&0===O&&0===P&&0===Q&&0===R&&0===S&&0===U&&0===V)return yt;if(xt=32047474274603644e-47*J+r*Math.abs(yt),yt+=lt*(it*R+Mt*N-(bt*O+ut*Q))+S*(it*Mt-bt*ut)+dt*(ut*P+ht*O-(Mt*L+ft*R))+U*(ut*ht-Mt*ft)+pt*(ft*Q+bt*L-(ht*N+it*P))+V*(ft*bt-ht*it),yt>=xt||-yt>=xt)return yt;const gt=H(L,P,it,bt,ut,Mt,x,g),mt=H(N,Q,ut,Mt,ft,ht,m,T),Tt=H(O,R,ft,ht,it,bt,j,w),jt=s(mt,m,Tt,w,A);K=G(K,a(jt,A,lt,B),B);const wt=s(Tt,j,gt,g,F);K=G(K,a(wt,F,dt,B),B);const At=s(gt,x,mt,T,k);return K=G(K,a(At,k,pt,B),B),0!==S&&(K=G(K,a(4,d,S,C),C),K=G(K,a(jt,A,S,B),B)),0!==U&&(K=G(K,a(4,p,U,C),C),K=G(K,a(wt,F,U,B),B)),0!==V&&(K=G(K,a(4,y,V,C),C),K=G(K,a(At,k,V,B),B)),0!==L&&(0!==Q&&(K=I(K,L,Q,pt,V)),0!==R&&(K=I(K,-L,R,dt,U))),0!==N&&(0!==R&&(K=I(K,N,R,lt,S)),0!==P&&(K=I(K,-N,P,pt,V))),0!==O&&(0!==P&&(K=I(K,O,P,dt,U)),0!==Q&&(K=I(K,-O,Q,lt,S))),D[K-1]}(t,n,o,c,i,u,h,b,M,l,q,E,_)},t.orient3dfast=function(t,n,e,r,s,o,a,c,f,i,u,h){const b=n-u,M=s-u,l=c-u,d=e-h,p=o-h,y=f-h;return(t-i)*(M*y-p*l)+(r-i)*(l*d-y*b)+(a-i)*(b*p-d*M)}});
|