@dreadwood-types/types 0.1.44 → 0.1.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/areaTransitions.d.ts +1 -1
  2. package/dist/areaTransitions.d.ts.map +1 -1
  3. package/dist/areaTransitions.js +28 -0
  4. package/dist/areaTransitions.js.map +1 -1
  5. package/dist/bank.d.ts +2 -1
  6. package/dist/bank.d.ts.map +1 -1
  7. package/dist/bank.js +2 -1
  8. package/dist/bank.js.map +1 -1
  9. package/dist/blacksmithing.d.ts +16 -1
  10. package/dist/blacksmithing.d.ts.map +1 -1
  11. package/dist/blacksmithing.js +221 -0
  12. package/dist/blacksmithing.js.map +1 -1
  13. package/dist/bloodRiver.d.ts +115 -0
  14. package/dist/bloodRiver.d.ts.map +1 -0
  15. package/dist/bloodRiver.js +252 -0
  16. package/dist/bloodRiver.js.map +1 -0
  17. package/dist/brokenRoad.d.ts +103 -0
  18. package/dist/brokenRoad.d.ts.map +1 -0
  19. package/dist/brokenRoad.js +167 -0
  20. package/dist/brokenRoad.js.map +1 -0
  21. package/dist/capital.d.ts +270 -0
  22. package/dist/capital.d.ts.map +1 -0
  23. package/dist/capital.js +306 -0
  24. package/dist/capital.js.map +1 -0
  25. package/dist/clientConfig.d.ts +34 -2
  26. package/dist/clientConfig.d.ts.map +1 -1
  27. package/dist/clientConfig.js +26 -2
  28. package/dist/clientConfig.js.map +1 -1
  29. package/dist/constants.d.ts +145 -9
  30. package/dist/constants.d.ts.map +1 -1
  31. package/dist/constants.js +302 -8
  32. package/dist/constants.js.map +1 -1
  33. package/dist/cooking.d.ts +21 -0
  34. package/dist/cooking.d.ts.map +1 -1
  35. package/dist/cooking.js +52 -26
  36. package/dist/cooking.js.map +1 -1
  37. package/dist/dreadwoodsZones.d.ts +15 -1
  38. package/dist/dreadwoodsZones.d.ts.map +1 -1
  39. package/dist/dreadwoodsZones.js +63 -0
  40. package/dist/dreadwoodsZones.js.map +1 -1
  41. package/dist/equipment.d.ts +16 -1
  42. package/dist/equipment.d.ts.map +1 -1
  43. package/dist/equipment.js +61 -0
  44. package/dist/equipment.js.map +1 -1
  45. package/dist/groundItems.d.ts +5 -0
  46. package/dist/groundItems.d.ts.map +1 -1
  47. package/dist/groundItems.js +12 -1
  48. package/dist/groundItems.js.map +1 -1
  49. package/dist/index.d.ts +5 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +5 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/landmarks.d.ts +600 -104
  54. package/dist/landmarks.d.ts.map +1 -1
  55. package/dist/landmarks.js +803 -105
  56. package/dist/landmarks.js.map +1 -1
  57. package/dist/messages.d.ts +146 -11
  58. package/dist/messages.d.ts.map +1 -1
  59. package/dist/messages.js +4 -0
  60. package/dist/messages.js.map +1 -1
  61. package/dist/mineCave.d.ts +71 -0
  62. package/dist/mineCave.d.ts.map +1 -0
  63. package/dist/mineCave.js +39 -0
  64. package/dist/mineCave.js.map +1 -0
  65. package/dist/mining.d.ts +16 -5
  66. package/dist/mining.d.ts.map +1 -1
  67. package/dist/mining.js +24 -5
  68. package/dist/mining.js.map +1 -1
  69. package/dist/quests.d.ts +3 -1
  70. package/dist/quests.d.ts.map +1 -1
  71. package/dist/quests.js +18 -1
  72. package/dist/quests.js.map +1 -1
  73. package/dist/travel.d.ts +66 -0
  74. package/dist/travel.d.ts.map +1 -0
  75. package/dist/travel.js +91 -0
  76. package/dist/travel.js.map +1 -0
  77. package/dist/woodwork.d.ts +128 -13
  78. package/dist/woodwork.d.ts.map +1 -1
  79. package/dist/woodwork.js +253 -19
  80. package/dist/woodwork.js.map +1 -1
  81. package/dist/xp.d.ts +7 -0
  82. package/dist/xp.d.ts.map +1 -1
  83. package/dist/xp.js +7 -0
  84. package/dist/xp.js.map +1 -1
  85. package/package.json +1 -1
package/dist/constants.js CHANGED
@@ -114,6 +114,16 @@ export const NON_IDENTIFIABLE_KINDS = new Set([
114
114
  'townwall',
115
115
  'towngate',
116
116
  'marketstall',
117
+ // The Capital's masonry, likewise.
118
+ 'castle',
119
+ 'statue',
120
+ 'fountain',
121
+ 'citywall',
122
+ 'stonebridge',
123
+ 'rowhouse',
124
+ 'gardenwall',
125
+ 'banner',
126
+ 'yardprop',
117
127
  'cobweb',
118
128
  // Street and yard furniture you walk past, never use.
119
129
  'tradingcart',
@@ -129,6 +139,7 @@ export const NON_IDENTIFIABLE_KINDS = new Set([
129
139
  'stalagmite',
130
140
  'icecrystal',
131
141
  'iceshard',
142
+ 'dreadprop',
132
143
  'icefall',
133
144
  'icearch',
134
145
  'icecell',
@@ -170,6 +181,15 @@ export var SurfaceType;
170
181
  * of pale blue ice. Laid by the frozen lake builder, never by the snow pass.
171
182
  */
172
183
  SurfaceType[SurfaceType["Ice"] = 10] = "Ice";
184
+ /**
185
+ * Indoor floors, laid by the builders under every walk-in building
186
+ * (2026-09-20): Boards for houses, shops, inns and warehouses; Flagstones
187
+ * for halls, banks, temples and forges. Both walk like Path. They exist so
188
+ * the client can draw an inside as an inside instead of running the street
189
+ * through the door.
190
+ */
191
+ SurfaceType[SurfaceType["Boards"] = 11] = "Boards";
192
+ SurfaceType[SurfaceType["Flagstones"] = 12] = "Flagstones";
173
193
  })(SurfaceType || (SurfaceType = {}));
174
194
  export var TileType;
175
195
  (function (TileType) {
@@ -192,6 +212,8 @@ export const SURFACE_COLORS = {
192
212
  [SurfaceType.Mud]: '#4a3824',
193
213
  [SurfaceType.Snow]: '#e6edf3',
194
214
  [SurfaceType.Ice]: '#b9d3e6',
215
+ [SurfaceType.Boards]: '#8a6a44',
216
+ [SurfaceType.Flagstones]: '#6e6b66',
195
217
  };
196
218
  export const TILE_COLORS = {
197
219
  [TileType.Grass]: '#4a7c3f',
@@ -245,7 +267,9 @@ export function isWalkableSurface(surface) {
245
267
  surface === SurfaceType.Dirt ||
246
268
  surface === SurfaceType.Soil ||
247
269
  surface === SurfaceType.Stone ||
248
- surface === SurfaceType.Mud);
270
+ surface === SurfaceType.Mud ||
271
+ surface === SurfaceType.Boards ||
272
+ surface === SurfaceType.Flagstones);
249
273
  }
250
274
  export function entityBlocksWalk(kind) {
251
275
  return (kind === 'tree' ||
@@ -259,6 +283,9 @@ export function entityBlocksWalk(kind) {
259
283
  kind === 'farmhut' ||
260
284
  kind === 'storagehut' ||
261
285
  kind === 'bankchest' ||
286
+ // A blacksmith's stations are solid iron and stone; you work them from beside.
287
+ kind === 'anvil' ||
288
+ kind === 'furnace' ||
262
289
  kind === 'workshop' ||
263
290
  kind === 'table' ||
264
291
  kind === 'fence' ||
@@ -319,8 +346,28 @@ export function entityBlocksWalk(kind) {
319
346
  kind === 'icehole' ||
320
347
  kind === 'stagbanner' ||
321
348
  kind === 'iceshard' ||
349
+ // The woods' props all hold their tile: a cart, gibbet or shrine is
350
+ // solid, and nobody should stand in a grave or a cold fire pit either.
351
+ kind === 'dreadprop' ||
322
352
  // A table of fish and knives is furniture, not floor.
323
353
  kind === 'baittable' ||
354
+ // The keep is a building you cannot enter yet; a plinth and a basin are solid.
355
+ kind === 'castle' ||
356
+ kind === 'statue' ||
357
+ kind === 'fountain' ||
358
+ // The city fabric: walls and props solid, the gatehouse solid but for its
359
+ // passage, the buildings hollow (see the branches below). stonebridge is
360
+ // deck you walk on and is deliberately absent.
361
+ kind === 'citywall' ||
362
+ kind === 'gatehouse' ||
363
+ kind === 'rowhouse' ||
364
+ kind === 'manor' ||
365
+ kind === 'temple' ||
366
+ kind === 'forgehall' ||
367
+ kind === 'warehouse' ||
368
+ kind === 'gardenwall' ||
369
+ kind === 'banner' ||
370
+ kind === 'yardprop' ||
324
371
  // Crystals and pillars are solid; a gate bars its whole span and a rune
325
372
  // arch its two piers (see visitBlockedWalkOffsets). Frost traps and rope
326
373
  // bridges are floor you walk over.
@@ -433,11 +480,42 @@ export function isRanchGateOpen(style) {
433
480
  * the abandoned wreck (no enter icon); repaired players use the door portal.
434
481
  */
435
482
  export const STORAGE_HUT_DOOR_CLOSED_STYLE = 'repaired-closed';
483
+ /**
484
+ * The Long Pier hut's repaired family. The pier hut mends into an open-topped
485
+ * bank room rather than Base Camp's roofed store, so it needs its own
486
+ * repaired styles for the client to branch on; the door rule is the same
487
+ * (plain = open, `-closed` = shut).
488
+ */
489
+ export const HOPE_PIER_HUT_REPAIRED_STYLE = 'repaired-pier';
490
+ export const HOPE_PIER_HUT_REPAIRED_CLOSED_STYLE = 'repaired-pier-closed';
436
491
  export function isStorageHutRepairedStyle(style) {
437
- return style === 'repaired' || style === STORAGE_HUT_DOOR_CLOSED_STYLE;
492
+ return (style === 'repaired' ||
493
+ style === STORAGE_HUT_DOOR_CLOSED_STYLE ||
494
+ style === HOPE_PIER_HUT_REPAIRED_STYLE ||
495
+ style === HOPE_PIER_HUT_REPAIRED_CLOSED_STYLE);
438
496
  }
439
497
  export function isStorageHutDoorOpen(style) {
440
- return style !== STORAGE_HUT_DOOR_CLOSED_STYLE;
498
+ return style !== STORAGE_HUT_DOOR_CLOSED_STYLE && style !== HOPE_PIER_HUT_REPAIRED_CLOSED_STYLE;
499
+ }
500
+ /** Any of the pier hut's styles, wrecked or mended: the client draws the pier room for these. */
501
+ export function isStorageHutPierStyle(style) {
502
+ return (style === HOPE_PIER_HUT_STYLE ||
503
+ style === HOPE_PIER_HUT_REPAIRED_STYLE ||
504
+ style === HOPE_PIER_HUT_REPAIRED_CLOSED_STYLE);
505
+ }
506
+ /**
507
+ * The open and closed repaired styles for a hut. The server rewrites the
508
+ * abandoned world entity to one of these per viewer, so the pair must come
509
+ * from the hut's key and never from the (unchanging) live style.
510
+ */
511
+ export function storageHutRepairedStyles(key) {
512
+ return key === 'pier'
513
+ ? { open: HOPE_PIER_HUT_REPAIRED_STYLE, closed: HOPE_PIER_HUT_REPAIRED_CLOSED_STYLE }
514
+ : { open: 'repaired', closed: STORAGE_HUT_DOOR_CLOSED_STYLE };
515
+ }
516
+ export const HOPE_PIER_HUT_STYLE = 'abandoned-pier';
517
+ export function storageHutKey(style) {
518
+ return style === HOPE_PIER_HUT_STYLE ? 'pier' : 'camp';
441
519
  }
442
520
  export function isGateInteractable(kind, style) {
443
521
  if (kind === 'ranchgate')
@@ -481,7 +559,11 @@ export function toggleGateStyle(kind, style) {
481
559
  if (kind === 'storagehut') {
482
560
  if (!isStorageHutRepairedStyle(style))
483
561
  return style;
484
- return isStorageHutDoorOpen(style) ? STORAGE_HUT_DOOR_CLOSED_STYLE : 'repaired';
562
+ // Swap within the same family: a pier door must not toggle into Base
563
+ // Camp's roofed look. storageHutKey only knows the abandoned style, so
564
+ // the family is read off the repaired style itself here.
565
+ const family = storageHutRepairedStyles(isStorageHutPierStyle(style) ? 'pier' : 'camp');
566
+ return isStorageHutDoorOpen(style) ? family.closed : family.open;
485
567
  }
486
568
  return style;
487
569
  }
@@ -592,6 +674,24 @@ export function stoneHouseVariant(style) {
592
674
  const name = dash > 0 ? raw.slice(0, dash) : raw;
593
675
  return STONE_HOUSE_VARIANT_NAMES.has(name) ? name : 'house';
594
676
  }
677
+ /**
678
+ * What a walk-in building stands on (2026-09-20): flagstones under the
679
+ * civic and trade halls (town and guild halls, banks, pubs, temples,
680
+ * forges), boards under the houses, shops, inns, lodges and warehouses.
681
+ * Read by every builder that floors a footprint so a bank in Calverton and
682
+ * a bank in the Capital agree.
683
+ */
684
+ export function buildingFloorSurface(kind, style) {
685
+ if (kind === 'stonehouse') {
686
+ const variant = stoneHouseVariant(style);
687
+ return variant === 'hall' || variant === 'bank' || variant === 'pub' ? SurfaceType.Flagstones : SurfaceType.Boards;
688
+ }
689
+ if (kind === 'warehouse')
690
+ return SurfaceType.Boards;
691
+ if (kind === 'temple' || kind === 'forgehall' || kind === 'manor')
692
+ return SurfaceType.Flagstones;
693
+ return SurfaceType.Path;
694
+ }
595
695
  /**
596
696
  * Which way the door looks, as a world-space facing.
597
697
  *
@@ -613,7 +713,110 @@ export function stoneHouseDoorFacing(style) {
613
713
  return 'negX';
614
714
  return 'posZ';
615
715
  }
716
+ /** The Capital keep's footprint half-extents: 25 by 19 tiles about its tile. */
717
+ export const CASTLE_KEEP_HALF_X = 12;
718
+ export const CASTLE_KEEP_HALF_Z = 9;
719
+ /**
720
+ * The Capital's walk-in buildings: half-extents with the door on +Z before
721
+ * the facing turns them, style `<variant>-<facing>` like the stonehouses.
722
+ * across: half-width along the street face; deep: half-depth away from it.
723
+ */
724
+ export const CAPITAL_BUILDING_HALVES = {
725
+ rowhouse: { across: 2, deep: 3 },
726
+ manor: { across: 5, deep: 5 },
727
+ temple: { across: 6, deep: 8 },
728
+ forgehall: { across: 5, deep: 4 },
729
+ warehouse: { across: 4, deep: 6 },
730
+ };
731
+ export function capitalBuildingFootprint(kind, style) {
732
+ let halves = CAPITAL_BUILDING_HALVES[kind];
733
+ if (!halves)
734
+ return { radiusX: 0, radiusZ: 0 };
735
+ // A rowhouse style is `<roof>[-<tokens>]-<facing>`; the `wide` token is a
736
+ // seven-across house, the rest (storeys, gable, balcony, awning, timber,
737
+ // dormer, ext) are looks only and keep the five-by-seven ring.
738
+ if (kind === 'rowhouse' && rowhouseTokens(style).has('wide'))
739
+ halves = { across: 3, deep: halves.deep };
740
+ const facing = stoneHouseDoorFacing(style);
741
+ if (facing === 'posX' || facing === 'negX')
742
+ return { radiusX: halves.deep, radiusZ: halves.across };
743
+ return { radiusX: halves.across, radiusZ: halves.deep };
744
+ }
745
+ /** The look tokens between a rowhouse style's roof and its facing. */
746
+ export function rowhouseTokens(style) {
747
+ const parts = (style ?? '').split('-');
748
+ return new Set(parts.slice(1, Math.max(1, parts.length - 1)));
749
+ }
750
+ /**
751
+ * citywall: the piece stands on the wall's outer row and is two tiles thick
752
+ * inward (n: +z is inward, s: -z, w: +x, e: -x). A bastion is a 3x3 drum on
753
+ * its tile. The inner curtain (curtain-<side>) is one tile thick.
754
+ */
755
+ export function visitCityWallOffsets(style, visit) {
756
+ const raw = style ?? 'n';
757
+ // Bastions and the skyline towers (tower-castle, tower-bell, tower-watch,
758
+ // tower-guild, tower-clock) are three by three about their tile.
759
+ if (raw.startsWith('bastion') || raw.startsWith('tower')) {
760
+ for (let dz = -1; dz <= 1; dz++)
761
+ for (let dx = -1; dx <= 1; dx++)
762
+ visit(dx, dz);
763
+ return;
764
+ }
765
+ visit(0, 0);
766
+ if (raw.startsWith('curtain'))
767
+ return;
768
+ const side = raw.startsWith('corner-') ? raw.slice(7) : raw;
769
+ // A corner piece fills its 2x2: the two inward tiles of both sides it joins.
770
+ if (side.includes('n'))
771
+ visit(0, 1);
772
+ if (side.includes('s'))
773
+ visit(0, -1);
774
+ if (side.includes('w'))
775
+ visit(1, 0);
776
+ if (side.includes('e'))
777
+ visit(-1, 0);
778
+ if (side.length === 2) {
779
+ const dx = side.includes('w') ? 1 : -1;
780
+ const dz = side.includes('n') ? 1 : -1;
781
+ visit(dx, dz);
782
+ }
783
+ }
784
+ /**
785
+ * The gatehouse's span across the passage (tiles either side of centre) and
786
+ * its depth along it. The Great Gate (main-*) is the monumental one: towers
787
+ * on tiles +-3..6 and a seven-tile tunnel; the side, inner and barbican
788
+ * gates are two tiles smaller each way.
789
+ */
790
+ export const GATEHOUSE_HALF_SPAN = 6;
791
+ export const GATEHOUSE_SIDE_HALF_SPAN = 4;
792
+ export const GATEHOUSE_HALF_DEPTH = 3;
793
+ export const GATEHOUSE_SIDE_HALF_DEPTH = 2;
794
+ export const GATEHOUSE_PASSAGE_HALF_W = 2;
795
+ /** Which way the passage runs: -w/-e styles run along x, -n/-s along z. */
796
+ export function gatehousePassageAlongX(style) {
797
+ const facing = (style ?? 'main-w').split('-').pop();
798
+ return facing === 'w' || facing === 'e';
799
+ }
800
+ export function visitGatehouseOffsets(style, visit) {
801
+ const alongX = gatehousePassageAlongX(style);
802
+ const main = (style ?? 'main-w').startsWith('main');
803
+ const span = main ? GATEHOUSE_HALF_SPAN : GATEHOUSE_SIDE_HALF_SPAN;
804
+ const depth = main ? GATEHOUSE_HALF_DEPTH : GATEHOUSE_SIDE_HALF_DEPTH;
805
+ for (let along = -depth; along <= depth; along++) {
806
+ for (let across = -span; across <= span; across++) {
807
+ if (Math.abs(across) <= GATEHOUSE_PASSAGE_HALF_W)
808
+ continue;
809
+ if (alongX)
810
+ visit(along, across);
811
+ else
812
+ visit(across, along);
813
+ }
814
+ }
815
+ }
616
816
  export function buildingFootprintExtents(kind, scale, style) {
817
+ if (kind === 'rowhouse' || kind === 'manor' || kind === 'temple' || kind === 'forgehall' || kind === 'warehouse') {
818
+ return capitalBuildingFootprint(kind, style);
819
+ }
617
820
  if (kind === 'stonehouse') {
618
821
  const variant = stoneHouseVariant(style);
619
822
  if (variant === 'lodge') {
@@ -741,6 +944,8 @@ export function blockingFootprintRadius(kind, style, scale) {
741
944
  }
742
945
  if (kind === 'archertower' && style === 'snow-tower')
743
946
  return 1;
947
+ if (kind === 'archertower' && style === 'goblin-ruin')
948
+ return 2;
744
949
  if (kind === 'fortwall' || kind === 'archertower')
745
950
  return 0;
746
951
  if (kind === 'fence' || kind === 'table' || kind === 'barbedwire' || kind === 'barricade') {
@@ -772,12 +977,21 @@ export function blockingFootprintRadius(kind, style, scale) {
772
977
  return 0;
773
978
  return 2;
774
979
  }
980
+ // The landing hut on the Frozen Shore is a one-room timber hut, 3x3, not
981
+ // a goblin mudhut's 5x5 (see the `landing-` styles in bransonsLanding.ts).
982
+ if (kind === 'mudhut' && style?.startsWith('landing-'))
983
+ return 1;
775
984
  if (kind === 'mudhut')
776
985
  return 2;
777
986
  // A crystal node is a boulder-sized cluster; the smaller clusters and every
778
987
  // pillar, banner pole and heaved slab hold their own tile only.
779
988
  if (kind === 'icecrystal')
780
989
  return style === 'node' ? 1 : 0;
990
+ // The Broken Road's two big props: a ruined tower and a ridge tent both
991
+ // stand across three tiles. Every other dreadprop holds its own tile only.
992
+ if (kind === 'dreadprop' && typeof style === 'string' && (style.startsWith('ruin') || style.startsWith('tent'))) {
993
+ return 1;
994
+ }
781
995
  // The seal's plinth fills the middle of its rings; the rings are steps.
782
996
  if (kind === 'shrine')
783
997
  return 1;
@@ -864,6 +1078,8 @@ export function isDenExitStyle(style) {
864
1078
  }
865
1079
  export function caveEntranceApproachOffset(style) {
866
1080
  const { fx, fz } = caveEntranceFacing(style);
1081
+ if (style?.startsWith('mine-'))
1082
+ return { dx: fx * 2, dz: fz * 2 };
867
1083
  const compact = isCaveTunnelExitStyle(style) ||
868
1084
  isAnimalDenStyle(style) ||
869
1085
  isDenExitStyle(style) ||
@@ -876,6 +1092,19 @@ export function caveEntranceApproachOffset(style) {
876
1092
  return { dx: dist * fx, dz: dist * fz };
877
1093
  }
878
1094
  export function visitCaveEntranceBlockedOffsets(style, visit) {
1095
+ if (style === 'mine-entry-south') {
1096
+ visitBlockedWalkOffsets('minehead', undefined, 1, visit);
1097
+ return;
1098
+ }
1099
+ if (style === 'mine-return-north') {
1100
+ for (let dx = -3; dx <= 3; dx++) {
1101
+ for (let dz = 0; dz <= 3; dz++) {
1102
+ if (Math.abs(dx) >= 2 || dz >= 1)
1103
+ visit(dx, dz);
1104
+ }
1105
+ }
1106
+ return;
1107
+ }
879
1108
  if (style === 'goblin-return-north') {
880
1109
  for (let dx = -1; dx <= 1; dx++)
881
1110
  visit(dx, 0);
@@ -915,9 +1144,15 @@ export function visitCaveEntranceBlockedOffsets(style, visit) {
915
1144
  den ||
916
1145
  isDenExitStyle(style) ||
917
1146
  isWolfDenExitStyle(style);
918
- const forwardMax = compact ? 1 : CAVE_ENTRANCE_FORWARD;
919
- const backMax = compact ? 0 : CAVE_ENTRANCE_BACK;
920
- const halfW = den ? 2 : compact ? 1 : CAVE_ENTRANCE_HALF_WIDTH;
1147
+ // The Rat Tunnel's far-side mouth is set into the rock at the edge of the
1148
+ // arrival clearing: rock behind and beside it, and the clearing in front
1149
+ // is exactly where a player leaving the tunnel lands, so nothing forward.
1150
+ const farside = typeof style === 'string' && style.startsWith('farside');
1151
+ const forwardMax = farside ? 0 : compact ? 1 : CAVE_ENTRANCE_FORWARD;
1152
+ // A forest rat warren carries a ridge of stone behind its mouth (the mound
1153
+ // has to come out of something), so it owns the row behind as well.
1154
+ const backMax = farside ? 3 : isAnimalDenStyle(style) ? 1 : compact ? 0 : CAVE_ENTRANCE_BACK;
1155
+ const halfW = farside ? 2 : den ? 2 : compact ? 1 : CAVE_ENTRANCE_HALF_WIDTH;
921
1156
  for (let forward = -backMax; forward <= forwardMax; forward++) {
922
1157
  for (let side = -halfW; side <= halfW; side++) {
923
1158
  visit(forward * fx + side * sx, forward * fz + side * sz);
@@ -962,6 +1197,25 @@ function visitWorkbenchBlockedOffsets(style, scale, visit) {
962
1197
  export function visitBlockedWalkOffsets(kind, style, scale, visit, doorFacing = kind === 'storagehut' ? 'negZ' : 'posZ') {
963
1198
  if (!entityBlocksWalk(kind))
964
1199
  return;
1200
+ // The Base Camp sign hangs under the gate beam with nothing on the ground:
1201
+ // stamping its tile put one blocked square in the middle of the east road
1202
+ // where it passes through the gate.
1203
+ if (kind === 'signpost' && style === 'basecamp')
1204
+ return;
1205
+ if (kind === 'fence' && style === 'mine-working-face') {
1206
+ for (let dx = -2; dx <= 2; dx++)
1207
+ visit(dx, 0);
1208
+ return;
1209
+ }
1210
+ if (kind === 'barricade' && (style?.startsWith('goblin-broken') || style?.startsWith('goblin-wall'))) {
1211
+ for (let d = -1; d <= 1; d++) {
1212
+ if (style.endsWith('-ew'))
1213
+ visit(d, 0);
1214
+ else
1215
+ visit(0, d);
1216
+ }
1217
+ return;
1218
+ }
965
1219
  if (style?.startsWith('winter-')) {
966
1220
  // The new equipment has substantial geometry. Share its footprint with
967
1221
  // server paths and client prediction so players cannot walk through it.
@@ -1037,6 +1291,37 @@ export function visitBlockedWalkOffsets(kind, style, scale, visit, doorFacing =
1037
1291
  }
1038
1292
  return;
1039
1293
  }
1294
+ if (kind === 'castle') {
1295
+ // The keep's whole footprint (capital.ts CAPITAL_KEEP_HALF_X/Z); the
1296
+ // asset is built to the same extents. Nobody walks into it yet.
1297
+ for (let dz = -CASTLE_KEEP_HALF_Z; dz <= CASTLE_KEEP_HALF_Z; dz++) {
1298
+ for (let dx = -CASTLE_KEEP_HALF_X; dx <= CASTLE_KEEP_HALF_X; dx++)
1299
+ visit(dx, dz);
1300
+ }
1301
+ return;
1302
+ }
1303
+ if (kind === 'citywall') {
1304
+ visitCityWallOffsets(style, visit);
1305
+ return;
1306
+ }
1307
+ if (kind === 'gatehouse') {
1308
+ visitGatehouseOffsets(style, visit);
1309
+ return;
1310
+ }
1311
+ if (kind === 'gardenwall') {
1312
+ if (style?.startsWith('gate'))
1313
+ return;
1314
+ visit(0, 0);
1315
+ return;
1316
+ }
1317
+ if (kind === 'fountain') {
1318
+ // The basin: three by three about the centre.
1319
+ for (let dz = -1; dz <= 1; dz++) {
1320
+ for (let dx = -1; dx <= 1; dx++)
1321
+ visit(dx, dz);
1322
+ }
1323
+ return;
1324
+ }
1040
1325
  if (kind === 'brokengate') {
1041
1326
  // Posts and wreckage across three tiles; nobody climbs the splinters.
1042
1327
  const acrossZ = frostSpanAcrossZ(style);
@@ -1077,6 +1362,15 @@ export function visitBlockedWalkOffsets(kind, style, scale, visit, doorFacing =
1077
1362
  if (kind === 'fortwall' && isWoodenPalisadeDoorStyle(style))
1078
1363
  return;
1079
1364
  const buildingFp = buildingFootprintExtents(kind, scale, style);
1365
+ // A blind rowhouse is backdrop: no street door, solid through, so the
1366
+ // client never offers a way in and the player never tries one.
1367
+ if (kind === 'rowhouse' && rowhouseTokens(style).has('blind')) {
1368
+ for (let dz = -buildingFp.radiusZ; dz <= buildingFp.radiusZ; dz++) {
1369
+ for (let dx = -buildingFp.radiusX; dx <= buildingFp.radiusX; dx++)
1370
+ visit(dx, dz);
1371
+ }
1372
+ return;
1373
+ }
1080
1374
  if (buildingFp.radiusX > 0 && buildingFp.radiusZ > 0) {
1081
1375
  // Hollow buildings: only the wall ring is solid. The origin is interior
1082
1376
  // floor - blocking it sealed the storage hut so you could never stand inside.
@@ -1086,7 +1380,7 @@ export function visitBlockedWalkOffsets(kind, style, scale, visit, doorFacing =
1086
1380
  continue;
1087
1381
  // Cottage is a walk-through: south porch door and north garden door.
1088
1382
  if (kind === 'farmhut' &&
1089
- style === 'cottage' &&
1383
+ (style === 'cottage' || style?.startsWith('cottage-')) &&
1090
1384
  isBuildingDoorOffset(dx, dz, buildingFp, 'negZ')) {
1091
1385
  continue;
1092
1386
  }
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC;AAC3B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5G,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAE5D,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACrC,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,0BAA0B,eAAe,cAAc,CAAC;IACjE,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,yBAAyB,eAAe,cAAc,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,oFAAoF,CAAC;IAC9F,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAC1F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAC7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AACzF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,GAAG,kBAAkB,CAAC;AAC/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,GAAG,aAAa,CAAC;AACtD,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;AACvD,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC;AACvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,GAAG,oBAAoB,CAAC;AAClE,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,GAAG,aAAa,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAS;IACzE,kCAAkC;IAClC,OAAO;IACP,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,YAAY;IACZ,MAAM;IACN,YAAY;IACZ,WAAW;IACX,iEAAiE;IACjE,YAAY;IACZ,UAAU;IACV,UAAU;IACV,aAAa;IACb,QAAQ;IACR,sDAAsD;IACtD,aAAa;IACb,UAAU;IACV,YAAY;IACZ,cAAc;IACd,aAAa;IACb,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,2BAA2B;IAC3B,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,YAAY;IACZ,UAAU;IACV,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAAC,EAAU,EAAE,EAAU;IACpD,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,aAAa,IAAI,EAAE,GAAG,aAAa,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;AAChC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAC9C,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,GAAG,eAAe,CAAC;AACtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,2BAA2B,GAAG,eAAe,CAAC;AAChF,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,GAAG,eAAe,CAAC;AACtE,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,CAAN,IAAY,WAiBX;AAjBD,WAAY,WAAW;IACrB,+CAAS,CAAA;IACT,6CAAQ,CAAA;IACR,+CAAS,CAAA;IACT,6CAAQ,CAAA;IACR,2CAAO,CAAA;IACP,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,+CAAS,CAAA;IACT,2CAAO,CAAA;IACP,iFAAiF;IACjF,6CAAQ,CAAA;IACR;;;OAGG;IACH,4CAAQ,CAAA;AACV,CAAC,EAjBW,WAAW,KAAX,WAAW,QAiBtB;AAED,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,qCAAO,CAAA;AACT,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AAgYD,MAAM,CAAC,MAAM,cAAc,GAAgC;IACzD,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS;IAC9B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS;IAC7B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS;IAC9B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS;IAC7B,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS;IAC5B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS;IAC7B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS;IAC7B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS;IAC9B,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS;IAC5B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS;IAC7B,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA6B;IACnD,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS;IAC3B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS;IAC1B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS;IAC3B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS;IAC1B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS;IAC1B,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS;CAC1B,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,EAAU,EAAE,EAAU;IAC7C,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,CAAS;IAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;IACtC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;IACtC,OAAO;QACL,EAAE;QACF,EAAE;QACF,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU;QAChD,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,OAAO,MAAM,GAAG,eAAe,CAAC;AAClC,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,OAAO,MAAM,GAAG,eAAe,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAU,EAAE,EAAU,EAAE,MAAc;IACjE,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;QAC1C,KAAK,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAU,EAAE,EAAU;IAC/C,OAAO,EAAE,GAAG,UAAU,GAAG,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAoB;IACpD,IAAI,OAAO,KAAK,WAAW,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAChD,OAAO,CACL,OAAO,KAAK,WAAW,CAAC,KAAK;QAC7B,OAAO,KAAK,WAAW,CAAC,IAAI;QAC5B,OAAO,KAAK,WAAW,CAAC,GAAG;QAC3B,OAAO,KAAK,WAAW,CAAC,IAAI;QAC5B,OAAO,KAAK,WAAW,CAAC,IAAI;QAC5B,OAAO,KAAK,WAAW,CAAC,GAAG;QAC3B,OAAO,KAAK,WAAW,CAAC,IAAI;QAC5B,OAAO,KAAK,WAAW,CAAC,IAAI;QAC5B,OAAO,KAAK,WAAW,CAAC,KAAK;QAC7B,OAAO,KAAK,WAAW,CAAC,GAAG,CAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAgB;IAC/C,OAAO,CACL,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,MAAM;QACf,0EAA0E;QAC1E,0EAA0E;QAC1E,qDAAqD;QACrD,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,aAAa;QACtB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,aAAa;QACtB,qEAAqE;QACrE,wEAAwE;QACxE,uEAAuE;QACvE,oEAAoE;QACpE,oEAAoE;QACpE,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,aAAa;QACtB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,eAAe;QACxB,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,aAAa;QACtB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,QAAQ;QACjB,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,OAAO;QAChB,yEAAyE;QACzE,sEAAsE;QACtE,iDAAiD;QACjD,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,QAAQ;QACjB,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,QAAQ;QACjB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,cAAc;QACvB,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,aAAa;QACtB,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,cAAc;QACvB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,aAAa;QACtB,IAAI,KAAK,SAAS;QAClB,mEAAmE;QACnE,0DAA0D;QAC1D,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,UAAU;QACnB,sDAAsD;QACtD,IAAI,KAAK,WAAW;QACpB,wEAAwE;QACxE,yEAAyE;QACzE,mCAAmC;QACnC,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,UAAU;QACnB,0EAA0E;QAC1E,6CAA6C;QAC7C,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,cAAc;QACvB,IAAI,KAAK,QAAQ;QACjB,wEAAwE;QACxE,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,SAAS,CACnB,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAS,gBAAgB,CAAC,KAAyB;IACjD,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjE,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;AAC1C,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,yEAAyE;IACzE,2EAA2E;IAC3E,4DAA4D;IAC5D,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAyB;IAC1D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,uBAAuB,CAAC,KAAyB;IAC/D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,0CAA0C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7F,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC;AAQD,kEAAkE;AAClE,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACxE,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,EAAE,GAAG,KAAK,CAAC;IACf,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,EAAE,GAAG,IAAI,CAAC;QACV,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,GAAG,IAAI,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAmB;IACtD,IAAI,KAAK,GAAW,IAAI,CAAC,IAAI,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM;QAAE,KAAK,IAAI,SAAS,CAAC;IACpC,IAAI,IAAI,CAAC,EAAE;QAAE,KAAK,IAAI,KAAK,CAAC;IAC5B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,yBAAyB,CAAC,KAAyB;IACjE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACtE,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,eAAe,CAAC,KAAyB;IACvD,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAyB;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;AAE/D,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,6BAA6B,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,KAAK,KAAK,6BAA6B,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAyB,EAAE,KAAc;IAC1E,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrD,sEAAsE;IACtE,4DAA4D;IAC5D,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IACxC,uEAAuE;IACvE,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAyB,EAAE,KAAc;IAClE,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,IAAyB,EACzB,KAAyB;IAEzB,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM;YAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACzC,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,OAAO,oBAAoB,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACpD,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,UAAU,CAAC;IAClF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,uBAAuB,CACrC,IAAyB,EACzB,KAAyB,EACzB,KAAuC;IAEvC,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACZ,yEAAyE;QACzE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACb,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACd,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACb,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACd,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACZ,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,EAAE;gBAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;gBACpB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC;iBACtC,CAAC;gBAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAOD,4EAA4E;AAC5E,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,SAAS,0BAA0B,CACjC,SAAqC;IAErC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC;IACD,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtD,OAAO,EAAE,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAC/C,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC3B,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,CAAC,CAAC;IAC5B,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,CAAC,CAAC;AACX,CAAC;AAkCD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsC;IACnE,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAEjD,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS;IAChD,SAAS;IACT,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,SAAS;IACT,SAAS;IACT,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAC,CAAC;AAEH,mDAAmD;AACnD,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjD,OAAO,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAA0B,CAAC,CAAC,CAAC,OAAO,CAAC;AACrF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC5D,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAAgB,EAChB,KAAyB,EACzB,KAAc;IAEd,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC;YACvC,MAAM,MAAM,GAAG,+BAA+B,CAAC;YAC/C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7C,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC7C,CAAC;QACD,MAAM,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9F,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACpC,CAAC;IACD,MAAM,OAAO,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,KAAK,GAAG,oBAAoB,CAAC;QAC1C,MAAM,KAAK,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,4EAA4E;QAC5E,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAChD,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,+BAA+B,CAC7C,KAAyB,EACzB,KAAuC;IAEvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO;IAC9E,MAAM,EAAE,GAAG,wBAAwB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChE,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC;QAAE,OAAO;IAC/C,MAAM,IAAI,GAAG,KAAK,GAAG,oBAAoB,CAAC;IAC1C,MAAM,SAAS,GAAG,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,KAAK,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC;YAChD,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,uBAAuB,CACrC,IAAgB,EAChB,KAAyB,EACzB,KAAc;IAEd,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,EAAU,EACV,EAAU,EACV,SAAqC,EACrC,UAAU,GAAuB,MAAM;IAEvC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACnE,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;IAC7D,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;IAC9D,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7D,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,EAAU,EACV,EAAU,EACV,SAAqC,EACrC,UAAU,GAAuB,MAAM;IAEvC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACnE,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO;QAAE,OAAO,KAAK,CAAC;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;IACxE,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,EAAU,EACV,EAAU,EACV,SAAqC,EACrC,UAAU,GAAuB,MAAM;IAEvC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACnE,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAyB,EACzB,KAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG;QAAE,OAAO,CAAC,CAAC;IAClF,2EAA2E;IAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,IAAgB,EAChB,KAAyB,EACzB,KAAyB;IAEzB,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,CAAC,CAAC;IACxG,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,KAAK,KAAK,WAAW;YAAE,OAAO,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,KAAK,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QACjC,8EAA8E;QAC9E,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,cAAc;YAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,GAAG;YAAE,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IACnF,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,KAAK,aAAa,IAAI,KAAK,KAAK,YAAY;QAAE,OAAO,CAAC,CAAC;IAC/D,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QAC1F,OAAO,CAAC,CAAC;IACX,CAAC;IACD,yEAAyE;IACzE,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,mFAAmF;IACnF,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,CAAC,CAAC;IAClF,oEAAoE;IACpE,sEAAsE;IACtE,2EAA2E;IAC3E,yEAAyE;IACzE,4DAA4D;IAC5D,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,CAAC,CAAC;IAC3D,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,CAAC,CAAC;IAClC,4EAA4E;IAC5E,0EAA0E;IAC1E,uEAAuE;IACvE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAChC,4EAA4E;IAC5E,gEAAgE;IAChE,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,wEAAwE;IACxE,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,gFAAgF;AAChF,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,0EAA0E;AAC1E,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,SAAS,kBAAkB,CAAC,KAAyB;IAMnD,IAAI,KAAK,KAAK,qBAAqB;QAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC5E,IAAI,KAAK,KAAK,qBAAqB;QAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC3E,IAAI,KAAK,KAAK,eAAe;QAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACtE,IAAI,iBAAiB,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IACpE,MAAM,GAAG,GAAG,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC;QACjC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC;YACvB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACxB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,OAAO,CAAC;IAChB,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC3D,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC1D,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC5D,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC7D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,OAAO,KAAK,KAAK,eAAe,IAAI,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,OAAO,KAAK,KAAK,eAAe,IAAI,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;AAClF,CAAC;AAED;;;;;;GAMG;AACH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAC9C,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,cAAc,CAAC,KAAyB;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACvG,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,kBAAkB,CAAC,KAAyB;IAC1D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACtE,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,cAAc,CAAC,KAAyB;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAyB;IAIlE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,OAAO,GACX,qBAAqB,CAAC,KAAK,CAAC;QAC5B,gBAAgB,CAAC,KAAK,CAAC;QACvB,cAAc,CAAC,KAAK,CAAC;QACrB,iBAAiB,CAAC,KAAK,CAAC;QACxB,iBAAiB,CAAC,KAAK,CAAC;QACxB,gBAAgB,CAAC,KAAK,CAAC;QACvB,cAAc,CAAC,KAAK,CAAC;QACrB,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,CAAC;IACrD,OAAO,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,KAAyB,EACzB,KAAuC;IAEvC,IAAI,KAAK,KAAK,qBAAqB,EAAE,CAAC;QACpC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;YAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;QAC9B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACZ,OAAO;IACT,CAAC;IACD,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;QAC9B,4EAA4E;QAC5E,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;YAChC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;gBAChC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,KAAK,KAAK,eAAe,EAAE,CAAC;QAC9B,8EAA8E;QAC9E,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;YAChC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;gBAChC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,KAAK,KAAK,qBAAqB,EAAE,CAAC;QACpC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACZ,OAAO;IACT,CAAC;IACD,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxF,MAAM,OAAO,GACX,qBAAqB,CAAC,KAAK,CAAC;QAC5B,GAAG;QACH,cAAc,CAAC,KAAK,CAAC;QACrB,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACjD,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;IAC/D,KAAK,IAAI,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9D,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;YAC9C,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,4BAA4B,CACnC,KAAyB,EACzB,KAAyB,EACzB,KAAuC;IAEvC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACZ,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACvC,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO;IAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACZ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,IAAgB,EAChB,KAAyB,EACzB,KAAyB,EACzB,KAAuC,EACvC,UAAU,GAAuB,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;IAExE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAAE,OAAO;IACpC,IAAI,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,uEAAuE;QACvE,wEAAwE;QACxE,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,WAAW,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC/F,4BAA4B,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,4BAA4B,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;gBAAE,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;oBAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAChF,OAAO;QACT,CAAC;IACH,CAAC;IACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,4BAA4B,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,4EAA4E;QAC5E,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;YAChC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QACD,0EAA0E;QAC1E,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACZ,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,aAAa,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,wEAAwE;QACxE,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;YAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,aAAa,IAAI,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/D,0EAA0E;QAC1E,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;YAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,+BAA+B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,2DAA2D;QAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,OAAO;gBAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;gBACpB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,wEAAwE;QACxE,qEAAqE;QACrE,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,OAAO;gBAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;gBACpB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,sEAAsE;QACtE,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,OAAO;gBAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;gBACpB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,oEAAoE;QACpE,0CAA0C;QAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3B,IAAI,OAAO;oBAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;oBACpB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO;QACnC,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,IAAI,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO;QACnC,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,IAAI,yBAAyB,CAAC,KAAK,CAAC;QAAE,OAAO;IACpE,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAChE,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QACrD,wEAAwE;QACxE,8EAA8E;QAC9E,KAAK,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC;YAClE,KAAK,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC;gBAClE,IAAI,CAAC,wBAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC;oBAAE,SAAS;gBACxE,qEAAqE;gBACrE,IACE,IAAI,KAAK,SAAS;oBAClB,KAAK,KAAK,SAAS;oBACnB,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,EAChD,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAChB,CAAC;QACH,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7C,+BAA+B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,OAAO;IACT,CAAC;IACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACZ,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3D,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO;IACxB,KAAK,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;QAC1C,KAAK,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YAC1C,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,SAAS;YACnC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,IAAI,IAAI,KAAK,QAAQ,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,CACL,IAAI,KAAK,QAAQ,CAAC,KAAK;QACvB,IAAI,KAAK,QAAQ,CAAC,IAAI;QACtB,IAAI,KAAK,QAAQ,CAAC,IAAI;QACtB,IAAI,KAAK,QAAQ,CAAC,GAAG,CACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}