@trillboards/edge-sdk 0.2.127 → 0.2.129

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.
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ /**
3
+ * The pixel dimensions of a JPEG, read from its own header.
4
+ *
5
+ * WHY THIS EXISTS AT ALL. A detector box arrives in PIXELS and an operator's
6
+ * region is NORMALIZED, so one of them has to be converted and neither the
7
+ * detector wire nor `DetectResult` carries a frame size. Asking the service for
8
+ * one would change a FROZEN contract (`cctv-detector-tier.md`: it carries
9
+ * `classes` and nothing else) to obtain a number already present in the bytes we
10
+ * just sent it.
11
+ *
12
+ * WHY NOT A DECODE. `sharp` is not a connector dependency and a full decode of
13
+ * every frame to learn two integers is a per-frame cost on the hot path. The SOF
14
+ * marker is 9 bytes into a segment that appears once, near the front.
15
+ *
16
+ * IT RETURNS NULL RATHER THAN GUESSING. A truncated or non-JPEG buffer has no
17
+ * dimensions, and inventing 1920x1080 would silently rescale every region — a
18
+ * doorway at x=0.4 lands somewhere else and the alert quietly watches the wrong
19
+ * part of the room. The caller must treat null as "no region can be applied",
20
+ * which degrades to the unfocused count rather than to zero.
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.readJpegFrameSize = readJpegFrameSize;
24
+ /**
25
+ * Every Start-Of-Frame marker. SOF0/1/2 are the common ones; the rest are
26
+ * arithmetic/progressive/lossless variants that carry the SAME 5-byte header.
27
+ *
28
+ * NOT in this set on purpose: 0xC4 (DHT), 0xC8 (JPG, reserved) and 0xCC (DAC)
29
+ * share the 0xC0-0xCF range and are NOT frame headers. Reading dimensions out of
30
+ * a Huffman table is how a frame ends up 1x1 with no error anywhere.
31
+ */
32
+ const SOF_MARKERS = new Set([
33
+ 0xc0, 0xc1, 0xc2, 0xc3,
34
+ 0xc5, 0xc6, 0xc7,
35
+ 0xc9, 0xca, 0xcb,
36
+ 0xcd, 0xce, 0xcf,
37
+ ]);
38
+ /**
39
+ * @param jpeg the raw bytes, exactly as posted to the detector
40
+ * @returns the frame size, or null when the buffer is not a readable JPEG
41
+ */
42
+ function readJpegFrameSize(jpeg) {
43
+ if (!jpeg || jpeg.length < 4)
44
+ return null;
45
+ // SOI. A buffer that does not start with it is not a JPEG, and scanning on
46
+ // would find a "marker" in arbitrary payload bytes.
47
+ if (jpeg[0] !== 0xff || jpeg[1] !== 0xd8)
48
+ return null;
49
+ let i = 2;
50
+ while (i + 3 < jpeg.length) {
51
+ if (jpeg[i] !== 0xff) {
52
+ // Not at a marker. Resynchronising by scanning would read entropy-coded
53
+ // data as structure, so this refuses instead.
54
+ return null;
55
+ }
56
+ let marker = jpeg[i + 1];
57
+ // 0xFF fill bytes are legal padding before a marker.
58
+ let j = i + 1;
59
+ while (marker === 0xff && j + 1 < jpeg.length) {
60
+ j += 1;
61
+ marker = jpeg[j];
62
+ }
63
+ if (marker === 0xd8 || (marker >= 0xd0 && marker <= 0xd9)) {
64
+ i = j + 1;
65
+ continue;
66
+ }
67
+ // SOS: entropy-coded data begins and no SOF can follow. A JPEG that reaches
68
+ // here without one has no dimensions we can read.
69
+ if (marker === 0xda)
70
+ return null;
71
+ const lenAt = j + 1;
72
+ if (lenAt + 1 >= jpeg.length)
73
+ return null;
74
+ const segLen = (jpeg[lenAt] << 8) | jpeg[lenAt + 1];
75
+ if (segLen < 2)
76
+ return null;
77
+ if (SOF_MARKERS.has(marker)) {
78
+ // length(2) precision(1) height(2) width(2)
79
+ const h = lenAt + 3;
80
+ if (h + 3 >= jpeg.length)
81
+ return null;
82
+ const height = (jpeg[h] << 8) | jpeg[h + 1];
83
+ const width = (jpeg[h + 2] << 8) | jpeg[h + 3];
84
+ // A zero dimension is a malformed header, not a frame. Returning it would
85
+ // divide by zero downstream, or worse, be clamped to something plausible.
86
+ if (width <= 0 || height <= 0)
87
+ return null;
88
+ return { width, height };
89
+ }
90
+ i = lenAt + segLen;
91
+ }
92
+ return null;
93
+ }
94
+ //# sourceMappingURL=jpegFrameSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jpegFrameSize.js","sourceRoot":"","sources":["../src/jpegFrameSize.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { SetupSessionClient } from './SetupSessionClient';
2
- import { probeHost, type ChannelProbeResult } from './ChannelProber';
2
+ import { probeHost, grabOneFrameAnyTransport, type ChannelProbeResult } from './ChannelProber';
3
3
  import { discoverOnvifHosts, sweepLanForRecorders } from './discovery';
4
4
  import type { SetupProgressReporter } from './setupProgress';
5
5
  /**
@@ -23,6 +23,21 @@ import type { SetupProgressReporter } from './setupProgress';
23
23
  * NVR credentials live ONLY in memory here (delivered per probe command) and
24
24
  * are persisted solely into the local config file (0600) at finalize.
25
25
  */
26
+ /**
27
+ * The heading over a refused claim, chosen by the SERVER'S code.
28
+ *
29
+ * This used to be the single string 'Use an account that can add cameras',
30
+ * written when a missing permission was the only way a claim could be refused.
31
+ * Three codes reach it now, and a paywall refusal rendered under that heading
32
+ * tells the owner to go and find a different account — which will not work,
33
+ * because nothing is wrong with the account they are using.
34
+ *
35
+ * The MESSAGE always comes from the server; only the heading is chosen here,
36
+ * and an unrecognised code gets a neutral one rather than a guessed reason. A
37
+ * fielded connector must never invent a cause for a refusal a newer server
38
+ * added after it shipped.
39
+ */
40
+ export declare function claimIssueTitle(code: string | undefined): string;
26
41
  export interface SetupModeOptions {
27
42
  apiBaseUrl: string;
28
43
  /** Portal opened for the automatic signed-in browser handoff. */
@@ -38,6 +53,8 @@ export interface SetupModeOptions {
38
53
  discover?: typeof discoverOnvifHosts;
39
54
  sweep?: typeof sweepLanForRecorders;
40
55
  probe?: typeof probeHost;
56
+ /** Direct-URL frame grab. Injectable so the probe_url path is testable at all. */
57
+ grabFrame?: typeof grabOneFrameAnyTransport;
41
58
  sleep?: (ms: number) => Promise<void>;
42
59
  /** Injectable browser opener; false keeps the displayed-code fallback. */
43
60
  openPortal?: (url: string) => Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"setupMode.d.ts","sourceRoot":"","sources":["../src/setupMode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupMode.d.ts","sourceRoot":"","sources":["../src/setupMode.ts"],"names":[],"mappings":"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"}
package/dist/setupMode.js CHANGED
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.DEFAULT_PORTAL_BASE_URL = void 0;
37
+ exports.claimIssueTitle = claimIssueTitle;
37
38
  exports.setupHostFingerprint = setupHostFingerprint;
38
39
  exports.buildSetupPortalUrl = buildSetupPortalUrl;
39
40
  exports.openSetupPortal = openSetupPortal;
@@ -54,6 +55,53 @@ const recorderRanking_1 = require("./recorderRanking");
54
55
  const connectorCadence_1 = require("./connectorCadence");
55
56
  const legacyRecorderProfile_1 = require("./legacyRecorderProfile");
56
57
  const RecorderAddressRecovery_1 = require("./RecorderAddressRecovery");
58
+ /**
59
+ * setupMode — `trillboards-edge setup`: the connector side of the
60
+ * validate-first onboarding flow (direction-inverted pairing).
61
+ *
62
+ * 1. start a SETUP SESSION and DISPLAY the short code (the owner claims it
63
+ * in the portal — the ad-screen direction: device shows, owner types)
64
+ * 2. poll; once claimed, run LAN discovery (ONVIF multicast + a TCP
65
+ * port-sweep for the huge no-ONVIF analog-DVR installed base) and report
66
+ * 3. execute probe/discover commands (ChannelProber — NVR-safe: auth
67
+ * circuit-breaker, session-slot caps, real enumeration), streaming
68
+ * per-channel results + thumbnails as they settle
69
+ * 4. when the owner finalizes, receive the config (screens + device tokens +
70
+ * credential-free connection recipes), reassemble full rtsp:// URLs from
71
+ * the LOCALLY-held credentials (they never round-trip through the
72
+ * server), write trillboards.config.json, and exit 0 — the platform
73
+ * wrapper then starts + verifies the background sensing service exactly
74
+ * as in the honest-pairing flow.
75
+ *
76
+ * NVR credentials live ONLY in memory here (delivered per probe command) and
77
+ * are persisted solely into the local config file (0600) at finalize.
78
+ */
79
+ /**
80
+ * The heading over a refused claim, chosen by the SERVER'S code.
81
+ *
82
+ * This used to be the single string 'Use an account that can add cameras',
83
+ * written when a missing permission was the only way a claim could be refused.
84
+ * Three codes reach it now, and a paywall refusal rendered under that heading
85
+ * tells the owner to go and find a different account — which will not work,
86
+ * because nothing is wrong with the account they are using.
87
+ *
88
+ * The MESSAGE always comes from the server; only the heading is chosen here,
89
+ * and an unrecognised code gets a neutral one rather than a guessed reason. A
90
+ * fielded connector must never invent a cause for a refusal a newer server
91
+ * added after it shipped.
92
+ */
93
+ function claimIssueTitle(code) {
94
+ switch (code) {
95
+ case 'ACCOUNT_PERMISSION_REQUIRED':
96
+ return 'Use an account that can add cameras';
97
+ case 'SUBSCRIPTION_REQUIRED':
98
+ return 'Choose a plan to finish setup';
99
+ case 'ENTITLEMENT_LAPSED':
100
+ return 'Update your payment details';
101
+ default:
102
+ return 'Finish setting up your account';
103
+ }
104
+ }
57
105
  /** Stable, non-PII connector fingerprint (same derivation as cli.ts pairing). */
58
106
  function setupHostFingerprint() {
59
107
  const raw = `${os.hostname()}|${process.platform}|${os.arch()}`;
@@ -517,6 +565,8 @@ async function runSetupMode(opts) {
517
565
  let discoveryReported = false;
518
566
  const validatedChannelKeys = new Set();
519
567
  const rejectedChannelKeys = new Set();
568
+ /** Channels the SERVER has acknowledged storing — not merely ones we probed. */
569
+ const acceptedChannelKeys = new Set();
520
570
  const reportValidationProgress = () => {
521
571
  progress({
522
572
  stage: 'validating',
@@ -605,6 +655,12 @@ async function runSetupMode(opts) {
605
655
  onResult: async (r) => {
606
656
  sentAny = true;
607
657
  probedByChannelKey.set(r.channelKey, r);
658
+ // Acceptance is about THIS result, not about the channel for the
659
+ // life of the run. A leased command is re-delivered, so a channel
660
+ // accepted on an earlier execution must not vouch for the result
661
+ // this one just produced — that would refuse to clear a tick the
662
+ // server never took, which is the exact mismatch being fixed.
663
+ acceptedChannelKeys.delete(r.channelKey);
608
664
  try {
609
665
  // Incremental posts are progress only. The API deliberately
610
666
  // treats a results post carrying commandId as the terminal
@@ -612,6 +668,7 @@ async function runSetupMode(opts) {
612
668
  // Recorder isolation comes from host-qualified channel keys;
613
669
  // local credentials are independently keyed by recorder host.
614
670
  await client.reportResults([r]);
671
+ acceptedChannelKeys.add(r.channelKey);
615
672
  }
616
673
  catch (err) {
617
674
  if (err instanceof SetupSessionClient_1.SetupSessionExpiredError)
@@ -651,9 +708,24 @@ async function runSetupMode(opts) {
651
708
  catch (err) {
652
709
  if (err instanceof SetupSessionClient_1.SetupSessionExpiredError)
653
710
  throw err;
654
- if (!sentAny)
655
- log(`(Could not report results: ${err.message})`);
656
- await client.ack(command.commandId).catch(() => { });
711
+ // Same rule as the direct-stream probe: unreported is not validated,
712
+ // and leaving the command unacked is what lets the server re-deliver it.
713
+ log(' ✗ recorder channels — could not reach Sense Anything to save the results.');
714
+ log(` ${err.message}`);
715
+ log(' Retrying automatically — leave this window open.');
716
+ // Clear ONLY the channels the server never took. An incremental post
717
+ // that succeeded is already merged server-side by channelKey, and the
718
+ // portal is showing it — un-counting it here would make the installer
719
+ // contradict the page the customer is looking at.
720
+ for (const r of results) {
721
+ const key = r.channelKey;
722
+ if (key && !acceptedChannelKeys.has(key)) {
723
+ validatedChannelKeys.delete(key);
724
+ rejectedChannelKeys.delete(key);
725
+ }
726
+ }
727
+ reportValidationProgress();
728
+ return;
657
729
  }
658
730
  // Incremental channel results are progress, not completion. Keep a
659
731
  // separate terminal marker so the portal cannot enable Finalize while a
@@ -669,7 +741,7 @@ async function runSetupMode(opts) {
669
741
  await client.heartbeat('probing', 'direct stream link');
670
742
  log(`Checking direct camera stream at ${(0, ChannelProber_1.sanitizeRtspUrlForLog)(streamUrl)}…`);
671
743
  reportValidationProgress();
672
- const grab = await (0, ChannelProber_1.grabOneFrameAnyTransport)(streamUrl, {
744
+ const grab = await (opts.grabFrame ?? ChannelProber_1.grabOneFrameAnyTransport)(streamUrl, {
673
745
  ffmpegPath: opts.ffmpegPath,
674
746
  timeoutMs: 8000,
675
747
  });
@@ -696,14 +768,25 @@ async function runSetupMode(opts) {
696
768
  host: info.host,
697
769
  port: info.port,
698
770
  };
771
+ // A result the SERVER did not accept is not a result. The portal is the
772
+ // only place this camera can be picked, so a tick here on a report that
773
+ // never landed strands the customer: the installer says the camera works
774
+ // and the portal has nothing to select. Do NOT ack either — the server
775
+ // leases commands and re-delivers an unacked one, which is the only
776
+ // recovery path there is.
699
777
  try {
700
778
  await client.reportResults([result], command.commandId);
701
779
  }
702
780
  catch (err) {
703
781
  if (err instanceof SetupSessionClient_1.SetupSessionExpiredError)
704
782
  throw err;
705
- log(`(Could not report direct stream result: ${err.message})`);
706
- await client.ack(command.commandId).catch(() => { });
783
+ log(` ✗ direct camera stream — could not reach Sense Anything to save the result.`);
784
+ log(` ${err.message}`);
785
+ log(' Retrying automatically — leave this window open.');
786
+ validatedChannelKeys.delete(result.channelKey);
787
+ rejectedChannelKeys.delete(result.channelKey);
788
+ reportValidationProgress();
789
+ return;
707
790
  }
708
791
  await client.heartbeat('probe_complete', command.commandId).catch(() => { });
709
792
  log(result.status === 'validated'
@@ -755,7 +838,7 @@ async function runSetupMode(opts) {
755
838
  progress({
756
839
  stage: polled.claimIssue ? 'account_attention' : 'waiting_for_account',
757
840
  title: polled.claimIssue
758
- ? 'Use an account that can add cameras'
841
+ ? claimIssueTitle(polled.claimIssue.code)
759
842
  : 'Connect your Sense Anything account',
760
843
  message: polled.claimIssue
761
844
  ? polled.claimIssue.message
@@ -780,10 +863,13 @@ async function runSetupMode(opts) {
780
863
  }
781
864
  if (polled.claimIssue && polled.claimIssue.atMs > lastClaimIssueAtMs) {
782
865
  lastClaimIssueAtMs = polled.claimIssue.atMs;
783
- log('The signed-in account cannot add cameras. Switch to an account owner or screen editor.');
866
+ // The server's own sentence, never a local guess: it is the only side
867
+ // that knows WHY the claim was refused, and a connector that predates
868
+ // the reason would otherwise state the wrong one confidently.
869
+ log(polled.claimIssue.message);
784
870
  progress({
785
871
  stage: 'account_attention',
786
- title: 'Use an account that can add cameras',
872
+ title: claimIssueTitle(polled.claimIssue.code),
787
873
  message: polled.claimIssue.message,
788
874
  displayCode: displayCodeFormatted,
789
875
  ...(portalUrl ? { portalUrl } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"setupMode.js","sourceRoot":"","sources":["../src/setupMode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupMode.js","sourceRoot":"","sources":["../src/setupMode.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,24 @@
62
62
  * in a different package. Its clamping is the reason `assertNormalizedRect`
63
63
  * can be strict — the rect always arrives already inside [0,1].
64
64
  */
65
+ /**
66
+ * The operator's region as a POLYGON, whichever shape it was saved as.
67
+ *
68
+ * A lasso is already a polygon; a rect is the four-corner polygon of itself.
69
+ * Collapsing them means containment has ONE branch instead of two — and the
70
+ * RECTANGLE form predates the lasso and leaks just as badly, so a fix that only
71
+ * handled polygons would leave the older shape exactly as broken.
72
+ *
73
+ * Mirrors `trillboard-api/services/fein/regionContainment.js`, which the
74
+ * region-obedience harness scores. `regionContainmentParity.test.ts` asserts the
75
+ * two agree on a shared fixture table, because two implementations of one
76
+ * predicate that nothing compares is how a focused alert means different things
77
+ * on the server and on the box.
78
+ */
79
+ export interface NormalizedPoint {
80
+ x: number;
81
+ y: number;
82
+ }
65
83
  /** A rectangle in normalized [0,1] frame coordinates, as the operator drew it. */
66
84
  export interface NormalizedRect {
67
85
  x: number;
@@ -144,5 +162,49 @@ export declare function evaluateZone(box: PixelBox, frame: FrameSize, rect: Norm
144
162
  * existing behaviour rather than to zero. A zone that silently counts nothing is
145
163
  * indistinguishable from a quiet venue, and that is the whole failure mode here.
146
164
  */
165
+ /**
166
+ * The four corners of a rect, in the order an operator's lasso would trace.
167
+ */
168
+ export declare function rectAsPolygon(rect: NormalizedRect): NormalizedPoint[];
169
+ /**
170
+ * A polygon VERTEX in [0,1], refused loudly outside it.
171
+ *
172
+ * Separate from `assertNormalizedRect` because that one also requires a positive
173
+ * extent, which no vertex has. The failure it guards against is the same and is
174
+ * the reason both exist: pixels are numerically valid here, so a rect at x=640
175
+ * would clamp to the frame edge and every person would read as outside it, with
176
+ * no symptom but an alert that never fires.
177
+ */
178
+ export declare function assertNormalizedPoint(p: NormalizedPoint): void;
179
+ /**
180
+ * Ray casting, with the boundary counted as INSIDE.
181
+ *
182
+ * Boundary-inclusive because an operator drawing a doorway draws it AROUND the
183
+ * doorway, and a foot on the line is in the doorway. The alternative loses
184
+ * exactly the cases the region was drawn for.
185
+ */
186
+ export declare function pointInPolygon(px: number, py: number, poly: NormalizedPoint[]): boolean;
187
+ /**
188
+ * Ground contact of a pixel box against a normalized POLYGON.
189
+ *
190
+ * Same predicate as `evaluateZone`'s default and for the same physical reason: a
191
+ * person is in the doorway if their FEET are.
192
+ */
193
+ export declare function boxInPolygon(box: PixelBox, frame: FrameSize, poly: NormalizedPoint[]): {
194
+ inside: boolean;
195
+ groundContact: NormalizedPoint;
196
+ };
197
+ /**
198
+ * How many detections fall inside the operator's region.
199
+ *
200
+ * A NULL region means none was drawn, and then the count is EVERY detection —
201
+ * what the unfocused field already means. Absence degrades to the existing
202
+ * behaviour and never to zero: a region that silently counts nothing is
203
+ * indistinguishable from a quiet venue, which is the failure this whole area
204
+ * keeps producing.
205
+ */
206
+ export declare function countInRegion(boxes: PixelBox[], frame: FrameSize, region: {
207
+ points?: NormalizedPoint[];
208
+ } & Partial<NormalizedRect> | null | undefined): number;
147
209
  export declare function countInZone(boxes: PixelBox[], frame: FrameSize, rect: NormalizedRect | null | undefined, predicate?: ZonePredicate): number;
148
210
  //# sourceMappingURL=zoneContainment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zoneContainment.d.ts","sourceRoot":"","sources":["../src/zoneContainment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,eAAO,MAAM,sBAAsB,EAAE,aAAyC,CAAC;AAE/E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;;;;OAQG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,aAAa,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAQD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAgB/D;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,cAAc,CAgB5E;AAiBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,cAAc,EACpB,SAAS,GAAE,aAAsC,GAChD,WAAW,CAmBb;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,QAAQ,EAAE,EACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACvC,SAAS,GAAE,aAAsC,GAChD,MAAM,CAGR"}
1
+ {"version":3,"file":"zoneContainment.d.ts","sourceRoot":"","sources":["../src/zoneContainment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhD,eAAO,MAAM,sBAAsB,EAAE,aAAyC,CAAC;AAE/E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;;;;OAQG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,aAAa,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAQD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAgB/D;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,cAAc,CAgB5E;AAiBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,cAAc,EACpB,SAAS,GAAE,aAAsC,GAChD,WAAW,CAmBb;AAED;;;;;;;;GAQG;AACH;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,EAAE,CAQrE;AAID;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,CAY9D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,OAAO,CAmBvF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,eAAe,EAAE,GACtB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,eAAe,CAAA;CAAE,CAOrD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,QAAQ,EAAE,EACjB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,eAAe,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,SAAS,GAClF,MAAM,CAeR;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,QAAQ,EAAE,EACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACvC,SAAS,GAAE,aAAsC,GAChD,MAAM,CAGR"}