universal-physics-tensor 0.31.0 → 0.33.0
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 +36 -7
- package/dist/bridges/be37-cassini-confrontation.d.ts +43 -0
- package/dist/bridges/be37-cassini-confrontation.d.ts.map +1 -0
- package/dist/bridges/be37-cassini-confrontation.js +34 -0
- package/dist/bridges/be37-cassini-confrontation.js.map +1 -0
- package/dist/bridges/be48-collapse-confrontation.d.ts +52 -0
- package/dist/bridges/be48-collapse-confrontation.d.ts.map +1 -0
- package/dist/bridges/be48-collapse-confrontation.js +37 -0
- package/dist/bridges/be48-collapse-confrontation.js.map +1 -0
- package/dist/bridges/confrontation-coverage.d.ts +5 -10
- package/dist/bridges/confrontation-coverage.d.ts.map +1 -1
- package/dist/bridges/confrontation-coverage.js +7 -11
- package/dist/bridges/confrontation-coverage.js.map +1 -1
- package/dist/bridges/confrontations.d.ts +25 -0
- package/dist/bridges/confrontations.d.ts.map +1 -0
- package/dist/bridges/confrontations.js +125 -0
- package/dist/bridges/confrontations.js.map +1 -0
- package/dist/bridges/observations/types.d.ts +70 -0
- package/dist/bridges/observations/types.d.ts.map +1 -0
- package/dist/bridges/observations/types.js +22 -0
- package/dist/bridges/observations/types.js.map +1 -0
- package/dist/bridges/sensitivity.d.ts +13 -0
- package/dist/bridges/sensitivity.d.ts.map +1 -0
- package/dist/bridges/sensitivity.js +58 -0
- package/dist/bridges/sensitivity.js.map +1 -0
- package/dist/cli/command.d.ts +0 -3
- package/dist/cli/command.d.ts.map +1 -1
- package/dist/cli/command.js +0 -13
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/confront.d.ts +3 -0
- package/dist/cli/commands/confront.d.ts.map +1 -0
- package/dist/cli/commands/confront.js +94 -0
- package/dist/cli/commands/confront.js.map +1 -0
- package/dist/cli/commands/connectors.d.ts.map +1 -1
- package/dist/cli/commands/connectors.js +15 -6
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/discover.d.ts.map +1 -1
- package/dist/cli/commands/discover.js +19 -6
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +8 -1
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli-api.d.ts +6 -0
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +6 -0
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +4 -1
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +19 -4
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/compose.d.ts +20 -0
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +45 -0
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/consequence.d.ts +62 -0
- package/dist/composition/consequence.d.ts.map +1 -0
- package/dist/composition/consequence.js +82 -0
- package/dist/composition/consequence.js.map +1 -0
- package/dist/composition/discovery.d.ts +30 -3
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +55 -6
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/quantities/common.d.ts.map +1 -1
- package/dist/composition/quantities/common.js +8 -2
- package/dist/composition/quantities/common.js.map +1 -1
- package/dist/composition/quantities/condensed-matter.d.ts.map +1 -1
- package/dist/composition/quantities/condensed-matter.js +4 -1
- package/dist/composition/quantities/condensed-matter.js.map +1 -1
- package/dist/composition/quantities/fields.d.ts.map +1 -1
- package/dist/composition/quantities/fields.js +3 -1
- package/dist/composition/quantities/fields.js.map +1 -1
- package/dist/composition/quantities/gravitation-cosmology.d.ts.map +1 -1
- package/dist/composition/quantities/gravitation-cosmology.js +3 -1
- package/dist/composition/quantities/gravitation-cosmology.js.map +1 -1
- package/dist/composition/quantities/quantum.d.ts.map +1 -1
- package/dist/composition/quantities/quantum.js +9 -4
- package/dist/composition/quantities/quantum.js.map +1 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -23,7 +23,10 @@
|
|
|
23
23
|
* - Every canonical equation is `established` physics, so every edge is
|
|
24
24
|
* `confidence: 'established'` — the canonical graph IS the anchored core.
|
|
25
25
|
* - `kind: 'law'` (within-domain ground truth, not a cross-regime bridge);
|
|
26
|
-
* `beId: null` (not a catalog bridge).
|
|
26
|
+
* `beId: null` (not a catalog bridge). **Annotation-correctness note:**
|
|
27
|
+
* `toEdge` hardcodes `kind:'law'` and `regimesDiffer` has zero call sites.
|
|
28
|
+
* The information-axis mapping is annotation-only; there is no edge-kind
|
|
29
|
+
* path and no delta to measure.
|
|
27
30
|
* - Evaluator: the dimensional MONOMIAL gives the power law over the variable
|
|
28
31
|
* sources, times the baked constant factor. The leading DIMENSIONLESS
|
|
29
32
|
* constant (2π, ¼, …) is not pinned by dimensions, so it is taken as 1 —
|
|
@@ -61,15 +64,25 @@ export const CANONICAL_CONSTANTS = {
|
|
|
61
64
|
e: { value: E_SI, dim: CHARGE },
|
|
62
65
|
m_e: { value: M_E_SI, dim: MASS },
|
|
63
66
|
};
|
|
67
|
+
/**
|
|
68
|
+
* Map camelCase `InformationMeasure` (from canonical regime) to kebab-case
|
|
69
|
+
* `RegimeAttributes.information` (for composition graph).
|
|
70
|
+
*/
|
|
71
|
+
const INFO_MAP = {
|
|
72
|
+
vonNeumann: 'von-neumann',
|
|
73
|
+
shannon: 'shannon',
|
|
74
|
+
kolmogorov: 'kolmogorov',
|
|
75
|
+
quantumDiscord: 'discord',
|
|
76
|
+
};
|
|
64
77
|
/** A governing entry is a baked constant iff its name AND dimension match. */
|
|
65
78
|
const constantValue = (name, dim) => {
|
|
66
79
|
const c = CANONICAL_CONSTANTS[name];
|
|
67
80
|
return c !== undefined && equals(c.dim, dim) ? c.value : null;
|
|
68
81
|
};
|
|
69
82
|
/**
|
|
70
|
-
* Carry the scale/force regime axes (shared with `RegimeAttributes`).
|
|
71
|
-
* registry
|
|
72
|
-
*
|
|
83
|
+
* Carry the scale/force/information regime axes (shared with `RegimeAttributes`).
|
|
84
|
+
* The registry's information enum spelling differs from `RegimeAttributes`,
|
|
85
|
+
* so it is mapped via `INFO_MAP`.
|
|
73
86
|
*/
|
|
74
87
|
function attributesOf(eq) {
|
|
75
88
|
const attrs = {};
|
|
@@ -77,6 +90,8 @@ function attributesOf(eq) {
|
|
|
77
90
|
attrs.scale = eq.regime.scale;
|
|
78
91
|
if (eq.regime.force)
|
|
79
92
|
attrs.force = eq.regime.force;
|
|
93
|
+
if (eq.regime.information)
|
|
94
|
+
attrs.information = INFO_MAP[eq.regime.information];
|
|
80
95
|
return attrs;
|
|
81
96
|
}
|
|
82
97
|
const PERMISSIVE_DOMAIN = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-graph.js","sourceRoot":"","sources":["../../src/composition/canonical-graph.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"canonical-graph.js","sourceRoot":"","sources":["../../src/composition/canonical-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
* @module composition/compose
|
|
31
31
|
*/
|
|
32
32
|
import type { BridgeEdge, EdgeConfidence } from './edge.js';
|
|
33
|
+
import type { RegimeAttributes } from './quantity.js';
|
|
33
34
|
/**
|
|
34
35
|
* A reviewable quantity-identification judgment: the assertion that
|
|
35
36
|
* the quantity named `from` (an edge's target) IS the quantity named
|
|
@@ -50,6 +51,25 @@ export interface QuantityIdentification {
|
|
|
50
51
|
* @public
|
|
51
52
|
*/
|
|
52
53
|
export declare const QUANTITY_IDENTIFICATIONS: readonly QuantityIdentification[];
|
|
54
|
+
/**
|
|
55
|
+
* Effective regime attributes for a candidate NAME, resolved through the
|
|
56
|
+
* `QUANTITY_IDENTIFICATIONS` fold — the SINGLE shared implementation every
|
|
57
|
+
* attribute consumer must use (Eve r3 #2 mandate; the discovery-hardening
|
|
58
|
+
* Phase-2 axis-compatibility gate is the first). `attributesByName` is the
|
|
59
|
+
* REGISTRY-only source (never canonical per-equation stamps — Option-A,
|
|
60
|
+
* audit adjudication F1): callers supply it (production: every centralized
|
|
61
|
+
* `Quantity.attributes`; tests: an injected fixture map), this function only
|
|
62
|
+
* does the fold resolution.
|
|
63
|
+
*
|
|
64
|
+
* Candidate names are already fold-canonicalized (the `to` side of an
|
|
65
|
+
* identification); this additionally pulls in every `from` contributor that
|
|
66
|
+
* folds ONTO `name` and, per axis, unions their stated value with `name`'s
|
|
67
|
+
* own. Where contributors DISAGREE on an axis, the axis counts as UNSTATED
|
|
68
|
+
* (conflict → abstain) rather than picking a side — the fold-conflict rule.
|
|
69
|
+
*
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
export declare function effectiveAttributes(name: string, attributesByName: ReadonlyMap<string, RegimeAttributes>, idents?: readonly QuantityIdentification[]): RegimeAttributes;
|
|
53
73
|
/**
|
|
54
74
|
* A recorded aliasing judgment for one duplicate source name in a
|
|
55
75
|
* composition (v0.11 Option D). `'shared'` = one input deliberately
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/composition/compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/composition/compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAQhE;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,sBAAsB,EA0CrE,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACvD,MAAM,GAAE,SAAS,sBAAsB,EAA6B,GACnE,gBAAgB,CAwBlB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC,CAe5C,CAAC;AAQF;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,cAAc,EACjB,CAAC,EAAE,cAAc,GAChB,cAAc,CAEhB;AAED,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC7D;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAChD;AA4BD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE,cAAmB,GACxB,UAAU,CA6IZ"}
|
|
@@ -77,6 +77,51 @@ export const QUANTITY_IDENTIFICATIONS = [
|
|
|
77
77
|
citation: 'de Broglie 1924; standard statistical mechanics (λ_T)',
|
|
78
78
|
},
|
|
79
79
|
];
|
|
80
|
+
/**
|
|
81
|
+
* Effective regime attributes for a candidate NAME, resolved through the
|
|
82
|
+
* `QUANTITY_IDENTIFICATIONS` fold — the SINGLE shared implementation every
|
|
83
|
+
* attribute consumer must use (Eve r3 #2 mandate; the discovery-hardening
|
|
84
|
+
* Phase-2 axis-compatibility gate is the first). `attributesByName` is the
|
|
85
|
+
* REGISTRY-only source (never canonical per-equation stamps — Option-A,
|
|
86
|
+
* audit adjudication F1): callers supply it (production: every centralized
|
|
87
|
+
* `Quantity.attributes`; tests: an injected fixture map), this function only
|
|
88
|
+
* does the fold resolution.
|
|
89
|
+
*
|
|
90
|
+
* Candidate names are already fold-canonicalized (the `to` side of an
|
|
91
|
+
* identification); this additionally pulls in every `from` contributor that
|
|
92
|
+
* folds ONTO `name` and, per axis, unions their stated value with `name`'s
|
|
93
|
+
* own. Where contributors DISAGREE on an axis, the axis counts as UNSTATED
|
|
94
|
+
* (conflict → abstain) rather than picking a side — the fold-conflict rule.
|
|
95
|
+
*
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
export function effectiveAttributes(name, attributesByName, idents = QUANTITY_IDENTIFICATIONS) {
|
|
99
|
+
const contributors = [];
|
|
100
|
+
const own = attributesByName.get(name);
|
|
101
|
+
if (own)
|
|
102
|
+
contributors.push(own);
|
|
103
|
+
for (const id of idents) {
|
|
104
|
+
if (id.to !== name)
|
|
105
|
+
continue;
|
|
106
|
+
const folded = attributesByName.get(id.from);
|
|
107
|
+
if (folded)
|
|
108
|
+
contributors.push(folded);
|
|
109
|
+
}
|
|
110
|
+
// One-value-agrees, zero-or-conflicting-values-abstain, per axis. Written
|
|
111
|
+
// out per axis (rather than generically over `keyof RegimeAttributes`) so
|
|
112
|
+
// each axis's value type stays concrete — no cross-axis union widening.
|
|
113
|
+
const scales = new Set(contributors.map((c) => c.scale).filter((v) => v !== undefined));
|
|
114
|
+
const forces = new Set(contributors.map((c) => c.force).filter((v) => v !== undefined));
|
|
115
|
+
const infos = new Set(contributors.map((c) => c.information).filter((v) => v !== undefined));
|
|
116
|
+
const result = {};
|
|
117
|
+
if (scales.size === 1)
|
|
118
|
+
result.scale = [...scales][0];
|
|
119
|
+
if (forces.size === 1)
|
|
120
|
+
result.force = [...forces][0];
|
|
121
|
+
if (infos.size === 1)
|
|
122
|
+
result.information = [...infos][0];
|
|
123
|
+
return result;
|
|
124
|
+
}
|
|
80
125
|
/**
|
|
81
126
|
* Registered alias dispositions, keyed by composed id
|
|
82
127
|
* (`first.id>>second.id`) — judgments live in reviewable registry
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/composition/compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAgBnB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsC;IACzE;QACE,IAAI,EAAE,qBAAqB;QAC3B,EAAE,EAAE,aAAa;QACjB,SAAS,EACP,+DAA+D;YAC/D,2DAA2D;YAC3D,2DAA2D;YAC3D,+DAA+D;YAC/D,gDAAgD;QAClD,QAAQ,EAAE,qDAAqD;KAChE;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE,oBAAoB;QACxB,SAAS,EACP,+DAA+D;YAC/D,oEAAoE;YACpE,oEAAoE;YACpE,sEAAsE;YACtE,mEAAmE;YACnE,wEAAwE;YACxE,wEAAwE;YACxE,gEAAgE;YAChE,kDAAkD;QACpD,QAAQ,EAAE,iDAAiD;KAC5D;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,EAAE,EAAE,oBAAoB;QACxB,SAAS,EACP,sDAAsD;YACtD,uEAAuE;YACvE,mEAAmE;YACnE,wEAAwE;YACxE,oEAAoE;YACpE,yEAAyE;YACzE,2EAA2E;YAC3E,0EAA0E;YAC1E,4CAA4C;QAC9C,QAAQ,EAAE,uDAAuD;KAClE;CACF,CAAC;
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/composition/compose.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consequence propagation — the machine pre-classifier for the human
|
|
3
|
+
* adjudication ledger. A POST-PASS annotation over ranked candidates (mirrors
|
|
4
|
+
* `annotateAdjudications`): reuse `deriveProposedBridges` to derive each
|
|
5
|
+
* promising candidate's monomial consequence, then compare its `normalForm`
|
|
6
|
+
* against the canonical registry (SAME target AND SAME governing set) to label
|
|
7
|
+
* it `entailed` (re-derives known physics), `novel-consequence` (valid, no
|
|
8
|
+
* match), or `inconclusive` (no monomial consequence). Annotation-only: never
|
|
9
|
+
* mutates the catalog/graph, never re-orders or re-scores, never writes to
|
|
10
|
+
* ADJUDICATIONS. The underlying ProposedBridge stays `status:'unadjudicated'`.
|
|
11
|
+
*
|
|
12
|
+
* @module composition/consequence
|
|
13
|
+
*/
|
|
14
|
+
import type { VettedCandidate } from './discovery.js';
|
|
15
|
+
import type { ProposedBridge } from './proposed-bridges.js';
|
|
16
|
+
import type { CanonicalEquation } from '../canonical/canonical-equation.js';
|
|
17
|
+
/** @public */
|
|
18
|
+
export type ConsequenceSignal = 'entailed' | 'novel-consequence' | 'inconclusive';
|
|
19
|
+
/** @public */
|
|
20
|
+
export interface ConsequenceEvidence {
|
|
21
|
+
readonly target: string;
|
|
22
|
+
readonly governing: readonly string[];
|
|
23
|
+
readonly derivedNormalForm: string;
|
|
24
|
+
/** The id of the canonical equation whose normalForm matched, or null. */
|
|
25
|
+
readonly canonicalMatch: string | null;
|
|
26
|
+
readonly sourceEquationIds: readonly [string, string];
|
|
27
|
+
}
|
|
28
|
+
/** @public */
|
|
29
|
+
export type ConsequenceAnnotatedCandidate = VettedCandidate & {
|
|
30
|
+
readonly consequence?: {
|
|
31
|
+
readonly signal: ConsequenceSignal;
|
|
32
|
+
readonly evidence: readonly ConsequenceEvidence[];
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Classify ONE derived proposal against the canonical registry.
|
|
37
|
+
* `entailed` iff some canonical equation with a `scalarAst` has the SAME target
|
|
38
|
+
* name AND SAME governing set AND a matching `normalForm`. Otherwise
|
|
39
|
+
* `novel-consequence`. There is NO contradiction signal — a differing normalForm
|
|
40
|
+
* for the same target is NOT a contradiction (design r2: E=mc² vs E=hf).
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
export declare function classifyProposal(proposal: Pick<ProposedBridge, 'target' | 'governing' | 'scalarAst' | 'derivedFrom'>, canonical?: readonly CanonicalEquation[]): {
|
|
44
|
+
readonly signal: Exclude<ConsequenceSignal, 'inconclusive'>;
|
|
45
|
+
readonly evidence: ConsequenceEvidence;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Annotate ranked candidates with their consequence signal. Order-preserving,
|
|
49
|
+
* 1:1 with the input; only `promising` candidates are classified (they are the
|
|
50
|
+
* only ones `deriveProposedBridges` processes). A promising candidate with no
|
|
51
|
+
* derived proposal is `inconclusive`. Generic over the input candidate type so
|
|
52
|
+
* it composes with other post-pass annotators (e.g. `annotateAdjudications`)
|
|
53
|
+
* without forgetting fields the caller already attached.
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
export declare function annotateConsequences<T extends VettedCandidate>(candidates: readonly T[]): readonly (T & {
|
|
57
|
+
readonly consequence?: {
|
|
58
|
+
readonly signal: ConsequenceSignal;
|
|
59
|
+
readonly evidence: readonly ConsequenceEvidence[];
|
|
60
|
+
};
|
|
61
|
+
})[];
|
|
62
|
+
//# sourceMappingURL=consequence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consequence.d.ts","sourceRoot":"","sources":["../../src/composition/consequence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,cAAc;AACd,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,mBAAmB,GAAG,cAAc,CAAC;AAElF,cAAc;AACd,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvD;AAED,cAAc;AACd,MAAM,MAAM,6BAA6B,GAAG,eAAe,GAAG;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;QACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;KACnD,CAAC;CACH,CAAC;AASF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,CAAC,EACpF,SAAS,GAAE,SAAS,iBAAiB,EAAwB,GAC5D;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,CAsBzG;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,eAAe,EAC5D,UAAU,EAAE,SAAS,CAAC,EAAE,GACvB,SAAS,CAAC,CAAC,GAAG;IACf,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;QACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;KACnD,CAAC;CACH,CAAC,EAAE,CA0BH"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { deriveProposedBridges } from './proposed-bridges.js';
|
|
2
|
+
import { normalForm } from '../canonical/normal-form.js';
|
|
3
|
+
import { CANONICAL_EQUATIONS } from '../canonical/registry.js';
|
|
4
|
+
/** Governing-name set equality (order-insensitive). */
|
|
5
|
+
function sameGoverning(a, b) {
|
|
6
|
+
if (a.length !== b.length)
|
|
7
|
+
return false;
|
|
8
|
+
const sa = new Set(a.map((g) => g.name));
|
|
9
|
+
return b.every((g) => sa.has(g.name));
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Classify ONE derived proposal against the canonical registry.
|
|
13
|
+
* `entailed` iff some canonical equation with a `scalarAst` has the SAME target
|
|
14
|
+
* name AND SAME governing set AND a matching `normalForm`. Otherwise
|
|
15
|
+
* `novel-consequence`. There is NO contradiction signal — a differing normalForm
|
|
16
|
+
* for the same target is NOT a contradiction (design r2: E=mc² vs E=hf).
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export function classifyProposal(proposal, canonical = CANONICAL_EQUATIONS) {
|
|
20
|
+
const derivedNF = normalForm(proposal.scalarAst);
|
|
21
|
+
let canonicalMatch = null;
|
|
22
|
+
for (const ce of canonical) {
|
|
23
|
+
if (!ce.scalarAst)
|
|
24
|
+
continue;
|
|
25
|
+
if (ce.dimensional.target.name !== proposal.target.name)
|
|
26
|
+
continue;
|
|
27
|
+
if (!sameGoverning(ce.dimensional.governing, proposal.governing))
|
|
28
|
+
continue;
|
|
29
|
+
if (normalForm(ce.scalarAst) === derivedNF) {
|
|
30
|
+
canonicalMatch = ce.id; // CanonicalEquation.id is a top-level `readonly id: string` (verified)
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
signal: canonicalMatch ? 'entailed' : 'novel-consequence',
|
|
36
|
+
evidence: {
|
|
37
|
+
target: proposal.target.name,
|
|
38
|
+
governing: proposal.governing.map((g) => g.name),
|
|
39
|
+
derivedNormalForm: derivedNF,
|
|
40
|
+
canonicalMatch,
|
|
41
|
+
sourceEquationIds: proposal.derivedFrom.sourceEquationIds,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Annotate ranked candidates with their consequence signal. Order-preserving,
|
|
47
|
+
* 1:1 with the input; only `promising` candidates are classified (they are the
|
|
48
|
+
* only ones `deriveProposedBridges` processes). A promising candidate with no
|
|
49
|
+
* derived proposal is `inconclusive`. Generic over the input candidate type so
|
|
50
|
+
* it composes with other post-pass annotators (e.g. `annotateAdjudications`)
|
|
51
|
+
* without forgetting fields the caller already attached.
|
|
52
|
+
* @public
|
|
53
|
+
*/
|
|
54
|
+
export function annotateConsequences(candidates) {
|
|
55
|
+
const promising = candidates.filter((c) => c.verdict === 'promising');
|
|
56
|
+
const proposals = deriveProposedBridges(promising);
|
|
57
|
+
// Group proposals + their classification by the sorted candidate-pair key.
|
|
58
|
+
const byPair = new Map();
|
|
59
|
+
for (const p of proposals) {
|
|
60
|
+
const key = [p.derivedFrom.identification.a, p.derivedFrom.identification.b].sort().join('~');
|
|
61
|
+
const cls = classifyProposal(p);
|
|
62
|
+
const cur = byPair.get(key);
|
|
63
|
+
if (!cur) {
|
|
64
|
+
byPair.set(key, { signal: cls.signal, evidence: [cls.evidence] });
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
cur.evidence.push(cls.evidence);
|
|
68
|
+
// entailed dominates novel: if ANY consequence re-derives known physics, the pair is entailed.
|
|
69
|
+
if (cls.signal === 'entailed')
|
|
70
|
+
cur.signal = 'entailed';
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return candidates.map((c) => {
|
|
74
|
+
if (c.verdict !== 'promising')
|
|
75
|
+
return c;
|
|
76
|
+
const key = [c.a, c.b].sort().join('~');
|
|
77
|
+
const hit = byPair.get(key);
|
|
78
|
+
const signal = hit ? hit.signal : 'inconclusive';
|
|
79
|
+
return { ...c, consequence: { signal, evidence: hit?.evidence ?? [] } };
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=consequence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consequence.js","sourceRoot":"","sources":["../../src/composition/consequence.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,9 +34,10 @@
|
|
|
34
34
|
*/
|
|
35
35
|
import type { BridgeEdge } from './edge.js';
|
|
36
36
|
import type { QuantityIdentification } from './compose.js';
|
|
37
|
+
import type { RegimeAttributes } from './quantity.js';
|
|
37
38
|
import type { LinkCandidate } from './bridge-analysis.js';
|
|
38
39
|
import type { RepresentativeValue } from './representative-values.js';
|
|
39
|
-
/** A candidate after vetting against the inference suite. @hypothesis */
|
|
40
|
+
/** A candidate after vetting against the inference suite. @hypothesis @public */
|
|
40
41
|
export interface VettedCandidate {
|
|
41
42
|
readonly a: string;
|
|
42
43
|
readonly b: string;
|
|
@@ -88,14 +89,33 @@ export interface VettedCandidate {
|
|
|
88
89
|
* threshold N orders (an independent falsification the
|
|
89
90
|
* single-anchor graph cannot make). Checked first.
|
|
90
91
|
* - `contradictory` — breaks numerical consistency (a graph falsification).
|
|
92
|
+
* - `axis-clash` — the identification's stated `scale`/`force` regime
|
|
93
|
+
* attributes disagree (an IDENTITY falsifier — see D1
|
|
94
|
+
* module docs; "identification falsified, stated
|
|
95
|
+
* regimes differ", not "no connection possible").
|
|
91
96
|
* - `promising` — consistent AND connects disconnected physics AND
|
|
92
97
|
* unlocks ≥1 quantity. Worth physicist review.
|
|
93
98
|
* - `inert` — consistent but structurally/numerically idle (a
|
|
94
99
|
* dimensional coincidence with no consequence).
|
|
95
100
|
*/
|
|
96
|
-
readonly verdict: 'promising' | 'inert' | 'contradictory' | 'magnitude-clash';
|
|
101
|
+
readonly verdict: 'promising' | 'inert' | 'contradictory' | 'magnitude-clash' | 'axis-clash';
|
|
97
102
|
/** Composite ranking score (higher = more worth review). */
|
|
98
103
|
readonly score: number;
|
|
104
|
+
/**
|
|
105
|
+
* At least one of the `scale`/`force` axes had a resolved (non-conflicting)
|
|
106
|
+
* value on BOTH endpoints, so the axis-compatibility gate produced a real
|
|
107
|
+
* comparison (whether or not it clashed). `false` means every gate axis
|
|
108
|
+
* abstained (silent on one/both sides, or a fold conflict) — the gate had
|
|
109
|
+
* nothing to check. Populated on EVERY candidate, independent of verdict.
|
|
110
|
+
*/
|
|
111
|
+
readonly axisChecked: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Per-axis clash descriptions (`'scale: quantum ≠ cosmological'`), sorted.
|
|
114
|
+
* Empty when no gate axis clashed — including when `axisChecked` is
|
|
115
|
+
* `false`, and even when a stronger falsifier (magnitude/contradictory)
|
|
116
|
+
* won the verdict (no falsifier shadows another's annotation).
|
|
117
|
+
*/
|
|
118
|
+
readonly axisClashes: readonly string[];
|
|
99
119
|
/**
|
|
100
120
|
* Standard-physics domains whose canonical equation has a TARGET of this
|
|
101
121
|
* candidate's dimension (Sub-project C). Informational context — an empty
|
|
@@ -128,6 +148,13 @@ export interface DiscoveryOptions {
|
|
|
128
148
|
* canonical-equation registry can supply them centrally.
|
|
129
149
|
*/
|
|
130
150
|
readonly representativeValues?: Readonly<Record<string, RepresentativeValue>>;
|
|
151
|
+
/**
|
|
152
|
+
* Registry-only `scale`/`force`/`information` attributes by quantity name,
|
|
153
|
+
* for the D1 axis-compatibility gate (default: every centralized
|
|
154
|
+
* `Quantity.attributes`). Injectable for testing — never canonical
|
|
155
|
+
* per-equation stamps (Option-A resolution).
|
|
156
|
+
*/
|
|
157
|
+
readonly quantityAttributes?: ReadonlyMap<string, RegimeAttributes>;
|
|
131
158
|
}
|
|
132
159
|
/**
|
|
133
160
|
* Vet one link candidate by hypothesizing the identification a≡b and
|
|
@@ -142,7 +169,7 @@ export declare function vetLinkCandidate(edges: readonly BridgeEdge[], candidate
|
|
|
142
169
|
* The output is the physicist's worklist (vetted, provenance-traced), not a
|
|
143
170
|
* list of discoveries.
|
|
144
171
|
*
|
|
145
|
-
* @
|
|
172
|
+
* @public
|
|
146
173
|
*/
|
|
147
174
|
export declare function rankDiscoveries(edges: readonly BridgeEdge[], opts?: DiscoveryOptions): VettedCandidate[];
|
|
148
175
|
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/composition/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/composition/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,14 +32,34 @@
|
|
|
32
32
|
*
|
|
33
33
|
* @module composition/discovery
|
|
34
34
|
*/
|
|
35
|
-
import { QUANTITY_IDENTIFICATIONS } from './compose.js';
|
|
35
|
+
import { QUANTITY_IDENTIFICATIONS, effectiveAttributes } from './compose.js';
|
|
36
36
|
import { forwardClosure } from './identifiability.js';
|
|
37
37
|
import { retrodict, forwardEvaluate } from './retrodiction.js';
|
|
38
38
|
import { proposeLinkCandidates } from './bridge-analysis.js';
|
|
39
39
|
import { M_SUN_KG } from './edges/calibration.js';
|
|
40
40
|
import { REPRESENTATIVE_VALUES } from './representative-values.js';
|
|
41
|
+
import * as REGISTRY_QUANTITIES from './quantities.js';
|
|
41
42
|
import { CANONICAL_EQUATIONS } from '../canonical/registry.js';
|
|
42
43
|
import { format } from '../dimensional/algebra.js';
|
|
44
|
+
// ── registry-only attribute lookup (D1 axis gate; Option-A resolution) ─────
|
|
45
|
+
// Built from the centralized `Quantity` nodes ONLY (never canonical
|
|
46
|
+
// per-equation stamps — audit adjudication F1). Names that aren't a
|
|
47
|
+
// registry node (most bare canonical-equation variables) are simply absent,
|
|
48
|
+
// so they always abstain — the canonical-only axis-clash=0 invariant holds
|
|
49
|
+
// by construction, not by a special case.
|
|
50
|
+
const REGISTRY_ATTRIBUTES_BY_NAME = (() => {
|
|
51
|
+
const m = new Map();
|
|
52
|
+
for (const v of Object.values(REGISTRY_QUANTITIES)) {
|
|
53
|
+
if (v && typeof v === 'object' && 'name' in v && 'attributes' in v) {
|
|
54
|
+
const q = v;
|
|
55
|
+
m.set(q.name, q.attributes);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return m;
|
|
59
|
+
})();
|
|
60
|
+
/** The two axes the D1 identity gate falsifies on. Information is
|
|
61
|
+
* annotation-only this phase (deliberately excluded — see module docs). */
|
|
62
|
+
const GATE_AXES = ['scale', 'force'];
|
|
43
63
|
// ── canonical-kind indexes (Sub-project C) ──────────────────────────────────
|
|
44
64
|
// Discovery quantity names and canonical variable names are different
|
|
45
65
|
// namespaces; the alignable axis is the DIMENSION. These are informational
|
|
@@ -128,6 +148,7 @@ function buildDiscoveryContext(edges, opts) {
|
|
|
128
148
|
anchor,
|
|
129
149
|
repVals: opts.representativeValues ?? REPRESENTATIVE_VALUES,
|
|
130
150
|
maxOrders: opts.maxOrdersOfMagnitude ?? 3,
|
|
151
|
+
attributesByName: opts.quantityAttributes ?? REGISTRY_ATTRIBUTES_BY_NAME,
|
|
131
152
|
// Candidate-invariant: the anchor's forward evaluation, the base component
|
|
132
153
|
// partition, and the base forward closure all depend only on (edges, opts).
|
|
133
154
|
anchorValues: forwardEvaluate(edges, groundTruth, baseIdents),
|
|
@@ -153,7 +174,7 @@ export function vetLinkCandidate(edges, candidate, opts = {}) {
|
|
|
153
174
|
* @internal
|
|
154
175
|
*/
|
|
155
176
|
function vetInContext(edges, candidate, ctx) {
|
|
156
|
-
const { baseIdents, groundTruth, anchor, repVals, maxOrders, anchorValues, comps, closureBase, } = ctx;
|
|
177
|
+
const { baseIdents, groundTruth, anchor, repVals, maxOrders, anchorValues, comps, closureBase, attributesByName, } = ctx;
|
|
157
178
|
// Magnitude gate: an INDEPENDENT falsifier the single-anchor graph can't make.
|
|
158
179
|
// Only fires when both endpoints have a representative value; abstains (and
|
|
159
180
|
// never false-rejects) otherwise. A value comes from the sourced static table
|
|
@@ -183,6 +204,27 @@ function vetInContext(edges, candidate, ctx) {
|
|
|
183
204
|
// A generic↔specialization identification (mass ≟ reference-mass) is
|
|
184
205
|
// near-tautological — barred from `promising` regardless of structure.
|
|
185
206
|
const subsuming = nameSubsumes(candidate.a, candidate.b);
|
|
207
|
+
// Axis-compatibility gate (D1): a literal identity cannot have endpoints
|
|
208
|
+
// whose STATED scale/force regimes disagree. Either side silent on an
|
|
209
|
+
// axis (including a fold-conflict, resolved as unstated by
|
|
210
|
+
// `effectiveAttributes`) abstains that axis rather than clashing.
|
|
211
|
+
// Populated on every candidate, independent of which verdict wins.
|
|
212
|
+
const attrsA = effectiveAttributes(candidate.a, attributesByName, baseIdents);
|
|
213
|
+
const attrsB = effectiveAttributes(candidate.b, attributesByName, baseIdents);
|
|
214
|
+
const checkedAxes = [];
|
|
215
|
+
const axisClashes = [];
|
|
216
|
+
for (const axis of GATE_AXES) {
|
|
217
|
+
const av = attrsA[axis];
|
|
218
|
+
const bv = attrsB[axis];
|
|
219
|
+
if (av === undefined || bv === undefined)
|
|
220
|
+
continue; // abstain
|
|
221
|
+
checkedAxes.push(axis);
|
|
222
|
+
if (av !== bv)
|
|
223
|
+
axisClashes.push(`${axis}: ${av} ≠ ${bv}`);
|
|
224
|
+
}
|
|
225
|
+
axisClashes.sort();
|
|
226
|
+
const axisChecked = checkedAxes.length > 0;
|
|
227
|
+
const axisClash = axisClashes.length > 0;
|
|
186
228
|
// The hypothesized identification, added in both directions so a≡b is a
|
|
187
229
|
// full merge (identifications are directional in the engine).
|
|
188
230
|
const rationale = `HYPOTHESIS (unadjudicated): ${candidate.a} ≡ ${candidate.b} — same dimension ${candidate.dim}`;
|
|
@@ -209,21 +251,25 @@ function vetInContext(edges, candidate, ctx) {
|
|
|
209
251
|
.map((r) => r.target)
|
|
210
252
|
.sort();
|
|
211
253
|
// Verdict precedence: a magnitude clash is the most decisive, most
|
|
212
|
-
// interpretable falsification,
|
|
254
|
+
// interpretable falsification, checked before the graph contradiction;
|
|
255
|
+
// the qualitative identity falsifier (axis-clash) is weaker than both
|
|
256
|
+
// numeric falsifiers but still outranks promising/inert (D1).
|
|
213
257
|
let verdict;
|
|
214
258
|
if (magnitudeClash)
|
|
215
259
|
verdict = 'magnitude-clash';
|
|
216
260
|
else if (!numericallyConsistent)
|
|
217
261
|
verdict = 'contradictory';
|
|
262
|
+
else if (axisClash)
|
|
263
|
+
verdict = 'axis-clash';
|
|
218
264
|
else if (mergesComponents && unlocksFromAnchor.length > 0 && !subsuming)
|
|
219
265
|
verdict = 'promising';
|
|
220
266
|
else
|
|
221
267
|
verdict = 'inert';
|
|
222
|
-
// Score:
|
|
268
|
+
// Score: all falsifications sink to the bottom; a subsuming (tautological)
|
|
223
269
|
// identification sinks within `inert`; otherwise reward structural merges,
|
|
224
270
|
// unlocks, and the proposer's weak priors.
|
|
225
271
|
let score = 0;
|
|
226
|
-
if (magnitudeClash || !numericallyConsistent) {
|
|
272
|
+
if (magnitudeClash || !numericallyConsistent || axisClash) {
|
|
227
273
|
score = -1;
|
|
228
274
|
}
|
|
229
275
|
else if (subsuming) {
|
|
@@ -254,6 +300,8 @@ function vetInContext(edges, candidate, ctx) {
|
|
|
254
300
|
subsuming,
|
|
255
301
|
verdict,
|
|
256
302
|
score,
|
|
303
|
+
axisChecked,
|
|
304
|
+
axisClashes,
|
|
257
305
|
canonicalKinds,
|
|
258
306
|
touchesCanonical,
|
|
259
307
|
};
|
|
@@ -264,7 +312,7 @@ function vetInContext(edges, candidate, ctx) {
|
|
|
264
312
|
* The output is the physicist's worklist (vetted, provenance-traced), not a
|
|
265
313
|
* list of discoveries.
|
|
266
314
|
*
|
|
267
|
-
* @
|
|
315
|
+
* @public
|
|
268
316
|
*/
|
|
269
317
|
export function rankDiscoveries(edges, opts = {}) {
|
|
270
318
|
const VERDICT_RANK = {
|
|
@@ -272,6 +320,7 @@ export function rankDiscoveries(edges, opts = {}) {
|
|
|
272
320
|
inert: 1,
|
|
273
321
|
'magnitude-clash': 2,
|
|
274
322
|
contradictory: 3,
|
|
323
|
+
'axis-clash': 4,
|
|
275
324
|
};
|
|
276
325
|
const ctx = buildDiscoveryContext(edges, opts);
|
|
277
326
|
const candidates = proposeLinkCandidates(edges);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/composition/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,+EAA+E;AAC/E,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AACzE,iFAAiF;AACjF,MAAM,sBAAsB,GAA2C,CAAC,GAAG,EAAE;IAC3E,MAAM,CAAC,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,KAAK,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,wBAAwB,GAAwB,CAAC,GAAG,EAAE;IAC1D,MAAM,CAAC,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,KAAK,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;QACrC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,EAAE,CAAC;AAiGL;+DAC+D;AAC/D,SAAS,kBAAkB,CACzB,KAA4B,EAC5B,MAAyC;IAEzC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;QAC/C,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnB,GAAG,GAAG,IAAI,CAAC;QACb,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QACrC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,MAAM;QAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,cAAc,GAAqC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAE5E;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,CAAS,EAAE,CAAS;IACxC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AA2BD;gBACgB;AAChB,SAAS,qBAAqB,CAC5B,KAA4B,EAC5B,IAAsB;IAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,IAAI,wBAAwB,CAAC;IACpE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,OAAO;QACL,UAAU;QACV,WAAW;QACX,MAAM;QACN,OAAO,EAAE,IAAI,CAAC,oBAAoB,IAAI,qBAAqB;QAC3D,SAAS,EAAE,IAAI,CAAC,oBAAoB,IAAI,CAAC;QACzC,2EAA2E;QAC3E,4EAA4E;QAC5E,YAAY,EAAE,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC;QAC7D,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC;QAC5C,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC;KACvD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA4B,EAC5B,SAAwB,EACxB,OAAyB,EAAE;IAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CACnB,KAA4B,EAC5B,SAAwB,EACxB,GAAqB;IAErB,MAAM,EACJ,UAAU,EACV,WAAW,EACX,MAAM,EACN,OAAO,EACP,SAAS,EACT,YAAY,EACZ,KAAK,EACL,WAAW,GACZ,GAAG,GAAG,CAAC;IAER,+EAA+E;IAC/E,4EAA4E;IAC5E,8EAA8E;IAC9E,uEAAuE;IACvE,8EAA8E;IAC9E,8EAA8E;IAC9E,MAAM,WAAW,GAAG,CAClB,IAAY,EACwC,EAAE;QACtD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,IAAI,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC;YACjE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAChD,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;YACrD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,gBAAgB,GAAG,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,CAAC;IAC9D,MAAM,mBAAmB,GACvB,gBAAgB,IAAI,CAAC,EAAG,CAAC,UAAU,IAAI,EAAG,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,gBAAgB;QAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,cAAc,GAAG,WAAW,KAAK,IAAI,IAAI,WAAW,GAAG,SAAS,CAAC;IAEvE,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAEzD,wEAAwE;IACxE,8DAA8D;IAC9D,MAAM,SAAS,GAAG,+BAA+B,SAAS,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,qBAAqB,SAAS,CAAC,GAAG,EAAE,CAAC;IAClH,MAAM,UAAU,GAA6B;QAC3C,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE;QACjD,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE;KAClD,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;IAE/C,uEAAuE;IACvE,MAAM,gBAAgB,GACpB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEpD,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC;SACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAClC,IAAI,EAAE,CAAC;IAEV,uEAAuE;IACvE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,MAAM,qBAAqB,GAAG,MAAM,CAAC,aAAa,CAAC;IACnD,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACpB,IAAI,EAAE,CAAC;IAEV,mEAAmE;IACnE,gFAAgF;IAChF,IAAI,OAAmC,CAAC;IACxC,IAAI,cAAc;QAAE,OAAO,GAAG,iBAAiB,CAAC;SAC3C,IAAI,CAAC,qBAAqB;QAAE,OAAO,GAAG,eAAe,CAAC;SACtD,IAAI,gBAAgB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS;QACrE,OAAO,GAAG,WAAW,CAAC;;QACnB,OAAO,GAAG,OAAO,CAAC;IAEvB,4EAA4E;IAC5E,2EAA2E;IAC3E,2CAA2C;IAC3C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,cAAc,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7C,KAAK,GAAG,CAAC,CAAC,CAAC;IACb,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,KAAK,GAAG,CAAC,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/C,KAAK,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,cAAc,GAAG,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,gBAAgB,GACpB,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACzC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE5C,OAAO;QACL,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,gBAAgB;QAChB,iBAAiB;QACjB,qBAAqB;QACrB,iBAAiB;QACjB,WAAW;QACX,gBAAgB;QAChB,mBAAmB;QACnB,SAAS;QACT,OAAO;QACP,KAAK;QACL,cAAc;QACd,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,KAA4B,EAC5B,OAAyB,EAAE;IAE3B,MAAM,YAAY,GAA+C;QAC/D,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,CAAC;QACR,iBAAiB,EAAE,CAAC;QACpB,aAAa,EAAE,CAAC;KACjB,CAAC;IACF,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,IAAI,CACT,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QACjD,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QACjB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CACzB,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/composition/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,mBAAmB,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,8EAA8E;AAC9E,oEAAoE;AACpE,oEAAoE;AACpE,4EAA4E;AAC5E,2EAA2E;AAC3E,0CAA0C;AAC1C,MAAM,2BAA2B,GAA0C,CAAC,GAAG,EAAE;IAC/E,MAAM,CAAC,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,GAAG,CAAmD,CAAC;YAC9D,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,EAAE,CAAC;AAEL;4EAC4E;AAC5E,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,OAAO,CAAU,CAAC;AAE9C,+EAA+E;AAC/E,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AACzE,iFAAiF;AACjF,MAAM,sBAAsB,GAA2C,CAAC,GAAG,EAAE;IAC3E,MAAM,CAAC,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,KAAK,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,wBAAwB,GAAwB,CAAC,GAAG,EAAE;IAC1D,MAAM,CAAC,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,KAAK,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;QACrC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS;YAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC,EAAE,CAAC;AA2HL;+DAC+D;AAC/D,SAAS,kBAAkB,CACzB,KAA4B,EAC5B,MAAyC;IAEzC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;QAC/C,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnB,GAAG,GAAG,IAAI,CAAC;QACb,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QACrC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,MAAM;QAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,cAAc,GAAqC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAE5E;;;;;;;;GAQG;AACH,SAAS,YAAY,CAAC,CAAS,EAAE,CAAS;IACxC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACrD,OAAO,IAAI,CAAC;AACd,CAAC;AA8BD;gBACgB;AAChB,SAAS,qBAAqB,CAC5B,KAA4B,EAC5B,IAAsB;IAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,IAAI,wBAAwB,CAAC;IACpE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,OAAO;QACL,UAAU;QACV,WAAW;QACX,MAAM;QACN,OAAO,EAAE,IAAI,CAAC,oBAAoB,IAAI,qBAAqB;QAC3D,SAAS,EAAE,IAAI,CAAC,oBAAoB,IAAI,CAAC;QACzC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,IAAI,2BAA2B;QACxE,2EAA2E;QAC3E,4EAA4E;QAC5E,YAAY,EAAE,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC;QAC7D,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC;QAC5C,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC;KACvD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA4B,EAC5B,SAAwB,EACxB,OAAyB,EAAE;IAE3B,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CACnB,KAA4B,EAC5B,SAAwB,EACxB,GAAqB;IAErB,MAAM,EACJ,UAAU,EACV,WAAW,EACX,MAAM,EACN,OAAO,EACP,SAAS,EACT,YAAY,EACZ,KAAK,EACL,WAAW,EACX,gBAAgB,GACjB,GAAG,GAAG,CAAC;IAER,+EAA+E;IAC/E,4EAA4E;IAC5E,8EAA8E;IAC9E,uEAAuE;IACvE,8EAA8E;IAC9E,8EAA8E;IAC9E,MAAM,WAAW,GAAG,CAClB,IAAY,EACwC,EAAE;QACtD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,IAAI,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC;YACjE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAChD,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;YACrD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,gBAAgB,GAAG,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,CAAC;IAC9D,MAAM,mBAAmB,GACvB,gBAAgB,IAAI,CAAC,EAAG,CAAC,UAAU,IAAI,EAAG,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,gBAAgB;QAClC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,cAAc,GAAG,WAAW,KAAK,IAAI,IAAI,WAAW,GAAG,SAAS,CAAC;IAEvE,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAEzD,yEAAyE;IACzE,sEAAsE;IACtE,2DAA2D;IAC3D,kEAAkE;IAClE,mEAAmE;IACnE,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;YAAE,SAAS,CAAC,UAAU;QAC9D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,EAAE,KAAK,EAAE;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,WAAW,CAAC,IAAI,EAAE,CAAC;IACnB,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzC,wEAAwE;IACxE,8DAA8D;IAC9D,MAAM,SAAS,GAAG,+BAA+B,SAAS,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,qBAAqB,SAAS,CAAC,GAAG,EAAE,CAAC;IAClH,MAAM,UAAU,GAA6B;QAC3C,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE;QACjD,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE;KAClD,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;IAE/C,uEAAuE;IACvE,MAAM,gBAAgB,GACpB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEpD,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC;SACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAClC,IAAI,EAAE,CAAC;IAEV,uEAAuE;IACvE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,MAAM,qBAAqB,GAAG,MAAM,CAAC,aAAa,CAAC;IACnD,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO;SACrC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACpB,IAAI,EAAE,CAAC;IAEV,mEAAmE;IACnE,uEAAuE;IACvE,sEAAsE;IACtE,8DAA8D;IAC9D,IAAI,OAAmC,CAAC;IACxC,IAAI,cAAc;QAAE,OAAO,GAAG,iBAAiB,CAAC;SAC3C,IAAI,CAAC,qBAAqB;QAAE,OAAO,GAAG,eAAe,CAAC;SACtD,IAAI,SAAS;QAAE,OAAO,GAAG,YAAY,CAAC;SACtC,IAAI,gBAAgB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS;QACrE,OAAO,GAAG,WAAW,CAAC;;QACnB,OAAO,GAAG,OAAO,CAAC;IAEvB,2EAA2E;IAC3E,2EAA2E;IAC3E,2CAA2C;IAC3C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,cAAc,IAAI,CAAC,qBAAqB,IAAI,SAAS,EAAE,CAAC;QAC1D,KAAK,GAAG,CAAC,CAAC,CAAC;IACb,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,KAAK,GAAG,CAAC,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/C,KAAK,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,cAAc,GAAG,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,gBAAgB,GACpB,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACzC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE5C,OAAO;QACL,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,gBAAgB;QAChB,iBAAiB;QACjB,qBAAqB;QACrB,iBAAiB;QACjB,WAAW;QACX,gBAAgB;QAChB,mBAAmB;QACnB,SAAS;QACT,OAAO;QACP,KAAK;QACL,WAAW;QACX,WAAW;QACX,cAAc;QACd,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,KAA4B,EAC5B,OAAyB,EAAE;IAE3B,MAAM,YAAY,GAA+C;QAC/D,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,CAAC;QACR,iBAAiB,EAAE,CAAC;QACpB,aAAa,EAAE,CAAC;QAChB,YAAY,EAAE,CAAC;KAChB,CAAC;IACF,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,IAAI,CACT,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QACjD,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QACjB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CACzB,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|