pi-kiosk-shared 2.1.88 → 2.1.90
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/dist/tenant-entitlements/applySimpleStateDependencyImplications.d.ts +7 -0
- package/dist/tenant-entitlements/applySimpleStateDependencyImplications.d.ts.map +1 -0
- package/dist/tenant-entitlements/applySimpleStateDependencyImplications.js +38 -0
- package/dist/tenant-entitlements/applySimpleStateDependencyImplications.js.map +1 -0
- package/dist/tenant-entitlements/applyTenantScopeToSimpleStates.d.ts +14 -0
- package/dist/tenant-entitlements/applyTenantScopeToSimpleStates.d.ts.map +1 -0
- package/dist/tenant-entitlements/applyTenantScopeToSimpleStates.js +128 -0
- package/dist/tenant-entitlements/applyTenantScopeToSimpleStates.js.map +1 -0
- package/dist/tenant-entitlements/entitlementSimpleStateMapping.d.ts +10 -0
- package/dist/tenant-entitlements/entitlementSimpleStateMapping.d.ts.map +1 -0
- package/dist/tenant-entitlements/entitlementSimpleStateMapping.js +54 -0
- package/dist/tenant-entitlements/entitlementSimpleStateMapping.js.map +1 -0
- package/dist/tenant-entitlements/index.d.ts +6 -0
- package/dist/tenant-entitlements/index.d.ts.map +1 -1
- package/dist/tenant-entitlements/index.js +4 -0
- package/dist/tenant-entitlements/index.js.map +1 -1
- package/dist/tenant-entitlements/tenantScopeTypes.d.ts +11 -0
- package/dist/tenant-entitlements/tenantScopeTypes.d.ts.map +1 -0
- package/dist/tenant-entitlements/tenantScopeTypes.js +15 -0
- package/dist/tenant-entitlements/tenantScopeTypes.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { EntitlementBlockKey, SimpleEntitlementState } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Applies commerce-cluster implications (plan §7.2 V-02, V-03, LOY-V01) before SIMPLE → axis mapping.
|
|
4
|
+
* Keeps hidden blocks (e.g. catalog_administration) consistent with visible SIMPLE toggles.
|
|
5
|
+
*/
|
|
6
|
+
export declare function applySimpleStateDependencyImplications(states: Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>): Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>;
|
|
7
|
+
//# sourceMappingURL=applySimpleStateDependencyImplications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applySimpleStateDependencyImplications.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/applySimpleStateDependencyImplications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAM9E;;;GAGG;AACH,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACnE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAkC9D"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
function isRuntimeActiveSimpleState(state) {
|
|
2
|
+
return state === 'on' || state === 'softOffVisible' || state === 'softOffHidden';
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Applies commerce-cluster implications (plan §7.2 V-02, V-03, LOY-V01) before SIMPLE → axis mapping.
|
|
6
|
+
* Keeps hidden blocks (e.g. catalog_administration) consistent with visible SIMPLE toggles.
|
|
7
|
+
*/
|
|
8
|
+
export function applySimpleStateDependencyImplications(states) {
|
|
9
|
+
const result = { ...states };
|
|
10
|
+
const vendingActive = isRuntimeActiveSimpleState(result.product_vending);
|
|
11
|
+
const inventoryActive = isRuntimeActiveSimpleState(result.inventory_management);
|
|
12
|
+
const loyaltyActive = isRuntimeActiveSimpleState(result.loyalty_program);
|
|
13
|
+
if (inventoryActive) {
|
|
14
|
+
if (!vendingActive) {
|
|
15
|
+
result.product_vending = 'on';
|
|
16
|
+
}
|
|
17
|
+
result.sales_point_management = 'on';
|
|
18
|
+
}
|
|
19
|
+
if (loyaltyActive && !isRuntimeActiveSimpleState(result.product_vending)) {
|
|
20
|
+
result.product_vending = 'on';
|
|
21
|
+
}
|
|
22
|
+
const vendingActiveAfterImplied = isRuntimeActiveSimpleState(result.product_vending);
|
|
23
|
+
const donationActiveAfterImplied = isRuntimeActiveSimpleState(result.donation);
|
|
24
|
+
if (vendingActiveAfterImplied) {
|
|
25
|
+
const catalog = result.catalog_administration;
|
|
26
|
+
if (catalog === undefined || catalog === 'off' || catalog === 'hardOff') {
|
|
27
|
+
result.catalog_administration = 'on';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else if (donationActiveAfterImplied) {
|
|
31
|
+
const catalog = result.catalog_administration;
|
|
32
|
+
if (catalog === undefined || catalog === 'off') {
|
|
33
|
+
result.catalog_administration = 'hardOff';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=applySimpleStateDependencyImplications.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applySimpleStateDependencyImplications.js","sourceRoot":"","sources":["../../src/tenant-entitlements/applySimpleStateDependencyImplications.ts"],"names":[],"mappings":"AAEA,SAAS,0BAA0B,CAAC,KAAyC;IAC3E,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,eAAe,CAAC;AACnF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sCAAsC,CACpD,MAAoE;IAEpE,MAAM,MAAM,GAAiE,EAAE,GAAG,MAAM,EAAE,CAAC;IAE3F,MAAM,aAAa,GAAG,0BAA0B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,0BAA0B,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,0BAA0B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAEzE,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;QAChC,CAAC;QACD,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,IAAI,aAAa,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACzE,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,MAAM,yBAAyB,GAAG,0BAA0B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACrF,MAAM,0BAA0B,GAAG,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE/E,IAAI,yBAAyB,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxE,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACvC,CAAC;IACH,CAAC;SAAM,IAAI,0BAA0B,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/C,MAAM,CAAC,sBAAsB,GAAG,SAAS,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { EntitlementBlockKey, SimpleEntitlementState } from './types.js';
|
|
2
|
+
import type { TenantAllowedPurposes, TenantSurfaceScope } from './tenantScopeTypes.js';
|
|
3
|
+
/** Blocks controlled exclusively by tenant scope pickers (not editable in SIMPLE profile). */
|
|
4
|
+
export declare const TENANT_AXIS_CONTROLLED_BLOCK_KEYS: readonly ["product_vending", "donation", "surface_kiosk", "surface_customer"];
|
|
5
|
+
export type TenantAxisControlledBlockKey = (typeof TENANT_AXIS_CONTROLLED_BLOCK_KEYS)[number];
|
|
6
|
+
/** Default non-axis SIMPLE blocks for new tenants (both commerce + both surfaces). */
|
|
7
|
+
export declare function buildDefaultTenantScopeBaseline(): Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>;
|
|
8
|
+
export declare function isAxisControlledEntitlementBlock(blockKey: EntitlementBlockKey): blockKey is TenantAxisControlledBlockKey;
|
|
9
|
+
export declare function stripAxisControlledSimpleStates(states: Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>): Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>;
|
|
10
|
+
/** Applies tenant commerce + surface scope onto SIMPLE states (axis blocks overwritten). */
|
|
11
|
+
export declare function applyTenantScopeToSimpleStates(allowedPurposes: TenantAllowedPurposes, surfaceScope: TenantSurfaceScope, current?: Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>): Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>;
|
|
12
|
+
export declare function inferAllowedPurposesFromSimpleStates(states: Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>): TenantAllowedPurposes;
|
|
13
|
+
export declare function inferSurfaceScopeFromSimpleStates(states: Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>): TenantSurfaceScope;
|
|
14
|
+
//# sourceMappingURL=applyTenantScopeToSimpleStates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyTenantScopeToSimpleStates.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/applyTenantScopeToSimpleStates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAMvF,8FAA8F;AAC9F,eAAO,MAAM,iCAAiC,+EAKK,CAAC;AAEpD,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAC;AAM9F,sFAAsF;AACtF,wBAAgB,+BAA+B,IAAI,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAc9G;AAED,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,mBAAmB,GAAG,QAAQ,IAAI,4BAA4B,CAExH;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACnE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAM9D;AA2DD,4FAA4F;AAC5F,wBAAgB,8BAA8B,CAC5C,eAAe,EAAE,qBAAqB,EACtC,YAAY,EAAE,kBAAkB,EAChC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACrE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAQ9D;AAED,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACnE,qBAAqB,CAavB;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACnE,kBAAkB,CAapB"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { applySimpleStateDependencyImplications } from './applySimpleStateDependencyImplications.js';
|
|
2
|
+
const ON = 'on';
|
|
3
|
+
const OFF = 'off';
|
|
4
|
+
const HARD_OFF = 'hardOff';
|
|
5
|
+
/** Blocks controlled exclusively by tenant scope pickers (not editable in SIMPLE profile). */
|
|
6
|
+
export const TENANT_AXIS_CONTROLLED_BLOCK_KEYS = [
|
|
7
|
+
'product_vending',
|
|
8
|
+
'donation',
|
|
9
|
+
'surface_kiosk',
|
|
10
|
+
'surface_customer',
|
|
11
|
+
];
|
|
12
|
+
function isRuntimeActiveSimpleState(state) {
|
|
13
|
+
return state === 'on' || state === 'softOffVisible' || state === 'softOffHidden';
|
|
14
|
+
}
|
|
15
|
+
/** Default non-axis SIMPLE blocks for new tenants (both commerce + both surfaces). */
|
|
16
|
+
export function buildDefaultTenantScopeBaseline() {
|
|
17
|
+
return {
|
|
18
|
+
sales_point_management: ON,
|
|
19
|
+
order_pickup_infrastructure: ON,
|
|
20
|
+
pickup_points: ON,
|
|
21
|
+
immediate_self_pickup: ON,
|
|
22
|
+
scheduled_pickup: OFF,
|
|
23
|
+
staff_pickup_scan: ON,
|
|
24
|
+
analytics_summary: ON,
|
|
25
|
+
comms_governance: ON,
|
|
26
|
+
tenant_ops_settings: ON,
|
|
27
|
+
inventory_management: OFF,
|
|
28
|
+
loyalty_program: OFF,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export function isAxisControlledEntitlementBlock(blockKey) {
|
|
32
|
+
return TENANT_AXIS_CONTROLLED_BLOCK_KEYS.includes(blockKey);
|
|
33
|
+
}
|
|
34
|
+
export function stripAxisControlledSimpleStates(states) {
|
|
35
|
+
const result = { ...states };
|
|
36
|
+
for (const key of TENANT_AXIS_CONTROLLED_BLOCK_KEYS) {
|
|
37
|
+
delete result[key];
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
function applyAllowedPurposesToStates(allowedPurposes, states) {
|
|
42
|
+
const result = { ...states };
|
|
43
|
+
switch (allowedPurposes) {
|
|
44
|
+
case 'PRODUCT_ONLY':
|
|
45
|
+
result.product_vending = ON;
|
|
46
|
+
result.donation = OFF;
|
|
47
|
+
break;
|
|
48
|
+
case 'DONATION_ONLY':
|
|
49
|
+
result.product_vending = OFF;
|
|
50
|
+
result.donation = ON;
|
|
51
|
+
result.inventory_management = OFF;
|
|
52
|
+
result.loyalty_program = OFF;
|
|
53
|
+
result.catalog_administration = HARD_OFF;
|
|
54
|
+
result.analytics_summary = OFF;
|
|
55
|
+
result.pickup_points = OFF;
|
|
56
|
+
break;
|
|
57
|
+
case 'BOTH':
|
|
58
|
+
result.product_vending = ON;
|
|
59
|
+
result.donation = ON;
|
|
60
|
+
result.analytics_summary = ON;
|
|
61
|
+
result.pickup_points = ON;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
function applySurfaceScopeToStates(surfaceScope, states) {
|
|
67
|
+
const result = { ...states };
|
|
68
|
+
switch (surfaceScope) {
|
|
69
|
+
case 'KIOSK_ONLY':
|
|
70
|
+
result.surface_kiosk = ON;
|
|
71
|
+
result.surface_customer = OFF;
|
|
72
|
+
result.customer_auth_pwa = OFF;
|
|
73
|
+
result.realtime_device_transport = ON;
|
|
74
|
+
break;
|
|
75
|
+
case 'CUSTOMER_ONLY':
|
|
76
|
+
result.surface_kiosk = OFF;
|
|
77
|
+
result.surface_customer = ON;
|
|
78
|
+
result.customer_auth_pwa = ON;
|
|
79
|
+
result.realtime_device_transport = OFF;
|
|
80
|
+
break;
|
|
81
|
+
case 'BOTH':
|
|
82
|
+
result.surface_kiosk = ON;
|
|
83
|
+
result.surface_customer = ON;
|
|
84
|
+
result.customer_auth_pwa = ON;
|
|
85
|
+
result.realtime_device_transport = ON;
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
90
|
+
/** Applies tenant commerce + surface scope onto SIMPLE states (axis blocks overwritten). */
|
|
91
|
+
export function applyTenantScopeToSimpleStates(allowedPurposes, surfaceScope, current) {
|
|
92
|
+
const base = {
|
|
93
|
+
...buildDefaultTenantScopeBaseline(),
|
|
94
|
+
...current,
|
|
95
|
+
};
|
|
96
|
+
const withCommerce = applyAllowedPurposesToStates(allowedPurposes, base);
|
|
97
|
+
const withSurfaces = applySurfaceScopeToStates(surfaceScope, withCommerce);
|
|
98
|
+
return applySimpleStateDependencyImplications(withSurfaces);
|
|
99
|
+
}
|
|
100
|
+
export function inferAllowedPurposesFromSimpleStates(states) {
|
|
101
|
+
const productOn = isRuntimeActiveSimpleState(states.product_vending);
|
|
102
|
+
const donationOn = isRuntimeActiveSimpleState(states.donation);
|
|
103
|
+
if (productOn && donationOn) {
|
|
104
|
+
return 'BOTH';
|
|
105
|
+
}
|
|
106
|
+
if (donationOn) {
|
|
107
|
+
return 'DONATION_ONLY';
|
|
108
|
+
}
|
|
109
|
+
if (productOn) {
|
|
110
|
+
return 'PRODUCT_ONLY';
|
|
111
|
+
}
|
|
112
|
+
return 'BOTH';
|
|
113
|
+
}
|
|
114
|
+
export function inferSurfaceScopeFromSimpleStates(states) {
|
|
115
|
+
const kioskOn = isRuntimeActiveSimpleState(states.surface_kiosk);
|
|
116
|
+
const customerOn = isRuntimeActiveSimpleState(states.surface_customer);
|
|
117
|
+
if (kioskOn && customerOn) {
|
|
118
|
+
return 'BOTH';
|
|
119
|
+
}
|
|
120
|
+
if (kioskOn) {
|
|
121
|
+
return 'KIOSK_ONLY';
|
|
122
|
+
}
|
|
123
|
+
if (customerOn) {
|
|
124
|
+
return 'CUSTOMER_ONLY';
|
|
125
|
+
}
|
|
126
|
+
return 'BOTH';
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=applyTenantScopeToSimpleStates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyTenantScopeToSimpleStates.js","sourceRoot":"","sources":["../../src/tenant-entitlements/applyTenantScopeToSimpleStates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { EntitlementBlockAxes, EntitlementBlockKey, SimpleEntitlementState } from './types.js';
|
|
2
|
+
export declare function axesToSimpleState(axes: EntitlementBlockAxes): SimpleEntitlementState;
|
|
3
|
+
export declare function simpleStatesFromPolicyAxes(policies: readonly {
|
|
4
|
+
blockKey: string;
|
|
5
|
+
runtimeMode: EntitlementBlockAxes['runtimeMode'];
|
|
6
|
+
visibilityMode: EntitlementBlockAxes['visibilityMode'];
|
|
7
|
+
mutationMode: EntitlementBlockAxes['mutationMode'];
|
|
8
|
+
}[]): Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>;
|
|
9
|
+
export declare function resolveSimpleStateForBlock(blockKey: EntitlementBlockKey, simpleStates: Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>): SimpleEntitlementState;
|
|
10
|
+
//# sourceMappingURL=entitlementSimpleStateMapping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entitlementSimpleStateMapping.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/entitlementSimpleStateMapping.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAyB,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAI3H,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,GAAG,sBAAsB,CA8BpF;AAMD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACjD,cAAc,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACvD,YAAY,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;CACpD,EAAE,GACF,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAc9D;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,mBAAmB,EAC7B,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,GACzE,sBAAsB,CASxB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { TENANT_ENTITLEMENT_BLOCK_CATALOG, getEntitlementBlockCatalogEntry } from './catalog.js';
|
|
2
|
+
const CORE_REQUIRED_ON = 'on';
|
|
3
|
+
export function axesToSimpleState(axes) {
|
|
4
|
+
if (axes.runtimeMode === 'ENABLED' &&
|
|
5
|
+
axes.visibilityMode === 'VISIBLE' &&
|
|
6
|
+
axes.mutationMode === 'ALLOW_WRITES') {
|
|
7
|
+
return 'on';
|
|
8
|
+
}
|
|
9
|
+
if (axes.runtimeMode === 'ENABLED' &&
|
|
10
|
+
axes.visibilityMode === 'VISIBLE' &&
|
|
11
|
+
axes.mutationMode === 'READ_ONLY') {
|
|
12
|
+
return 'softOffVisible';
|
|
13
|
+
}
|
|
14
|
+
if (axes.runtimeMode === 'ENABLED' &&
|
|
15
|
+
axes.visibilityMode === 'HIDDEN' &&
|
|
16
|
+
axes.mutationMode === 'READ_ONLY') {
|
|
17
|
+
return 'softOffHidden';
|
|
18
|
+
}
|
|
19
|
+
if (axes.runtimeMode === 'DISABLED' &&
|
|
20
|
+
axes.visibilityMode === 'HIDDEN' &&
|
|
21
|
+
axes.mutationMode === 'BLOCK_ALL') {
|
|
22
|
+
return 'hardOff';
|
|
23
|
+
}
|
|
24
|
+
return 'off';
|
|
25
|
+
}
|
|
26
|
+
function isCoreImmutableBlock(blockClass) {
|
|
27
|
+
return blockClass === 'CORE_IMMUTABLE';
|
|
28
|
+
}
|
|
29
|
+
export function simpleStatesFromPolicyAxes(policies) {
|
|
30
|
+
const byKey = new Map(policies.map((row) => [row.blockKey, row]));
|
|
31
|
+
const states = {};
|
|
32
|
+
for (const entry of TENANT_ENTITLEMENT_BLOCK_CATALOG) {
|
|
33
|
+
if (entry.immutableDefaults !== undefined || isCoreImmutableBlock(entry.blockClass)) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const row = byKey.get(entry.blockKey);
|
|
37
|
+
if (row === undefined) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
states[entry.blockKey] = axesToSimpleState(row);
|
|
41
|
+
}
|
|
42
|
+
return states;
|
|
43
|
+
}
|
|
44
|
+
export function resolveSimpleStateForBlock(blockKey, simpleStates) {
|
|
45
|
+
const entry = getEntitlementBlockCatalogEntry(blockKey);
|
|
46
|
+
if (entry.immutableDefaults !== undefined) {
|
|
47
|
+
return axesToSimpleState(entry.immutableDefaults);
|
|
48
|
+
}
|
|
49
|
+
if (entry.blockClass === 'CORE_REQUIRED') {
|
|
50
|
+
return CORE_REQUIRED_ON;
|
|
51
|
+
}
|
|
52
|
+
return simpleStates[blockKey] ?? 'off';
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=entitlementSimpleStateMapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entitlementSimpleStateMapping.js","sourceRoot":"","sources":["../../src/tenant-entitlements/entitlementSimpleStateMapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC;AAGjG,MAAM,gBAAgB,GAA2B,IAAI,CAAC;AAEtD,MAAM,UAAU,iBAAiB,CAAC,IAA0B;IAC1D,IACE,IAAI,CAAC,WAAW,KAAK,SAAS;QAC9B,IAAI,CAAC,cAAc,KAAK,SAAS;QACjC,IAAI,CAAC,YAAY,KAAK,cAAc,EACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IACE,IAAI,CAAC,WAAW,KAAK,SAAS;QAC9B,IAAI,CAAC,cAAc,KAAK,SAAS;QACjC,IAAI,CAAC,YAAY,KAAK,WAAW,EACjC,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IACE,IAAI,CAAC,WAAW,KAAK,SAAS;QAC9B,IAAI,CAAC,cAAc,KAAK,QAAQ;QAChC,IAAI,CAAC,YAAY,KAAK,WAAW,EACjC,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IACE,IAAI,CAAC,WAAW,KAAK,UAAU;QAC/B,IAAI,CAAC,cAAc,KAAK,QAAQ;QAChC,IAAI,CAAC,YAAY,KAAK,WAAW,EACjC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAiC;IAC7D,OAAO,UAAU,KAAK,gBAAgB,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAKG;IAEH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAiE,EAAE,CAAC;IAChF,KAAK,MAAM,KAAK,IAAI,gCAAgC,EAAE,CAAC;QACrD,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,IAAI,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACpF,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAA6B,EAC7B,YAA0E;IAE1E,MAAM,KAAK,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,eAAe,EAAE,CAAC;QACzC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;AACzC,CAAC"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export { TENANT_ENTITLEMENT_BLOCK_CATALOG, TENANT_ENTITLEMENT_CATALOG_VERSION, TENANT_ENTITLEMENT_BLOCK_COUNT, ENTITLEMENT_BLOCK_KEYS, getEntitlementBlockCatalogEntry, isEntitlementBlockKey, } from './catalog.js';
|
|
2
2
|
export { ENTITLEMENT_BLOCK_CLASSES, ENTITLEMENT_MUTATION_MODES, ENTITLEMENT_PARENT_OPERATORS, ENTITLEMENT_RUNTIME_MODES, ENTITLEMENT_VISIBILITY_MODES, RECONCILIATION_MODES, SIMPLE_ENTITLEMENT_STATES, TENANT_SURFACE_PRESET_IDS, simpleEntitlementStateToAxes, } from './types.js';
|
|
3
|
+
export { applySimpleStateDependencyImplications } from './applySimpleStateDependencyImplications.js';
|
|
4
|
+
export { TENANT_ALLOWED_PURPOSES, TENANT_SURFACE_SCOPE_IDS, isTenantAllowedPurposes, isTenantSurfaceScope, } from './tenantScopeTypes.js';
|
|
5
|
+
export type { TenantAllowedPurposes, TenantSurfaceScope } from './tenantScopeTypes.js';
|
|
6
|
+
export { TENANT_AXIS_CONTROLLED_BLOCK_KEYS, applyTenantScopeToSimpleStates, buildDefaultTenantScopeBaseline, inferAllowedPurposesFromSimpleStates, inferSurfaceScopeFromSimpleStates, isAxisControlledEntitlementBlock, stripAxisControlledSimpleStates, } from './applyTenantScopeToSimpleStates.js';
|
|
7
|
+
export type { TenantAxisControlledBlockKey } from './applyTenantScopeToSimpleStates.js';
|
|
8
|
+
export { axesToSimpleState, resolveSimpleStateForBlock, simpleStatesFromPolicyAxes, } from './entitlementSimpleStateMapping.js';
|
|
3
9
|
export type { EntitlementBlockAxes, EntitlementBlockCatalogEntry, EntitlementBlockClass, EntitlementBlockKey, EntitlementMutationMode, EntitlementParentOperator, EntitlementRuntimeMode, EntitlementStrategyJson, EntitlementVisibilityMode, EvaluatedEntitlementPosture, PaymentReconciliationStrategy, ReconciliationMode, SimpleEntitlementState, StripeIntegrationStrategy, TenantSurfacePresetId, } from './types.js';
|
|
4
10
|
export { allowReadsForMutationMode, allowWritesForMutationMode, evaluatePosture, isEntitlementVisible, isVisibleForVisibilityMode, } from './evaluatePosture.js';
|
|
5
11
|
export { evaluateNavEntitlement, evaluateNavEntitlementFromVisible, } from './evaluateNavEntitlement.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,sCAAsC,EACtC,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,0CAA0C,CAAC;AAElD,YAAY,EACV,uCAAuC,EACvC,kCAAkC,GACnC,MAAM,0CAA0C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AAErG,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,EAC/B,oCAAoC,EACpC,iCAAiC,EACjC,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAE7C,YAAY,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAExF,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAE5C,YAAY,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,sCAAsC,EACtC,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,0CAA0C,CAAC;AAElD,YAAY,EACV,uCAAuC,EACvC,kCAAkC,GACnC,MAAM,0CAA0C,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export { TENANT_ENTITLEMENT_BLOCK_CATALOG, TENANT_ENTITLEMENT_CATALOG_VERSION, TENANT_ENTITLEMENT_BLOCK_COUNT, ENTITLEMENT_BLOCK_KEYS, getEntitlementBlockCatalogEntry, isEntitlementBlockKey, } from './catalog.js';
|
|
2
2
|
export { ENTITLEMENT_BLOCK_CLASSES, ENTITLEMENT_MUTATION_MODES, ENTITLEMENT_PARENT_OPERATORS, ENTITLEMENT_RUNTIME_MODES, ENTITLEMENT_VISIBILITY_MODES, RECONCILIATION_MODES, SIMPLE_ENTITLEMENT_STATES, TENANT_SURFACE_PRESET_IDS, simpleEntitlementStateToAxes, } from './types.js';
|
|
3
|
+
export { applySimpleStateDependencyImplications } from './applySimpleStateDependencyImplications.js';
|
|
4
|
+
export { TENANT_ALLOWED_PURPOSES, TENANT_SURFACE_SCOPE_IDS, isTenantAllowedPurposes, isTenantSurfaceScope, } from './tenantScopeTypes.js';
|
|
5
|
+
export { TENANT_AXIS_CONTROLLED_BLOCK_KEYS, applyTenantScopeToSimpleStates, buildDefaultTenantScopeBaseline, inferAllowedPurposesFromSimpleStates, inferSurfaceScopeFromSimpleStates, isAxisControlledEntitlementBlock, stripAxisControlledSimpleStates, } from './applyTenantScopeToSimpleStates.js';
|
|
6
|
+
export { axesToSimpleState, resolveSimpleStateForBlock, simpleStatesFromPolicyAxes, } from './entitlementSimpleStateMapping.js';
|
|
3
7
|
export { allowReadsForMutationMode, allowWritesForMutationMode, evaluatePosture, isEntitlementVisible, isVisibleForVisibilityMode, } from './evaluatePosture.js';
|
|
4
8
|
export { evaluateNavEntitlement, evaluateNavEntitlementFromVisible, } from './evaluateNavEntitlement.js';
|
|
5
9
|
export { resolveSalesPointEntitlementCeiling, DEFAULT_ENTITLED_PUBLIC_POSTURE, ENTITLEMENT_SURFACE_DISABLED_CODE, } from '../sales-point/salesPointPublicConfig.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tenant-entitlements/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tenant-entitlements/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,kCAAkC,EAClC,8BAA8B,EAC9B,sBAAsB,EACtB,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,sCAAsC,EAAE,MAAM,6CAA6C,CAAC;AAErG,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,EAC/B,oCAAoC,EACpC,iCAAiC,EACjC,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAI7C,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAoB5C,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EACL,mCAAmC,EACnC,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,0CAA0C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tenant-level commerce + surface scope (Option A — canonical on Tenant row).
|
|
3
|
+
* Drives axis-controlled entitlement blocks; bank allowedPurposes follows tenant.
|
|
4
|
+
*/
|
|
5
|
+
export declare const TENANT_ALLOWED_PURPOSES: readonly ["PRODUCT_ONLY", "DONATION_ONLY", "BOTH"];
|
|
6
|
+
export type TenantAllowedPurposes = (typeof TENANT_ALLOWED_PURPOSES)[number];
|
|
7
|
+
export declare const TENANT_SURFACE_SCOPE_IDS: readonly ["KIOSK_ONLY", "CUSTOMER_ONLY", "BOTH"];
|
|
8
|
+
export type TenantSurfaceScope = (typeof TENANT_SURFACE_SCOPE_IDS)[number];
|
|
9
|
+
export declare function isTenantAllowedPurposes(value: unknown): value is TenantAllowedPurposes;
|
|
10
|
+
export declare function isTenantSurfaceScope(value: unknown): value is TenantSurfaceScope;
|
|
11
|
+
//# sourceMappingURL=tenantScopeTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenantScopeTypes.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/tenantScopeTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,uBAAuB,oDAAqD,CAAC;AAC1F,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E,eAAO,MAAM,wBAAwB,kDAAmD,CAAC;AACzF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAMtF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAEhF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tenant-level commerce + surface scope (Option A — canonical on Tenant row).
|
|
3
|
+
* Drives axis-controlled entitlement blocks; bank allowedPurposes follows tenant.
|
|
4
|
+
*/
|
|
5
|
+
export const TENANT_ALLOWED_PURPOSES = ['PRODUCT_ONLY', 'DONATION_ONLY', 'BOTH'];
|
|
6
|
+
export const TENANT_SURFACE_SCOPE_IDS = ['KIOSK_ONLY', 'CUSTOMER_ONLY', 'BOTH'];
|
|
7
|
+
export function isTenantAllowedPurposes(value) {
|
|
8
|
+
return (value === 'PRODUCT_ONLY' ||
|
|
9
|
+
value === 'DONATION_ONLY' ||
|
|
10
|
+
value === 'BOTH');
|
|
11
|
+
}
|
|
12
|
+
export function isTenantSurfaceScope(value) {
|
|
13
|
+
return value === 'KIOSK_ONLY' || value === 'CUSTOMER_ONLY' || value === 'BOTH';
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=tenantScopeTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenantScopeTypes.js","sourceRoot":"","sources":["../../src/tenant-entitlements/tenantScopeTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,CAAU,CAAC;AAG1F,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,MAAM,CAAU,CAAC;AAGzF,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,OAAO,CACL,KAAK,KAAK,cAAc;QACxB,KAAK,KAAK,eAAe;QACzB,KAAK,KAAK,MAAM,CACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,eAAe,IAAI,KAAK,KAAK,MAAM,CAAC;AACjF,CAAC"}
|