@legendapp/state 2.2.0-next.0 → 2.2.0-next.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +1 -6
- package/index.js +120 -106
- package/index.js.map +1 -1
- package/index.mjs +120 -106
- package/index.mjs.map +1 -1
- package/package.json +1 -1
- package/persist-plugins/firebase.js +3 -3
- package/persist-plugins/firebase.js.map +1 -1
- package/persist-plugins/firebase.mjs +3 -3
- package/persist-plugins/firebase.mjs.map +1 -1
- package/persist.js +105 -61
- package/persist.js.map +1 -1
- package/persist.mjs +106 -62
- package/persist.mjs.map +1 -1
- package/src/globals.d.ts +2 -7
- package/src/observable.d.ts +6 -6
- package/src/observableInterfaces.d.ts +38 -12
- package/src/persist/persistObservable.d.ts +10 -1
package/persist.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { symbolDelete, isString, isArray, isObject, constructObjectWithPath, deconstructObjectWithPath, internal as internal$1, isObservable, observable, isFunction, getNode, when, isPromise, batch, mergeIntoObservable, isEmpty,
|
|
1
|
+
import { symbolDelete, isString, isArray, isObject, constructObjectWithPath, deconstructObjectWithPath, internal as internal$1, isObservable, observable, isFunction, getNode, when, isPromise, batch, mergeIntoObservable, isEmpty, setAtPath, setInObservableAtPath } from '@legendapp/state';
|
|
2
2
|
|
|
3
3
|
const observablePersistConfiguration = {};
|
|
4
4
|
function configureObservablePersistence(options) {
|
|
@@ -138,7 +138,7 @@ function observablePersistRemoteFunctionsAdapter({ get, set, }) {
|
|
|
138
138
|
if (get) {
|
|
139
139
|
ret.get = (async (params) => {
|
|
140
140
|
const value = (await get(params));
|
|
141
|
-
params.onChange({ value, dateModified: Date.now() });
|
|
141
|
+
params.onChange({ value, dateModified: params.dateModified || Date.now() });
|
|
142
142
|
params.onGet();
|
|
143
143
|
});
|
|
144
144
|
}
|
|
@@ -149,7 +149,6 @@ function observablePersistRemoteFunctionsAdapter({ get, set, }) {
|
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
const { getProxy, globalState } = internal$1;
|
|
152
|
-
const { onChangeRemote } = globalState;
|
|
153
152
|
const mapPersistences = new WeakMap();
|
|
154
153
|
const metadatas = new WeakMap();
|
|
155
154
|
const promisesLocalSaves = new Set();
|
|
@@ -163,6 +162,15 @@ function parseLocalConfig(config) {
|
|
|
163
162
|
function doInOrder(arg1, arg2) {
|
|
164
163
|
return isPromise(arg1) ? arg1.then(arg2) : arg2(arg1);
|
|
165
164
|
}
|
|
165
|
+
function onChangeRemote(cb) {
|
|
166
|
+
when(() => !globalState.isLoadingRemote$.get(), () => {
|
|
167
|
+
// Remote changes should only update local state
|
|
168
|
+
globalState.isLoadingRemote$.set(true);
|
|
169
|
+
batch(cb, () => {
|
|
170
|
+
globalState.isLoadingRemote$.set(false);
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
}
|
|
166
174
|
function transformOutData(value, path, pathTypes, { transform, fieldTransforms }) {
|
|
167
175
|
if (fieldTransforms || (transform === null || transform === void 0 ? void 0 : transform.out)) {
|
|
168
176
|
const transformFn = () => {
|
|
@@ -220,10 +228,11 @@ async function updateMetadataImmediate(obs, localState, syncState, persistOption
|
|
|
220
228
|
}
|
|
221
229
|
}
|
|
222
230
|
function updateMetadata(obs, localState, syncState, persistOptions, newMetadata) {
|
|
231
|
+
var _a;
|
|
223
232
|
if (localState.timeoutSaveMetadata) {
|
|
224
233
|
clearTimeout(localState.timeoutSaveMetadata);
|
|
225
234
|
}
|
|
226
|
-
localState.timeoutSaveMetadata = setTimeout(() => updateMetadataImmediate(obs, localState, syncState, persistOptions, newMetadata),
|
|
235
|
+
localState.timeoutSaveMetadata = setTimeout(() => updateMetadataImmediate(obs, localState, syncState, persistOptions, newMetadata), ((_a = persistOptions === null || persistOptions === void 0 ? void 0 : persistOptions.remote) === null || _a === void 0 ? void 0 : _a.metadataTimeout) || 0);
|
|
227
236
|
}
|
|
228
237
|
let _queuedChanges = [];
|
|
229
238
|
async function processQueuedChanges() {
|
|
@@ -554,6 +563,7 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
554
563
|
isLoaded: false,
|
|
555
564
|
isEnabledLocal: true,
|
|
556
565
|
isEnabledRemote: true,
|
|
566
|
+
refreshNum: 0,
|
|
557
567
|
clearLocal: undefined,
|
|
558
568
|
sync: () => Promise.resolve(),
|
|
559
569
|
getPendingChanges: () => localState.pendingChanges,
|
|
@@ -587,63 +597,80 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
587
597
|
const dateModified = (_a = metadatas.get(obs)) === null || _a === void 0 ? void 0 : _a.modified;
|
|
588
598
|
const get = (_b = localState.persistenceRemote.get) === null || _b === void 0 ? void 0 : _b.bind(localState.persistenceRemote);
|
|
589
599
|
if (get) {
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
if (path.length && invertedMap) {
|
|
608
|
-
path = transformPath(path, pathTypes, invertedMap);
|
|
600
|
+
let attemptNum = 0;
|
|
601
|
+
const runGet = () => {
|
|
602
|
+
get({
|
|
603
|
+
state: syncState,
|
|
604
|
+
obs,
|
|
605
|
+
options: persistOptions,
|
|
606
|
+
dateModified,
|
|
607
|
+
onError: (error) => {
|
|
608
|
+
var _a;
|
|
609
|
+
if (remote.retry) {
|
|
610
|
+
const { backoff, delay = 1000, infinite, times = 3, maxDelay = 30000, } = remote.retry;
|
|
611
|
+
if (infinite || attemptNum++ < times) {
|
|
612
|
+
const delayTime = Math.min(delay * (backoff === 'constant' ? 1 : 2 ** attemptNum), maxDelay);
|
|
613
|
+
setTimeout(runGet, delayTime);
|
|
614
|
+
// Don't error when retrying
|
|
615
|
+
return;
|
|
616
|
+
}
|
|
609
617
|
}
|
|
610
|
-
|
|
611
|
-
|
|
618
|
+
(_a = remote.onGetError) === null || _a === void 0 ? void 0 : _a.call(remote, error);
|
|
619
|
+
},
|
|
620
|
+
onGet: () => {
|
|
621
|
+
syncState.isLoaded.set(true);
|
|
622
|
+
},
|
|
623
|
+
onChange: async ({ value, path = [], pathTypes = [], mode = 'set', dateModified }) => {
|
|
624
|
+
// Note: value is the constructed value, path is used for setInObservableAtPath
|
|
625
|
+
// to start the set into the observable from the path
|
|
626
|
+
if (value !== undefined) {
|
|
627
|
+
value = transformLoadData(value, remote, true);
|
|
628
|
+
if (isPromise(value)) {
|
|
629
|
+
value = await value;
|
|
630
|
+
}
|
|
631
|
+
const invertedMap = remote.fieldTransforms && invertFieldMap(remote.fieldTransforms);
|
|
632
|
+
if (path.length && invertedMap) {
|
|
633
|
+
path = transformPath(path, pathTypes, invertedMap);
|
|
634
|
+
}
|
|
635
|
+
if (mode === 'dateModified') {
|
|
636
|
+
if (dateModified && !isEmpty(value)) {
|
|
637
|
+
onChangeRemote(() => {
|
|
638
|
+
setInObservableAtPath(obs, path, pathTypes, value, 'assign');
|
|
639
|
+
});
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
else {
|
|
643
|
+
const pending = localState.pendingChanges;
|
|
644
|
+
if (pending) {
|
|
645
|
+
Object.keys(pending).forEach((key) => {
|
|
646
|
+
const p = key.split('/').filter((p) => p !== '');
|
|
647
|
+
const { v, t } = pending[key];
|
|
648
|
+
if (value[p[0]] !== undefined) {
|
|
649
|
+
value = setAtPath(value, p, t, v, obs.peek(), (path, value) => {
|
|
650
|
+
delete pending[key];
|
|
651
|
+
pending[path.join('/')] = {
|
|
652
|
+
p: null,
|
|
653
|
+
v: value,
|
|
654
|
+
t: t.slice(0, path.length),
|
|
655
|
+
};
|
|
656
|
+
});
|
|
657
|
+
}
|
|
658
|
+
});
|
|
659
|
+
}
|
|
612
660
|
onChangeRemote(() => {
|
|
613
|
-
setInObservableAtPath(obs, path, pathTypes, value,
|
|
661
|
+
setInObservableAtPath(obs, path, pathTypes, value, mode);
|
|
614
662
|
});
|
|
615
663
|
}
|
|
616
664
|
}
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
Object.keys(pending).forEach((key) => {
|
|
621
|
-
const p = key.split('/').filter((p) => p !== '');
|
|
622
|
-
const { v, t } = pending[key];
|
|
623
|
-
if (value[p[0]] !== undefined) {
|
|
624
|
-
value = setAtPath(value, p, t, v, obs.peek(), (path, value) => {
|
|
625
|
-
delete pending[key];
|
|
626
|
-
pending[path.join('/')] = {
|
|
627
|
-
p: null,
|
|
628
|
-
v: value,
|
|
629
|
-
t: t.slice(0, path.length),
|
|
630
|
-
};
|
|
631
|
-
});
|
|
632
|
-
}
|
|
633
|
-
});
|
|
634
|
-
}
|
|
635
|
-
onChangeRemote(() => {
|
|
636
|
-
setInObservableAtPath(obs, path, pathTypes, value, mode);
|
|
665
|
+
if (dateModified && local) {
|
|
666
|
+
updateMetadata(obs, localState, syncState, persistOptions, {
|
|
667
|
+
modified: dateModified,
|
|
637
668
|
});
|
|
638
669
|
}
|
|
639
|
-
}
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
});
|
|
644
|
-
}
|
|
645
|
-
},
|
|
646
|
-
});
|
|
670
|
+
},
|
|
671
|
+
});
|
|
672
|
+
};
|
|
673
|
+
runGet();
|
|
647
674
|
}
|
|
648
675
|
else {
|
|
649
676
|
syncState.isLoaded.set(true);
|
|
@@ -700,29 +727,46 @@ function persistObservable(initialOrObservable, persistOptions) {
|
|
|
700
727
|
});
|
|
701
728
|
return obs;
|
|
702
729
|
}
|
|
703
|
-
globalState.activateNode = function activateNodePersist(node,
|
|
704
|
-
|
|
730
|
+
globalState.activateNode = function activateNodePersist(node, refresh, newValue) {
|
|
731
|
+
const { onSetFn, subscriber, lastSync, cacheOptions, retryOptions } = node.activationState;
|
|
732
|
+
let onChange = undefined;
|
|
705
733
|
const pluginRemote = {
|
|
706
|
-
get(params) {
|
|
734
|
+
get: async (params) => {
|
|
707
735
|
onChange = params.onChange;
|
|
736
|
+
if (isPromise(newValue)) {
|
|
737
|
+
newValue = await newValue;
|
|
738
|
+
}
|
|
739
|
+
if (lastSync.value) {
|
|
740
|
+
params.dateModified = lastSync.value;
|
|
741
|
+
}
|
|
708
742
|
return newValue;
|
|
709
743
|
},
|
|
710
744
|
};
|
|
711
|
-
if (
|
|
712
|
-
|
|
745
|
+
if (onSetFn) {
|
|
746
|
+
// TODO: Work out these types better
|
|
747
|
+
pluginRemote.set = onSetFn;
|
|
713
748
|
}
|
|
714
749
|
if (subscriber) {
|
|
715
750
|
subscriber({
|
|
716
|
-
update: (
|
|
717
|
-
onChange
|
|
751
|
+
update: (params) => {
|
|
752
|
+
if (!onChange) {
|
|
753
|
+
// TODO: Make this message better
|
|
754
|
+
console.log('[legend-state] Cannot update immediately before the first return');
|
|
755
|
+
}
|
|
756
|
+
else {
|
|
757
|
+
onChange(params);
|
|
758
|
+
}
|
|
718
759
|
},
|
|
760
|
+
refresh,
|
|
719
761
|
});
|
|
720
762
|
}
|
|
721
763
|
persistObservable(getProxy(node), {
|
|
722
764
|
pluginRemote,
|
|
723
765
|
...(cacheOptions || {}),
|
|
766
|
+
remote: {
|
|
767
|
+
retry: retryOptions,
|
|
768
|
+
},
|
|
724
769
|
});
|
|
725
|
-
return { update: onChange };
|
|
726
770
|
};
|
|
727
771
|
|
|
728
772
|
function isInRemoteChange() {
|
package/persist.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persist.mjs","sources":["../../src/persist/configureObservablePersistence.ts","../../src/persist/fieldTransformer.ts","../../src/persist/observablePersistRemoteFunctionsAdapter.ts","../../src/persist/persistObservable.ts","../../persist.ts"],"sourcesContent":[null,null,null,null,null],"names":["internal","internalState"],"mappings":";;AAEO,MAAM,8BAA8B,GAAgC,EAAE,CAAC;AAExE,SAAU,8BAA8B,CAAC,OAAqC,EAAA;AAChF,IAAA,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;AAC3D;;ACKA,IAAI,WAA+C,CAAC;SAEpC,aAAa,CAAC,IAAc,EAAE,SAAuB,EAAE,GAAwB,EAAA;IAC3F,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,IAAI,CAAC,GAA+B,IAAI,CAAC;AACzC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,QAAA,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;AACvF,KAAA;IACD,IAAI,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClB,QAAA,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,KAAA;AACD,IAAA,OAAO,OAAO,CAAC;AACnB,CAAC;AAEe,SAAA,eAAe,CAAC,MAA2B,EAAE,GAAwB,EAAA;AACjF,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;QACxC,WAAW,CAAC,GAAG,CAAC,CAAC;AACpB,KAAA;IACD,IAAI,GAAG,GAAG,MAAM,CAAC;AACjB,IAAA,IAAI,MAAM,EAAE;QACR,IAAK,MAAkB,KAAK,YAAY;AAAE,YAAA,OAAO,MAAM,CAAC;AACxD,QAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AAClB,YAAA,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AACtB,SAAA;QAED,GAAG,GAAG,EAAE,CAAC;AAET,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;AAE3D,QAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AACtB,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAEpB,YAAA,IAAI,IAAI,EAAE;gBACN,GAAG,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACvC,aAAA;AAAM,iBAAA;AACH,gBAAA,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,MAAM,KAAK,SAAS,EAAE;;oBAEtB,IAAI,GAAG,KAAK,GAAG,EAAE;AACb,wBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACb,wBAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;4BAC3E,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACtF,yBAAA;AACJ,qBAAA;AACJ,iBAAA;qBAAM,IAAI,MAAM,KAAK,IAAI,EAAE;AACxB,oBAAA,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE;AAC/B,wBAAA,IAAI,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE;4BACnB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;AACnC,4BAAA,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;AACZ,gCAAA,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3C,6BAAA;AAAM,iCAAA;AACH,gCAAA,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACnB,6BAAA;AACJ,yBAAA;6BAAM,IAAI,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;4BACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;AACnC,4BAAA,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC5D,yBAAA;AAAM,6BAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;AACpB,4BAAA,IAAI,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE;AACnB,gCAAA,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;AAC7C,6BAAA;AAAM,iCAAA,IAAI,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE;gCAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC;gCACpC,MAAM,GAAG,GAAwB,EAAE,CAAC;AACpC,gCAAA,KAAK,MAAM,QAAQ,IAAI,CAAC,EAAE;AACtB,oCAAA,GAAG,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC1D,iCAAA;gCACD,CAAC,GAAG,GAAG,CAAC;AACX,6BAAA;AACJ,yBAAA;AACJ,qBAAA;AACD,oBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnB,iBAAA;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA;AAED,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAEK,SAAU,uBAAuB,CACnC,GAAW,EACX,IAAc,EACd,SAAuB,EACvB,eAAqC,EAAA;IAErC,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,aAAa,CAAC,IAAgB,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AACpF,IAAA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,yBAAyB,CAAC,eAAe,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;AAC9G,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,OAAO,EAAE,CAAC;AAE7B,SAAU,cAAc,CAAC,GAAwB,EAAA;IACnD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvC,IAAA,IAAI,QAAQ;AAAE,QAAA,OAAO,QAAQ,CAAC;IAE9B,MAAM,MAAM,GAAwB,EAAS,CAAC;AAE9C,IAAA,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AACnB,QAAA,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,GAAG,KAAK,OAAO,EAAE;YACjB,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AACrC,SAAA;aAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACtG,YAAA,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAE,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AACpD,SAAA;AAAM,aAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAChC,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACrB,SAAA;AACJ,KAAA;AACD,IAAA,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAE9B,IAAA,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;IACxC,WAAW,GAAG,UAAU,MAA2B,EAAA;AAC/C,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAI;AAClD,YAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACjB,WAAW,CAAC,KAAK,CAAC,CAAC;AACtB,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1B,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5C,QAAA,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;AAClC,YAAA,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AACpG,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;AAClB,KAAC,CAAC;AACL;;SC5Ie,uCAAuC,CAAS,EAC5D,GAAG,EACH,GAAG,GAC+B,EAAA;IAClC,MAAM,GAAG,GAAiC,EAAE,CAAC;AAE7C,IAAA,IAAI,GAAG,EAAE;QACL,GAAG,CAAC,GAAG,IAAI,OAAO,MAA2C,KAAI;YAC7D,MAAM,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM,CAAC,CAAM,CAAC;AACvC,YAAA,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACrD,MAAM,CAAC,KAAK,EAAE,CAAC;AACnB,SAAC,CAAwC,CAAC;AAC7C,KAAA;AAED,IAAA,IAAI,GAAG,EAAE;AACL,QAAA,GAAG,CAAC,GAAG,GAAG,GAA0C,CAAC;AACxD,KAAA;AAED,IAAA,OAAO,GAAG,CAAC;AACf;;ACoBA,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAGA,UAAQ,CAAC;AAC3C,MAAM,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC;AAE1B,MAAA,eAAe,GAMxB,IAAI,OAAO,GAAG;AAElB,MAAM,SAAS,GAAG,IAAI,OAAO,EAA4C,CAAC;AAC1E,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAiB,CAAC;AAYpD,SAAS,gBAAgB,CAAC,MAAgD,EAAA;AAItE,IAAA,OAAO,MAAM;AACT,UAAE,QAAQ,CAAC,MAAM,CAAC;AACd,cAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;cAC3C,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE;UACjC,EAAqD,CAAC;AACjE,CAAC;AAED,SAAS,SAAS,CAAI,IAAoB,EAAE,IAAwB,EAAA;IAChE,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAEe,SAAA,gBAAgB,CAC5B,KAAU,EACV,IAAc,EACd,SAAuB,EACvB,EAAE,SAAS,EAAE,eAAe,EAA4E,EAAA;IAExG,IAAI,eAAe,KAAI,SAAS,KAAT,IAAA,IAAA,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAA,EAAE;QACnC,MAAM,WAAW,GAAG,MAAK;AACrB,YAAA,IAAI,eAAe,EAAE;AACjB,gBAAA,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;gBACxG,KAAK,GAAG,GAAG,CAAC;gBACZ,IAAI,GAAG,eAAe,CAAC;AAC1B,aAAA;AAED,YAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC3B,SAAC,CAAC;AAEF,QAAA,IAAI,SAAS,KAAT,IAAA,IAAA,SAAS,uBAAT,SAAS,CAAE,GAAG,EAAE;YAChB,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACpE,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACzC,YAAA,MAAM,WAAW,GAAG,CAAC,aAAsB,KAAI;gBAC3C,KAAK,GAAG,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAClE,OAAO,WAAW,EAAE,CAAC;AACzB,aAAC,CAAC;AACF,YAAA,OAAO,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AACxC,SAAA;QACD,OAAO,WAAW,EAAE,CAAC;AACxB,KAAA;AAED,IAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAEK,SAAU,iBAAiB,CAC7B,KAAU,EACV,EAAE,SAAS,EAAE,eAAe,EAA4E,EACxG,eAAwB,EAAA;AAExB,IAAA,IAAI,eAAe,EAAE;AACjB,QAAA,MAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AACjD,QAAA,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC5C,KAAA;IAED,IAAI,eAAe,KAAI,SAAS,KAAT,IAAA,IAAA,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA,EAAE;AAClC,QAAA,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC/B,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,eAAe,uBAAuB,CAClC,GAA4B,EAC5B,UAAsB,EACtB,SAAmD,EACnD,cAAiC,EACjC,WAA4B,EAAA;IAE5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC7C,IAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAClB,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5B,KAAA;AAED,IAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC;AACxC,IAAA,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;IACnC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAM,CAAC,CAAC;;IAGnD,MAAM,WAAW,GAAgC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEpE,IAAA,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;AAE1C,IAAA,MAAM,WAAW,GAAG,OAAO,KAAK,QAAQ,KAAK,CAAC,WAAW,IAAI,QAAQ,KAAK,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEjG,IAAA,IAAI,WAAW,EAAE;AACb,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7D,QAAA,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC7B,QAAA,IAAI,gBAAgB,EAAE;YAClB,MAAM,gBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChE,SAAA;AAED,QAAA,IAAI,QAAQ,EAAE;AACV,YAAA,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxC,SAAA;AACJ,KAAA;AACL,CAAC;AAED,SAAS,cAAc,CACnB,GAA4B,EAC5B,UAAsB,EACtB,SAAmD,EACnD,cAAiC,EACjC,WAA4B,EAAA;IAE5B,IAAI,UAAU,CAAC,mBAAmB,EAAE;AAChC,QAAA,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AAChD,KAAA;IACD,UAAU,CAAC,mBAAmB,GAAG,UAAU,CACvC,MAAM,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,cAAmC,EAAE,WAAW,CAAC,EAC3G,EAAE,CACL,CAAC;AACN,CAAC;AAYD,IAAI,cAAc,GAAmB,EAAE,CAAC;AAExC,eAAe,oBAAoB,GAAA;;IAE/B,MAAM,aAAa,GAAG,cAAc,CAAC;IACrC,cAAc,GAAG,EAAE,CAAC;;;;;AAMpB,IAAA,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;;;;;;;;;;AAUjE,IAAA,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,eAAe,UAAU,CAAC,YAA0B,EAAA;AAChD,IAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC;AAE3G,IAAA,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;AACnC,IAAA,MAAM,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC;IACzC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,KAAM,CAAC,CAAC;AACzD,IAAA,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC;AAC3C,IAAA,MAAM,SAAS,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,iBAAiB,IAAI,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAC1G,IAAA,MAAM,UAAU,GACZ,CAAC,cAAc,KAAI,iBAAiB,KAAjB,IAAA,IAAA,iBAAiB,KAAjB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,iBAAiB,CAAE,GAAG,CAAA,IAAI,EAAC,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,QAAQ,CAAA,IAAI,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAE7G,IAAI,SAAS,IAAI,UAAU,EAAE;QACzB,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE;AAC9C,YAAA,OAAO,CAAC,KAAK,CACT,wFAAwF,EACxF,KAAK,CACR,CAAC;YACF,OAAO;AACV,SAAA;QACD,MAAM,YAAY,GAAwB,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAwB,EAAE,CAAC;AAC9C,QAAA,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,IAAI,iBAAiB,GAA4B,EAAE,CAAC;;AAGpD,QAAA,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAE5B,IAAI,KAAK,GAAG,KAAK,CAAC;;;;;AAMlB,YAAA,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE;AACvB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,oBAAA,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;wBACnF,KAAK,GAAG,IAAI,CAAC;wBACb,MAAM;AACT,qBAAA;AACJ,iBAAA;AACJ,aAAA;YAED,IAAI,CAAC,KAAK,EAAE;gBACR,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,gBAAA,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAE1B,gBAAA,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1D,gBAAA,IAAI,SAAS,EAAE;AACX,oBAAA,MAAM,qBAAqB,GAAG,gBAAgB,CAC1C,WAAW,EACX,IAAgB,EAChB,SAAS,EACT,WAAW,CACd,CAAC;AAEF,oBAAA,iBAAiB,CAAC,IAAI,CAClB,SAAS,CAAC,qBAAqB,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAI;;AAEpF,wBAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAA8B,CAAC,EAAE;;4BAE3D,YAAY,CAAC,IAAI,CAAC;AACd,gCAAA,IAAI,EAAE,eAAe;gCACrB,SAAS;gCACT,UAAU;AACV,gCAAA,WAAW,EAAE,gBAAgB;gCAC7B,OAAO;AACV,6BAAA,CAAC,CAAC;AACN,yBAAA;qBACJ,CAAC,CACL,CAAC;AACL,iBAAA;AAED,gBAAA,IAAI,UAAU,EAAE;AACZ,oBAAA,MAAM,sBAAsB,GAAG,gBAAgB,CAC3C,WAAW,EACX,IAAgB,EAChB,SAAS,EACT,YAAY,IAAI,EAAE,CACrB,CAAC;AAEF,oBAAA,iBAAiB,CAAC,IAAI,CAClB,SAAS,CAAC,sBAAsB,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAI;;;AAErF,wBAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAA8B,CAAC,EAAE;;AAE3D,4BAAA,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;AAC5B,gCAAA,UAAU,CAAC,cAAc,GAAG,EAAE,CAAC;AAClC,6BAAA;;;4BAID,IAAI,KAAK,GAAG,KAAK,CAAC;AAClB,4BAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAChD,gCAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gCAClD,IAAI,CAAA,EAAA,GAAA,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,CAAC,EAAE;oCAC1C,KAAK,GAAG,IAAI,CAAC;oCACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oCACpC,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,oCAAA,SAAS,CACL,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,EACvC,SAAS,EACT,cAAc,EACd,WAAW,CACd,CAAC;AACL,iCAAA;AACJ,6BAAA;4BACD,IAAI,CAAC,KAAK,EAAE;;;AAGR,gCAAA,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,cAAc,EAAE;oCACzC,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;AAC5C,wCAAA,OAAO,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AACzC,qCAAA;AACJ,iCAAA;;;AAGD,gCAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;oCACrC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAV,UAAU,GAAI,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;AAChF,iCAAA;;;gCAID,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;AACtD,6BAAA;;4BAGD,aAAa,CAAC,IAAI,CAAC;AACf,gCAAA,IAAI,EAAE,eAAe;gCACrB,SAAS;gCACT,UAAU;AACV,gCAAA,WAAW,EAAE,gBAAgB;gCAC7B,OAAO;AACV,6BAAA,CAAC,CAAC;AACN,yBAAA;qBACJ,CAAC,CACL,CAAC;AACL,iBAAA;AACJ,aAAA;AACJ,SAAA;;AAGD,QAAA,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACtD,QAAA,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,YAAA,MAAM,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACxC,SAAA;AAED,QAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACxD,KAAA;AACL,CAAC;AAED,eAAe,QAAQ,CACnB,UAMe,EAAA;;AAEf,IAAA,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;IACjE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC;AACpE,IAAA,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC;AAE3D,IAAA,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;AACnC,IAAA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,KAAM,CAAC,CAAC;AAChE,IAAA,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC;AAC3C,IAAA,MAAM,kBAAkB,GAAG,KAAK,IAAI,CAAA,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,eAAe,MAAK,OAAO,CAAC;AAE9E,IAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,EAAE;;QAEhD,MAAM,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE;YACtE,OAAO,EAAE,UAAU,CAAC,cAAc;AACrC,SAAA,CAAC,CAAC;AACN,KAAA;AAED,IAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;;;AAGzB,QAAA,IAAI,UAAU,GAAG,gBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AAEzE,QAAA,IAAI,UAAU,EAAE;AACZ,YAAA,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,MAAK;AAC9B,gBAAA,kBAAkB,CAAC,MAAM,CAAC,UAA0B,CAAC,CAAC;AAC1D,aAAC,CAAC,CAAC;;AAEH,YAAA,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;;AAGnC,YAAA,MAAM,UAAU,CAAC;AACpB,SAAA;AACJ,KAAA;AAED,IAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;;AAE1B,QAAA,MAAM,IAAI,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAA,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,eAAe,KAAI,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAEvG,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAEzB,CAAA,EAAA,GAAA,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,WAAW,4DAAI,CAAC;QAE9B,MAAM,KAAK,GAAG,OAAM,MAAA,iBAAkB,CAAC,GAAI,CAAC;YACxC,GAAG;AACH,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,OAAO,EAAE,aAAa;YACtB,KAAK;SACR,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,CAAC,GAAG,KAAI,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,EAAA,GAAA,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,UAAU,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,YAAA,EAAA,GAAG,CAAC,CAAA,EAAA,CAAC,CAAA,CAAC;;;;AAKpD,QAAA,IAAI,KAAK,EAAE;YACP,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACpF,YAAA,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;AACxC,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,gBAAA,IAAI,KAAK,EAAE;oBACP,MAAM,QAAQ,GAAoB,EAAE,CAAC;AACrC,oBAAA,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,gBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC;oBAC3E,IAAI,kBAAkB,GAAU,EAAE,CAAC;AAEnC,oBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,wBAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;;wBAE5B,IAAI,OAAO,aAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAG,OAAO,CAAC,EAAE;;AAEpB,4BAAA,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;AACxB,4BAAA,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;AAC9B,yBAAA;AACJ,qBAAA;AAED,oBAAA,IAAI,YAAY,EAAE;AACd,wBAAA,QAAQ,CAAC,QAAQ,GAAG,YAAY,CAAC;AACpC,qBAAA;;;AAID,oBAAA,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC9B,wBAAA,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,cAAc,CAAC,MAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACtF,qBAAA;AAED,oBAAA,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,wBAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE;4BACxD,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAC9D,yBAAA;AACD,wBAAA,cAAc,CAAC,MAAM,mBAAmB,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC;AACzE,qBAAA;AAED,oBAAA,IAAI,kBAAkB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAC1C,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;AACxE,qBAAA;AACJ,iBAAA;gBACD,CAAA,EAAA,GAAA,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,KAAK,4DAAI,CAAC;AAC3B,aAAA;AACJ,SAAA;AACJ,KAAA;AACL,CAAC;AAED,SAAS,WAAW,CAChB,GAAkB,EAClB,SAAmD,EACnD,UAAsB,EACtB,cAAiC,EACjC,EAAE,OAAO,EAAkB,EAAA;AAE3B,IAAA,IAAI,CAACA,UAAQ,CAAC,WAAW,CAAC,cAAc,EAAE;QACtC,MAAM,cAAc,GAAGA,UAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;AACpE,QAAA,MAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;;QAEvD,cAAc,CAAC,IAAI,CAAC;AAChB,YAAA,GAAG,EAAE,GAAsB;YAC3B,SAAS;YACT,UAAU;YACV,cAAc;YACd,OAAO;YACP,cAAc;AACd,YAAA,iBAAiB,EAAE,iBAAkB;AACxC,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7B,cAAc,CAAC,oBAAoB,CAAC,CAAC;AACxC,SAAA;AACJ,KAAA;AACL,CAAC;AAED,eAAe,SAAS,CACpB,GAA2B,EAC3B,cAAmC,EACnC,SAAmD,EACnD,UAAsB,EAAA;;AAEtB,IAAA,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;IACjC,MAAM,gBAAgB,GAClB,cAAc,CAAC,WAAY,IAAI,8BAA8B,CAAC,WAAW,CAAC;AAE9E,IAAA,IAAI,KAAK,EAAE;QACP,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAElD,IAAI,CAAC,gBAAgB,EAAE;AACnB,YAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AAC1D,SAAA;;AAED,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;AACxC,YAAA,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAChD,YAAA,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AAC/E,YAAA,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,gBAAgB,CAAC,UAAU,EAAE;AAC7B,gBAAA,MAAM,iBAAiB,GAAG,CAAA,EAAA,GAAA,gBAAgB,CAAC,UAAU,MACjD,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,gBAAA,EAAA,8BAA8B,CAAC,YAAY,IAAI,EAAE,CACpD,CAAC;AACF,gBAAA,IAAI,SAAS,CAAC,iBAAiB,CAAC,EAAE;AAC9B,oBAAA,MAAM,iBAAiB,CAAC;AAC3B,iBAAA;AACJ,aAAA;AACD,YAAA,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClC,SAAA;AAED,QAAA,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAGtF,CAAC;AAEF,QAAA,UAAU,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AAE/C,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE;AACpB,YAAA,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC;AAC3B,SAAA;;QAGD,IAAI,gBAAgB,CAAC,SAAS,EAAE;YAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1D,YAAA,IAAI,OAAO,EAAE;AACT,gBAAA,MAAM,OAAO,CAAC;AACjB,aAAA;AACJ,SAAA;;QAGD,IAAI,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAE7D,QAAA,IAAI,QAAQ,EAAE;AACV,YAAA,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC7B,YAAA,UAAU,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC7C,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACjD,SAAA;;AAGD,QAAA,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACvC,YAAA,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;AAE9C,YAAA,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,IAAI,CAAC,CAAC;AAEvE,YAAA,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;gBAClB,KAAK,GAAG,MAAM,KAAK,CAAC;AACvB,aAAA;YAED,KAAK,CACD,MAAK;;;AAGD,gBAAAA,UAAQ,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;;AAE3C,gBAAA,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACnC,EACD,MAAK;AACD,gBAAAA,UAAQ,CAAC,WAAW,CAAC,cAAc,GAAG,KAAK,CAAC;AAChD,aAAC,CACJ,CAAC;AACL,SAAA;AAED,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAEzB,QAAA,IAAI,CAAC,KAA4C,CAAC,IAAI,EAAE,CAAC,UAAU,GAAG,MACnE,OAAO,CAAC,GAAG,CAAC;AACR,YAAA,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;AAC3C,YAAA,gBAAgB,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;AACjD,SAAA,CAA6B,CAAC;AACtC,KAAA;AACD,IAAA,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAWe,SAAA,iBAAiB,CAC7B,mBAAgF,EAChF,cAAiC,EAAA;;AAEjC,IAAA,MAAM,GAAG,IACL,YAAY,CAAC,mBAAmB,CAAC;AAC7B,UAAE,mBAAmB;AACrB,UAAE,UAAU,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,EAAE,GAAG,mBAAmB,CAAC,CACjF,CAAC;AACnB,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,KAAI,CAAA,EAAA,GAAA,GAAG,aAAH,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAH,GAAG,CAAE,IAAI,EAAE,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAA,EAAE;AAC/D,QAAA,OAAO,CAAC,IAAI,CACR,2HAA2H,CAC9H,CAAC;AACL,KAAA;;IAGD,IAAI,cAAc,CAAC,MAAM,EAAE;AACvB,QAAA,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,8BAA8B,CAAC,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;AAClH,KAAA;AACD,IAAA,IAAI,EAAE,MAAM,EAAE,GAAG,cAAqD,CAAC;AACvE,IAAA,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;AACjC,IAAA,MAAM,iBAAiB,GAAG,cAAc,CAAC,YAAa,KAAI,8BAA8B,KAA9B,IAAA,IAAA,8BAA8B,KAA9B,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,8BAA8B,CAAE,YAAY,CAAA,CAAC;IACvG,MAAM,UAAU,GAAe,EAAE,CAAC;AAClC,IAAA,IAAI,IAAyB,CAAC;IAE9B,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,UAAU,CAAyB;AAC/D,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,eAAe,EAAE,IAAI;AACrB,QAAA,UAAU,EAAE,SAA2C;AACvD,QAAA,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE;AAC7B,QAAA,iBAAiB,EAAE,MAAM,UAAU,CAAC,cAAc;AACrD,KAAA,CAAC,CAAC,CAAC;IAEJ,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAEtD,IAAI,MAAM,IAAI,iBAAiB,EAAE;QAC7B,IAAI,CAAC,iBAAiB,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC3D,SAAA;QACD,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,GAAG,EAAE,CAAC;AACf,SAAA;AACD,QAAA,IAAI,QAAQ,CAAC,iBAAiB,CAAC,EAAE;AAC7B,YAAA,UAAU,CAAC,iBAAiB,GAAG,uCAAuC,CAClE,iBAAwD,CAC3D,CAAC;AACL,SAAA;AAAM,aAAA;;AAEH,YAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;AACzC,gBAAA,eAAe,CAAC,GAAG,CAAC,iBAAiB,EAAE;oBACnC,OAAO,EAAE,IAAK,iBAA2E,EAAE;AAC9F,iBAAA,CAAC,CAAC;AACN,aAAA;YACD,UAAU,CAAC,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAE;AACjE,iBAAA,OAAuC,CAAC;AAChD,SAAA;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,GAAG,YAAW;;YACd,IAAI,CAAC,QAAQ,EAAE;gBACX,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,YAAY,GAAG,CAAA,EAAA,GAAA,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC;AAClD,gBAAA,MAAM,GAAG,GAAG,CAAA,EAAA,GAAA,UAAU,CAAC,iBAAkB,CAAC,GAAG,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAClF,gBAAA,IAAI,GAAG,EAAE;AACL,oBAAA,GAAG,CAAC;AACA,wBAAA,KAAK,EAAE,SAAS;wBAChB,GAAG;AACH,wBAAA,OAAO,EAAE,cAAmC;wBAC5C,YAAY;wBACZ,KAAK,EAAE,MAAK;AACR,4BAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;yBAChC;wBACD,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,YAAY,EAAE,KAAI;;;4BAGjF,IAAI,KAAK,KAAK,SAAS,EAAE;gCACrB,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/C,gCAAA,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;oCAClB,KAAK,GAAG,MAAO,KAAoB,CAAC;AACvC,iCAAA;AAED,gCAAA,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,IAAI,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAErF,gCAAA,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE;oCAC5B,IAAI,GAAG,aAAa,CAAC,IAAgB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAClE,iCAAA;gCAED,IAAI,IAAI,KAAK,cAAc,EAAE;AACzB,oCAAA,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,KAA0B,CAAC,EAAE;wCACtD,cAAc,CAAC,MAAK;4CAChB,qBAAqB,CAAC,GAAG,EAAE,IAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC7E,yCAAC,CAAC,CAAC;AACN,qCAAA;AACJ,iCAAA;AAAM,qCAAA;AACH,oCAAA,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC;AAC1C,oCAAA,IAAI,OAAO,EAAE;wCACT,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;4CACjC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;4CACjD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;4CAE9B,IAAK,KAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gDACnC,KAAa,GAAG,SAAS,CACtB,KAAY,EACZ,CAAC,EACD,CAAC,EACD,CAAC,EACD,GAAG,CAAC,IAAI,EAAE,EACV,CAAC,IAAc,EAAE,KAAU,KAAI;AAC3B,oDAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;oDACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG;AACtB,wDAAA,CAAC,EAAE,IAAI;AACP,wDAAA,CAAC,EAAE,KAAK;wDACR,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;qDAC7B,CAAC;AACN,iDAAC,CACJ,CAAC;AACL,6CAAA;AACL,yCAAC,CAAC,CAAC;AACN,qCAAA;oCAED,cAAc,CAAC,MAAK;wCAChB,qBAAqB,CAAC,GAAG,EAAE,IAAgB,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACzE,qCAAC,CAAC,CAAC;AACN,iCAAA;AACJ,6BAAA;4BACD,IAAI,YAAY,IAAI,KAAK,EAAE;gCACvB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,cAAmC,EAAE;AAC5E,oCAAA,QAAQ,EAAE,YAAY;AACzB,iCAAA,CAAC,CAAC;AACN,6BAAA;yBACJ;AACJ,qBAAA,CAAC,CAAC;AACN,iBAAA;AAAM,qBAAA;AACH,oBAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,iBAAA;;gBAGD,MAAM,IAAI,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,MAAM,CAAC,eAAe,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAEhG,gBAAA,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC;AAC1C,gBAAA,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC9B,oBAAA,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;oBAGlC,MAAM,OAAO,GAAa,EAAE,CAAC;AAC7B,oBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,wBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACpB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;AACpD,wBAAA,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AACjC,wBAAA,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,qBAAA;;oBAGD,WAAW,CAAC,GAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE;AAClE,wBAAA,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE;;AAEjB,wBAAA,WAAW,EAAE,MAAM,SAAS;wBAC5B,OAAO;AACV,qBAAA,CAAC,CAAC;AACH,oBAAA,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC;AACxC,iBAAA;AACJ,aAAA;AACL,SAAC,CAAC;;QAGF,IAAI,MAAM,CAAC,MAAM,EAAE;AACf,YAAA,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9B,SAAA;AACJ,KAAA;;IAGD,MAAM,gBAAgB,GAAG,MAAK;;QAC1B,IAAI,UAAU,GAA0B,IAAI,CAAC;AAC7C,QAAA,OAAO,UAAU,EAAE;AACf,YAAA,IAAI,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,UAAU,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,EAAE,MAAK,KAAK,EAAE;AAClD,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;AACD,YAAA,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;AAClC,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;AAChB,KAAC,CAAC;;IAEF,IAAI,CAAC,gBAAgB,EAAE,YAAA;;AAEnB,QAAA,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAC1B,YAAA,IAAI,EAAE,CAAC;AACV,SAAA;AAED,QAAA,GAAG,CAAC,QAAQ,CACR,WAAW,CAAC,IAAI,CACZ,IAAI,EACJ,GAAsB,EACtB,SAAS,EACT,UAAU,EACV,cAAqC,CACxC,CACJ,CAAC;AACN,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,GAAU,CAAC;AACtB,CAAC;AAED,WAAW,CAAC,YAAY,GAAG,SAAS,mBAAmB,CACnD,IAAe,EACf,QAAa,EACb,MAA4B,EAC5B,UAA6C,EAC7C,YAA0B,EAAA;AAE1B,IAAA,IAAI,QAAa,CAAC;AAClB,IAAA,MAAM,YAAY,GAAQ;AACtB,QAAA,GAAG,CAAC,MAAW,EAAA;AACX,YAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,YAAA,OAAO,QAAQ,CAAC;SACnB;KACJ,CAAC;AACF,IAAA,IAAI,MAAM,EAAE;AACR,QAAA,YAAY,CAAC,GAAG,GAAG,MAAM,CAAC;AAC7B,KAAA;AACD,IAAA,IAAI,UAAU,EAAE;AACZ,QAAA,UAAU,CAAC;AACP,YAAA,MAAM,EAAE,CAAC,EAAE,KAAK,EAAO,KAAI;AACvB,gBAAA,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aACvB;AACJ,SAAA,CAAC,CAAC;AACN,KAAA;AACD,IAAA,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC9B,YAAY;AACZ,QAAA,IAAI,YAAY,IAAI,EAAE,CAAC;AAC1B,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;;SC10Be,gBAAgB,GAAA;IAC5B,OAAOC,UAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;AAC5D,CAAC;AAIY,MAAA,QAAQ,GAEjB;IACA,8BAA8B;;;;;"}
|
|
1
|
+
{"version":3,"file":"persist.mjs","sources":["../../src/persist/configureObservablePersistence.ts","../../src/persist/fieldTransformer.ts","../../src/persist/observablePersistRemoteFunctionsAdapter.ts","../../src/persist/persistObservable.ts","../../persist.ts"],"sourcesContent":[null,null,null,null,null],"names":["internal","internalState"],"mappings":"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"}
|
package/src/globals.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NodeValue, ObservableComputed, ObservableObject, ObservableReadable } from './observableInterfaces';
|
|
2
2
|
export declare const symbolToPrimitive: symbol;
|
|
3
3
|
export declare const symbolGetNode: unique symbol;
|
|
4
4
|
export declare const symbolDelete: unique symbol;
|
|
@@ -10,12 +10,7 @@ export declare const globalState: {
|
|
|
10
10
|
isLoadingLocal: boolean;
|
|
11
11
|
isMerging: boolean;
|
|
12
12
|
isLoadingRemote$: import("./observableInterfaces").ObservablePrimitiveBaseFns<boolean> & import("./observableInterfaces").ObservablePrimitiveBooleanFns<boolean>;
|
|
13
|
-
|
|
14
|
-
activateNode: (node: NodeValue, newValue: any, setter: (value: any) => void, subscriber: (params: {
|
|
15
|
-
update: any;
|
|
16
|
-
}) => void, cacheOptions: CacheOptions) => {
|
|
17
|
-
update: any;
|
|
18
|
-
};
|
|
13
|
+
activateNode: (node: NodeValue, refresh: () => void, newValue: any) => void;
|
|
19
14
|
};
|
|
20
15
|
export declare function isObservable(obs: any): obs is ObservableObject;
|
|
21
16
|
export declare function isComputed(obs: any): obs is ObservableComputed;
|
package/src/observable.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ActivateParams, ActivateProxyParams, Observable, ObservableComputed, ObservablePrimitive, RecordValue, WithState } from './observableInterfaces';
|
|
2
2
|
type TWithFunctions<T> = T | {
|
|
3
|
-
[K in keyof T]: ((params:
|
|
3
|
+
[K in keyof T]: ((params: ActivateProxyParams<T[K] | RecordValue<T[K]>>) => TWithFunctions<T[K]> | Promise<TWithFunctions<T[K]>> | void) | TWithFunctions<T[K]>;
|
|
4
4
|
};
|
|
5
5
|
export declare function observable<T>(value: Promise<T>): Observable<T & WithState>;
|
|
6
6
|
export declare function observable<T>(value: () => Observable<T>): Observable<T>;
|
|
7
7
|
export declare function observable<T>(value: () => Promise<T>): Observable<T & WithState>;
|
|
8
8
|
export declare function observable<T>(value: () => T): ObservableComputed<T>;
|
|
9
|
-
export declare function observable<T>(value: (params:
|
|
10
|
-
export declare function observable<T>(value: (params:
|
|
11
|
-
export declare function observable<T>(value: (params:
|
|
12
|
-
export declare function observable<T>(value: (params:
|
|
9
|
+
export declare function observable<T>(value: (params: ActivateParams) => Observable<T>): Observable<T & WithState>;
|
|
10
|
+
export declare function observable<T>(value: (params: ActivateParams) => Promise<T>): Observable<T & WithState>;
|
|
11
|
+
export declare function observable<T>(value: (params: ActivateParams) => T): Observable<T>;
|
|
12
|
+
export declare function observable<T>(value: (params: ActivateProxyParams<T>) => void): Observable<Record<string, T> & WithState>;
|
|
13
13
|
export declare function observable<T>(value?: TWithFunctions<T>): Observable<T>;
|
|
14
14
|
export declare function observablePrimitive<T>(value: Promise<T>): ObservablePrimitive<T & WithState>;
|
|
15
15
|
export declare function observablePrimitive<T>(value?: T): ObservablePrimitive<T>;
|
|
@@ -89,9 +89,6 @@ export interface ListenerParams<T = any> {
|
|
|
89
89
|
getPrevious: () => T;
|
|
90
90
|
changes: Change[];
|
|
91
91
|
}
|
|
92
|
-
export interface ListenerParamsRemote<T = any> extends ListenerParams<T> {
|
|
93
|
-
isRemote: boolean;
|
|
94
|
-
}
|
|
95
92
|
export type ListenerFn<T = any> = (params: ListenerParams<T>) => void;
|
|
96
93
|
type PrimitiveKeys<T> = Pick<T, {
|
|
97
94
|
[K in keyof T]-?: T[K] extends Primitive ? K : never;
|
|
@@ -99,7 +96,7 @@ type PrimitiveKeys<T> = Pick<T, {
|
|
|
99
96
|
type NonPrimitiveKeys<T> = Pick<T, {
|
|
100
97
|
[K in keyof T]-?: T[K] extends Primitive ? never : K;
|
|
101
98
|
}[keyof T]>;
|
|
102
|
-
type Recurse<T, K extends keyof T, TRecurse> = T[K] extends ObservableReadable ? T[K] : T[K] extends Promise<infer t> ? Observable<t & WithState> : T[K] extends () => infer t ? t extends Observable ? t : Observable<t> & T[K] : T[K] extends (params:
|
|
99
|
+
type Recurse<T, K extends keyof T, TRecurse> = T[K] extends ObservableReadable ? T[K] : T[K] extends Promise<infer t> ? Observable<t & WithState> : T[K] extends () => infer t ? t extends Observable ? t : Observable<t> & T[K] : T[K] extends (params: ActivateParams) => infer t ? t extends Observable ? t : Observable<t> : T[K] extends (params: ActivateProxyParams<infer t>) => void ? t extends Observable ? Record<string, t> : Observable<Record<string, t>> : T[K] extends Function ? T[K] : T[K] extends ObservableProxyTwoWay<infer t, infer t2> ? ObservableProxyTwoWay<t, t2> : T[K] extends ObservableProxy<infer t> ? ObservableProxy<t> : T[K] extends ObservableProxyLink<infer t> ? ObservableProxyLink<t> : T[K] extends Map<any, any> | WeakMap<any, any> ? ObservableMap<T[K]> : T[K] extends Set<any> | WeakSet<any> ? ObservableSet<T[K]> : T[K] extends Set<any> | WeakSet<any> ? T[K] & ObservablePrimitiveBaseFns<T[K]> : T[K] extends OpaqueObject<T[K]> ? T[K] & ObservablePrimitiveChildFns<T[K]> : T[K] extends Primitive ? ObservablePrimitiveChild<T[K]> : T[K] extends Array<any> ? ObservableObjectFns<T[K]> & ObservableArrayOverride<T[K][number]> : T extends object ? TRecurse : T[K];
|
|
103
100
|
type ObservableFnsRecursiveUnsafe<T> = {
|
|
104
101
|
[K in keyof T]-?: Recurse<T, K, ObservableObject<NonNullable<T[K]>>>;
|
|
105
102
|
};
|
|
@@ -161,6 +158,8 @@ export type PersistOptionsRemote<T = any> = ObservablePersistenceConfigRemoteGlo
|
|
|
161
158
|
};
|
|
162
159
|
offlineBehavior?: false | 'retry';
|
|
163
160
|
changeTimeout?: number;
|
|
161
|
+
metadataTimeout?: number;
|
|
162
|
+
retry?: RetryOptions;
|
|
164
163
|
onGetError?: (error: Error) => void;
|
|
165
164
|
onSetError?: (error: Error) => void;
|
|
166
165
|
log?: (message?: any, ...optionalParams: any[]) => void;
|
|
@@ -237,6 +236,7 @@ export interface ObservablePersistRemoteGetParams<T> {
|
|
|
237
236
|
options: PersistOptions<T>;
|
|
238
237
|
dateModified?: number;
|
|
239
238
|
onGet: () => void;
|
|
239
|
+
onError: (error: Error) => void;
|
|
240
240
|
onChange: (params: ObservableOnChangeParams) => void | Promise<void>;
|
|
241
241
|
}
|
|
242
242
|
export type ObservablePersistRemoteGetFnParams<T> = Omit<ObservablePersistRemoteGetParams<T>, 'onGet'>;
|
|
@@ -263,11 +263,12 @@ export interface WithState {
|
|
|
263
263
|
state?: ObservableState;
|
|
264
264
|
_state?: ObservableState;
|
|
265
265
|
}
|
|
266
|
-
export interface
|
|
266
|
+
export interface ObservablePersistStateBase {
|
|
267
267
|
isLoadedLocal: boolean;
|
|
268
268
|
isEnabledLocal: boolean;
|
|
269
269
|
isEnabledRemote: boolean;
|
|
270
270
|
dateModified?: number;
|
|
271
|
+
syncCount?: number;
|
|
271
272
|
clearLocal: () => Promise<void>;
|
|
272
273
|
sync: () => Promise<void>;
|
|
273
274
|
getPendingChanges: () => Record<string, {
|
|
@@ -275,6 +276,10 @@ export interface ObservablePersistState extends ObservableState {
|
|
|
275
276
|
v?: any;
|
|
276
277
|
}> | undefined;
|
|
277
278
|
}
|
|
279
|
+
export type ObservablePersistState = ObservableState & ObservablePersistStateBase;
|
|
280
|
+
export type ObservablePersistStateInternal = ObservablePersistState & {
|
|
281
|
+
refreshNum: number;
|
|
282
|
+
};
|
|
278
283
|
export interface WithPersistState {
|
|
279
284
|
state?: ObservablePersistState;
|
|
280
285
|
_state?: ObservablePersistState;
|
|
@@ -360,7 +365,20 @@ interface BaseNodeValue {
|
|
|
360
365
|
lazy?: boolean | Function;
|
|
361
366
|
state?: Observable<ObservablePersistState>;
|
|
362
367
|
activated?: boolean;
|
|
363
|
-
proxyFn2?: (key: string, params:
|
|
368
|
+
proxyFn2?: (key: string, params: ActivateParams) => any;
|
|
369
|
+
activationState?: {
|
|
370
|
+
onSetFn?: (value: ListenerParams<any>) => void;
|
|
371
|
+
update?: UpdateFn;
|
|
372
|
+
subscriber?: (params: {
|
|
373
|
+
update: UpdateFn;
|
|
374
|
+
refresh: () => void;
|
|
375
|
+
}) => void;
|
|
376
|
+
retryOptions?: RetryOptions;
|
|
377
|
+
lastSync: {
|
|
378
|
+
value?: number;
|
|
379
|
+
};
|
|
380
|
+
cacheOptions?: CacheOptions;
|
|
381
|
+
};
|
|
364
382
|
}
|
|
365
383
|
export interface RootNodeValue extends BaseNodeValue {
|
|
366
384
|
parent?: undefined;
|
|
@@ -404,14 +422,22 @@ export interface CacheOptions<T = any> {
|
|
|
404
422
|
local: string | PersistOptionsLocal<T>;
|
|
405
423
|
pluginLocal?: ClassConstructor<ObservablePersistLocal, T[]>;
|
|
406
424
|
}
|
|
407
|
-
export interface
|
|
408
|
-
onSet: (fn: (params:
|
|
425
|
+
export interface ActivateParams<T = any> {
|
|
426
|
+
onSet: (fn: (params: ListenerParams<T>) => void) => void;
|
|
409
427
|
subscribe: (fn: (params: {
|
|
410
|
-
update:
|
|
428
|
+
update: UpdateFn;
|
|
429
|
+
refresh: () => void;
|
|
411
430
|
}) => void) => void;
|
|
412
|
-
cache: (cacheOptions: CacheOptions<T> | (() => CacheOptions<T>)) => void;
|
|
413
431
|
}
|
|
414
|
-
export interface
|
|
415
|
-
proxy: (fn: (key: string, params:
|
|
432
|
+
export interface ActivateProxyParams<T = any> extends ActivateParams {
|
|
433
|
+
proxy: (fn: (key: string, params: ActivateParams<T>) => T | Promise<T>) => void;
|
|
434
|
+
}
|
|
435
|
+
export type UpdateFn = (params: ObservableOnChangeParams) => void;
|
|
436
|
+
export interface RetryOptions {
|
|
437
|
+
infinite?: boolean;
|
|
438
|
+
times?: number;
|
|
439
|
+
delay?: number;
|
|
440
|
+
backoff?: 'constant' | 'exponential';
|
|
441
|
+
maxDelay?: number;
|
|
416
442
|
}
|
|
417
443
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClassConstructor, FieldTransforms, Observable, ObservablePersistLocal, ObservablePersistRemoteClass, ObservableWriteable, PersistOptions, PersistTransform, Primitive, TypeAtPath, WithPersistState } from '@legendapp/state';
|
|
1
|
+
import type { CacheOptions, ClassConstructor, FieldTransforms, Observable, ObservablePersistLocal, ObservablePersistRemoteClass, ObservablePersistStateBase, ObservableWriteable, PersistOptions, PersistTransform, Primitive, RetryOptions, TypeAtPath, WithPersistState } from '@legendapp/state';
|
|
2
2
|
export declare const mapPersistences: WeakMap<ClassConstructor<ObservablePersistLocal | ObservablePersistRemoteClass>, {
|
|
3
3
|
persist: ObservablePersistLocal | ObservablePersistRemoteClass;
|
|
4
4
|
initialized?: Observable<boolean>;
|
|
@@ -22,3 +22,12 @@ export type WithoutState = any[] | Primitive | (Record<string, any> & {
|
|
|
22
22
|
});
|
|
23
23
|
export declare function persistObservable<T extends WithoutState>(observable: ObservableWriteable<T>, persistOptions: PersistOptions<T>): Observable<WithPersistState & T>;
|
|
24
24
|
export declare function persistObservable<T extends WithoutState>(initial: T | (() => T) | (() => Promise<T>), persistOptions: PersistOptions<T>): Observable<WithPersistState & T>;
|
|
25
|
+
declare module '@legendapp/state' {
|
|
26
|
+
interface ActivateParams<T> {
|
|
27
|
+
cache: (cacheOptions: CacheOptions<T> | (() => CacheOptions<T>)) => void;
|
|
28
|
+
updateLastSync: (lastSync: number) => void;
|
|
29
|
+
retry: (options: RetryOptions) => void;
|
|
30
|
+
}
|
|
31
|
+
interface ObservableState extends ObservablePersistStateBase {
|
|
32
|
+
}
|
|
33
|
+
}
|