diff --git a/README.md b/README.md index 8f3a5f0f6..30b1a904c 100644 --- a/README.md +++ b/README.md @@ -520,14 +520,15 @@ Calling `Item.persistence` returns an `ItemPersistence` object with the followin - .getAllStatesBetween(begin, end, serviceId) ⇒ `Array[PersistedItem]` - .lastUpdate(serviceId) ⇒ `ZonedDateTime | null` - .nextUpdate(serviceId) ⇒ `ZonedDateTime | null` - - .maximumSince(timestamp,serviceId) ⇒ `PersistedItem | null` - - .maximumUntil(timestamp,serviceId) ⇒ `PersistedItem | null` + - .maximumSince(timestamp, serviceId) ⇒ `PersistedItem | null` + - .maximumUntil(timestamp, serviceId) ⇒ `PersistedItem | null` - .maximumBetween(begin, end, serviceId) ⇒ `PersistedItem | null` - .minimumSince(timestamp, serviceId) ⇒ `PersistedItem | null` - .minimumUntil(timestamp, serviceId) ⇒ `PersistedItem | null` - .minimumBetween(begin, end, serviceId) ⇒ `PersistedItem | null` - .persist(serviceId): Tells the persistence service to store the current Item state, which is then done asynchronously. **Warning:** This has the side effect, that if the Item state changes shortly after `.persist` has been called, the new Item state will be persisted. See [JSDoc](https://openhab.github.io/openhab-js/items.ItemPersistence.html#persist) for a possible work-around. + - .persist(timestamp, state, serviceId): Tells the persistence service to store the given state at the given timestamp, which is then done asynchronously. - .persistedState(timestamp, serviceId) ⇒ `PersistedItem | null` - .previousState(skipEqual, serviceId) ⇒ `PersistedItem | null` - .nextState(skipEqual, serviceId) ⇒ `PersistedItem | null` diff --git a/src/items/item-persistence.js b/src/items/item-persistence.js index 4df8ef4ca..52968626d 100644 --- a/src/items/item-persistence.js +++ b/src/items/item-persistence.js @@ -137,13 +137,25 @@ class ItemPersistence { /** * Persists the state of a given Item. * - * Tells the persistence service to store the current state of the Item, which is then performed asynchronously. - * This has the side effect, that if the Item state changes shortly after `.persist` has been called, the new state will be persisted. + * There are four ways to use this method: + * ```js + * // Tell persistence to store the current Item state + * items.MyItem.persistence.persist(); + * items.MyItem.persistence.persist('influxdb'); // using the InfluxDB persistence service + * + * // Tell persistence to store the state 'ON' at 2021-01-01 00:00:00 + * items.MyItem.persistence.persist(time.toZDT('2021-01-01T00:00:00'), 'ON'); + * items.MyItem.persistence.persist(time.toZDT('2021-01-01T00:00:00'), 'ON', 'influxdb'); // using the InfluxDB persistence service + * ``` + * + * **Note:** The persistence service will store the state asynchronously in the background, this method will return immediately. + * When storing the current state, this has the side effect, that if the Item state changes shortly the method call, the new state will be persisted. * To work around that side effect, you might add `java.lang.Thread.sleep` to your code: - * @example + * ```js * items.MyItem.persistence.persist(); // Tell persistence to store the current Item state * java.lang.Thread.sleep(100); // Wait 100 ms to make sure persistence has enough time to store the current Item state * items.MyItem.postUpdate(0); // Now set the Item state to a new value + * ``` * * @param {(time.ZonedDateTime | Date)} [timestamp] the date for the item state to be stored * @param {string} [state] the state to be stored diff --git a/types/items/item-persistence.d.ts b/types/items/item-persistence.d.ts index da532ff0b..54137434b 100644 --- a/types/items/item-persistence.d.ts +++ b/types/items/item-persistence.d.ts @@ -17,13 +17,25 @@ declare class ItemPersistence { /** * Persists the state of a given Item. * - * Tells the persistence service to store the current state of the Item, which is then performed asynchronously. - * This has the side effect, that if the Item state changes shortly after `.persist` has been called, the new state will be persisted. + * There are four ways to use this method: + * ```js + * // Tell persistence to store the current Item state + * items.MyItem.persistence.persist(); + * items.MyItem.persistence.persist('influxdb'); // using the InfluxDB persistence service + * + * // Tell persistence to store the state 'ON' at 2021-01-01 00:00:00 + * items.MyItem.persistence.persist(time.toZDT('2021-01-01T00:00:00'), 'ON'); + * items.MyItem.persistence.persist(time.toZDT('2021-01-01T00:00:00'), 'ON', 'influxdb'); // using the InfluxDB persistence service + * ``` + * + * **Note:** The persistence service will store the state asynchronously in the background, this method will return immediately. + * When storing the current state, this has the side effect, that if the Item state changes shortly the method call, the new state will be persisted. * To work around that side effect, you might add `java.lang.Thread.sleep` to your code: - * @example + * ```js * items.MyItem.persistence.persist(); // Tell persistence to store the current Item state * java.lang.Thread.sleep(100); // Wait 100 ms to make sure persistence has enough time to store the current Item state * items.MyItem.postUpdate(0); // Now set the Item state to a new value + * ``` * * @param {(time.ZonedDateTime | Date)} [timestamp] the date for the item state to be stored * @param {string} [state] the state to be stored diff --git a/types/items/item-persistence.d.ts.map b/types/items/item-persistence.d.ts.map index 55d3dc9ef..d135da5c5 100644 --- a/types/items/item-persistence.d.ts.map +++ b/types/items/item-persistence.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"item-persistence.d.ts","sourceRoot":"","sources":["../../src/items/item-persistence.js"],"names":[],"mappings":";AAuHA;;;;;;;;;;;GAWG;AACH;IACE,0BAEC;IADC,aAAsB;IAGxB;;;;;;;;;;;;;;OAcG;IACH,oBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,UAC3B,MAAM,cACN,MAAM,wBAIhB;IAID;;;;;;OAMG;IACH,0BAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAIlC;IAED;;;;;OAKG;IACH,uBAHW,MAAM,mBACJ,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,CAIvC;IAED;;;;;OAKG;IACH,uBAHW,MAAM,mBACJ,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,CAIvC;IAED;;;;;;OAMG;IACH,0BAJW,OAAO,cACP,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAIlC;IAED;;;;;;OAMG;IACH,sBAJW,OAAO,cACP,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAIlC;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,OAAO,CAKnB;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,OAAO,CAKnB;IAED;;;;;;;;OAQG;IACH,sBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,OAAO,CAKnB;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,OAAO,CAKnB;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,OAAO,CAKnB;IAED;;;;;;;;OAQG;IACH,sBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,OAAO,CAKnB;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAKlC;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAKlC;IAED;;;;;;;;OAQG;IACH,sBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAKlC;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAKlC;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAKlC;IAED;;;;;;;;OAQG;IACH,sBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAKlC;IAED;;;;;;;;OAQG;IACH,yBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAMnC;IAED;;;;;;;;OAQG;IACH,yBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAMnC;IAED;;;;;;;;;OASG;IACH,uBAPW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAMnC;IAED;;;;;;;;OAQG;IACH,0BANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAMnC;IAED;;;;;;;;OAQG;IACH,0BANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAMnC;IAED;;;;;;;;;OASG;IACH,wBAPW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAMnC;IAED;;;;;;;;;;;OAWG;IACH,wBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAInC;IAED;;;;;;OAMG;IACH,wBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAInC;IAED;;;;;;;OAOG;IACH,sBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAInC;IAED;;;;;;OAMG;IACH,oBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAInC;IAED;;;;;;OAMG;IACH,oBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAInC;IAED;;;;;;;;OAQG;IACH,kBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAKnC;IAED;;;;;;;OAOG;IACH,sBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAKnC;IAED;;;;;;;OAOG;IACH,sBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAKnC;IAED;;;;;;;;OAQG;IACH,oBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAKnC;IAED;;;;;;;;OAQG;IACH,8BANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,MAAM,GAAG,IAAI,CAAC,CAM3B;IAED;;;;;;;;OAQG;IACH,8BANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,MAAM,GAAG,IAAI,CAAC,CAM3B;IAED;;;;;;;;;OASG;IACH,4BAPW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,MAAM,GAAG,IAAI,CAAC,CAM3B;IAED;;;;;;OAMG;IACH,sBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,sBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,oBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,kCAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,kCAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,gCALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,6BAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,aAAa,EAAE,CAI3B;IAED;;;;;;OAMG;IACH,6BAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,aAAa,EAAE,CAI3B;IAED;;;;;;;OAOG;IACH,2BALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,aAAa,EAAE,CAI3B;IAED;;;;;;OAMG;IACH,gCAHW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,uBAIhB;IAED;;;;;;OAMG;IACH,gCAHW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,uBAIhB;IAED;;;;;;;OAOG;IACH,8BAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,uBAIhB;CACF;;;;;yBAntBY,OAAO,eAAe,EAAE,aAAa;;;AA+DlD;;;;;;GAMG;AACH;IAWE;;;OAGG;IACH,sCAEC;;CACF;AA5ED;;;;;GAKG;AACH;IAGE;;OAEG;IACH,iCAEC;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,2BAGC;IAED;;;OAGG;IACH,oDAWC;;CACF;gBAvDY,OAAO,aAAa,EAAE,QAAQ"} \ No newline at end of file +{"version":3,"file":"item-persistence.d.ts","sourceRoot":"","sources":["../../src/items/item-persistence.js"],"names":[],"mappings":"uBAOa,OAAO,aAAa,EAAE,QAAQ;AAgH3C;;;;;;;;;;;GAWG;AACH;IACE,0BAEC;IADC,aAAsB;IAGxB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,oBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,UAC3B,MAAM,cACN,MAAM,wBAIhB;IAID;;;;;;OAMG;IACH,0BAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAIlC;IAED;;;;;OAKG;IACH,uBAHW,MAAM,mBACJ,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,CAIvC;IAED;;;;;OAKG;IACH,uBAHW,MAAM,mBACJ,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,CAIvC;IAED;;;;;;OAMG;IACH,0BAJW,OAAO,cACP,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAIlC;IAED;;;;;;OAMG;IACH,sBAJW,OAAO,cACP,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAIlC;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,OAAO,CAKnB;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,OAAO,CAKnB;IAED;;;;;;;;OAQG;IACH,sBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,OAAO,CAKnB;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,OAAO,CAKnB;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,OAAO,CAKnB;IAED;;;;;;;;OAQG;IACH,sBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,OAAO,CAKnB;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAKlC;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAKlC;IAED;;;;;;;;OAQG;IACH,sBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAKlC;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAKlC;IAED;;;;;;;OAOG;IACH,wBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAKlC;IAED;;;;;;;;OAQG;IACH,sBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,aAAa,GAAG,IAAI,CAAC,CAKlC;IAED;;;;;;;;OAQG;IACH,yBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAMnC;IAED;;;;;;;;OAQG;IACH,yBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAMnC;IAED;;;;;;;;;OASG;IACH,uBAPW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAMnC;IAED;;;;;;;;OAQG;IACH,0BANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAMnC;IAED;;;;;;;;OAQG;IACH,0BANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAMnC;IAED;;;;;;;;;OASG;IACH,wBAPW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAMnC;IAED;;;;;;;;;;;OAWG;IACH,wBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAInC;IAED;;;;;;OAMG;IACH,wBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAInC;IAED;;;;;;;OAOG;IACH,sBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAInC;IAED;;;;;;OAMG;IACH,oBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAInC;IAED;;;;;;OAMG;IACH,oBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAInC;IAED;;;;;;;;OAQG;IACH,kBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAKnC;IAED;;;;;;;OAOG;IACH,sBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAKnC;IAED;;;;;;;OAOG;IACH,sBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAKnC;IAED;;;;;;;;OAQG;IACH,oBANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,cAAc,GAAG,IAAI,CAAC,CAKnC;IAED;;;;;;;;OAQG;IACH,8BANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,MAAM,GAAG,IAAI,CAAC,CAM3B;IAED;;;;;;;;OAQG;IACH,8BANW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,MAAM,GAAG,IAAI,CAAC,CAM3B;IAED;;;;;;;;;OASG;IACH,4BAPW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,CAAC,MAAM,GAAG,IAAI,CAAC,CAM3B;IAED;;;;;;OAMG;IACH,sBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,sBAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,oBALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,kCAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,kCAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,gCALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,MAAM,CAIlB;IAED;;;;;;OAMG;IACH,6BAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,aAAa,EAAE,CAI3B;IAED;;;;;;OAMG;IACH,6BAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,aAAa,EAAE,CAI3B;IAED;;;;;;;OAOG;IACH,2BALW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,mBACJ,aAAa,EAAE,CAI3B;IAED;;;;;;OAMG;IACH,gCAHW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,uBAIhB;IAED;;;;;;OAMG;IACH,gCAHW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,uBAIhB;IAED;;;;;;;OAOG;IACH,8BAJW,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,OAC3B,CAAC,KAAK,aAAa,GAAG,IAAI,CAAC,cAC3B,MAAM,uBAIhB;CACF;AAhqBD;;;;;;GAMG;AACH;IAWE;;;OAGG;IACH,sCAEC;;CACF;;yBAxFY,OAAO,eAAe,EAAE,aAAa;;;AAYlD;;;;;GAKG;AACH;IAGE;;OAEG;IACH,iCAEC;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,2BAGC;IAED;;;OAGG;IACH,oDAWC;;CACF"} \ No newline at end of file