iobroker.tibberlink 1.7.1 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -37,8 +37,9 @@ If you're not currently a Tibber user, I would greatly appreciate it if you coul
37
37
  - Begin by creating a new instance of the adapter.
38
38
  - You'll also require an API token from Tibber, which you can obtain here: [Tibber Developer API](https://developer.tibber.com).
39
39
  - Enter your Tibber API token in the standard settings and configure at least one line for live feed settings (select "None available").
40
- - Save the settings and exit the configuration to restart the adapter; this step allows your home(s) to be queried from the Tibber server.
40
+ - Save the settings and exit the configuration to restart the adapter; this step allows your home(s) to be queried the first time from the Tibber server.
41
41
  - Return to the configuration screen and select the homes from which you wish to fetch real-time data using your Tibber Pulse. You can also select homes and disable the feed (Note: This works only if the hardware is installed and the Tibber server has verified the connection to Pulse).
42
+ - You have the option to deactivate the retrieval of price data for today and tomorrow, for instance, if you only intend to utilize Pulse live feeds
42
43
  - Optionally, you can enable the retrieval of historical consumption data. Please specify the number of datasets for hours, days, weeks, months, and years. You can use "0" to disable one or more of these intervals based on your preferences.
43
44
  - Note: It's essential to be mindful of the dataset size, as excessively large requests may result in a lack of response from the Tibber Server. We recommend experimenting with the dataset size to ensure optimal functionality. Adjusting the intervals and dataset numbers can help strike the right balance between obtaining insightful data and maintaining server responsiveness. E.g. 48 is a quite good amount for hours.
44
45
  - Save the settings.
@@ -52,7 +53,7 @@ If you're not currently a Tibber user, I would greatly appreciate it if you coul
52
53
  - The states of a calculator channel are positioned adjacent to the home states and named according to the channel number. Hereby the channelname choosen in admin screen is shown here to better identify your configurations.
53
54
  ![Calculator States](docu/calculatorStates.png)
54
55
  - The behavior of each channel is determined by its type: "best cost," "best single hours," or "best hours block".
55
- - Each channel populates an external state as output, which has to be selected in the settings tab. For instance, this state might be "0_userdata.0.example_state" or any other writable external state.
56
+ - Each channel populates an external state as output, which has to be selected in the settings tab. For instance, this state might be "0_userdata.0.example_state" or any other writeable external state.
56
57
  - The values to be written to the output state can be defined in "value YES" and "value NO," e.g., "true" for boolean states or a number or text to be written.
57
58
  - Outputs:
58
59
  - "Best cost": Utilizes the "TriggerPrice" state as input, producing a "YES" output every hour when the current Tibber energy cost is below the trigger price.
@@ -61,6 +62,7 @@ If you're not currently a Tibber user, I would greatly appreciate it if you coul
61
62
  - "Best cost LTF": "Best cost" within a Limited Time Frame (LTF).
62
63
  - "Best single hours LTF": "Best single hours" within a Limited Time Frame (LTF).
63
64
  - "Best hours block LTF": "Best hours block" within a Limited Time Frame (LTF).
65
+ - "Smart Battery Buffer": Utilize the "EfficiencyLoss" parameter to specify the efficiency loss of the battery system. Use the "AmountHours" parameter to input the desired number of hours for battery charging. The calculator will activate battery charging ("value YES") and deactivate battery feed ("value 2 NO") during the specified "AmountHours" cheapest hours. Conversely, it will deactivate battery charging ("value NO") and activate battery feed ("value 2 YES") during hours with the highest cost, provided the cost is higher than the highest total price among the cheap hours. In the remaining normal hours where energy buffering by the battery is not economically viable, both outputs will be switched off.
64
66
  - LTF channels: Function similarly to standard channels but only operate within a time frame defined by the "StartTime" and "StopTime" state objects. After "StopTime," the channel deactivates itself. "StartTime" and "StopTime" may span over several days. The states must be filled with a date-time string in ISO-8601 format with a timezone offset, such as: "2023-11-17T21:00:00.000+01:00".
65
67
 
66
68
  ### Hints
@@ -92,6 +94,20 @@ If you enjoyed this project — or just feeling generous, consider buying me a b
92
94
 
93
95
  ! Note that missing version entries are typically dependency updates for improved security.
94
96
 
97
+ ### 1.8.0 (2023-12-14)
98
+
99
+ - (HombachC) implement optional disable of price pull (#232)
100
+ - (HombachC) implement price categorization algorithm for battery buffer applications (#193)
101
+ - (HombachC) Fix 2 errors in pull of prices tomorrow (#235, #232)
102
+ - (HombachC) changed Tibber link in config
103
+
104
+ ### 1.7.2 (2023-12-07)
105
+
106
+ - (HombachC) implemented dynamic raise of feed reconnect (#225)
107
+ - (HombachC) small bugfix in pricecalls
108
+ - (HombachC) first changes for "smart battery buffer" (#193)
109
+ - (HombachC) update typescript to 5.3.3
110
+
95
111
  ### 1.7.1 (2023-12-04)
96
112
 
97
113
  - (HombachC) added hint for consumption data in documentation (#223)
@@ -56,9 +56,10 @@
56
56
  "zh-cn": "如果您目前不是Tibber的用户,如果您能使用我的推荐链接,我将非常感激"
57
57
  },
58
58
  "href": "https://invite.tibber.com/mu8c82n5",
59
+ "button": true,
60
+ "icon": "info",
59
61
  "newLine": true
60
62
  },
61
-
62
63
  "HomesList": {
63
64
  "type": "table",
64
65
  "sm": 12,
@@ -101,6 +102,27 @@
101
102
  "width": "40%",
102
103
  "default": "No Home selected"
103
104
  },
105
+ {
106
+ "type": "checkbox",
107
+ "title": {
108
+ "en": "Use Tibber price data poll",
109
+ "de": "Verwende die Tibber Preisdatenabfrage",
110
+ "ru": "Использовать опрос данных о ценах от Tibber",
111
+ "pt": "Usar pesquisa de dados de preço da Tibber",
112
+ "nl": "Gebruik de prijsgegevenspoll van Tibber",
113
+ "fr": "Utiliser l'interrogation des données de prix Tibber",
114
+ "it": "Utilizza l'interrogazione dei dati sui prezzi di Tibber",
115
+ "es": "Utilizar la consulta de datos de precios de Tibber",
116
+ "pl": "Użyj ankiety cenowej danych Tibber",
117
+ "uk": "Використовуйте опитування даних про ціни від Tibber",
118
+ "zh-cn": "使用 Tibber 价格数据轮询"
119
+ },
120
+ "attr": "priceDataPollActive",
121
+ "filter": false,
122
+ "sort": false,
123
+ "width": "10%",
124
+ "default": true
125
+ },
104
126
  {
105
127
  "type": "checkbox",
106
128
  "title": {
@@ -119,7 +141,7 @@
119
141
  "attr": "feedActive",
120
142
  "filter": false,
121
143
  "sort": false,
122
- "width": "15%",
144
+ "width": "10%",
123
145
  "default": false
124
146
  },
125
147
  {
@@ -140,7 +162,7 @@
140
162
  "attr": "statsActive",
141
163
  "filter": false,
142
164
  "sort": false,
143
- "width": "15%",
165
+ "width": "10%",
144
166
  "default": false
145
167
  },
146
168
  {
@@ -264,17 +286,17 @@
264
286
  "_feedDataDetail": {
265
287
  "type": "header",
266
288
  "text": {
267
- "en": "Select all fields you want to load in feed data (power and timestamp are on by default):",
268
- "de": "Wählen Sie alle Felder aus, die Sie in den Feed-Daten laden möchten (Leistung und Zeitstempel sind standardmäßig aktiviert):",
269
- "ru": "Выберите все поля, которые вы хотите загрузить в данные ленты (мощность и временная метка включены по умолчанию):",
270
- "pt": "Selecione todos os campos que deseja carregar nos dados do feed (a potência e o carimbo de hora estão ativados por padrão):",
271
- "nl": "Selecteer alle velden die u wilt laden in de feedgegevens (vermogen en tijdstempel zijn standaard ingeschakeld):",
272
- "fr": "Sélectionnez tous les champs que vous souhaitez charger dans les données du flux (la puissance et l'horodatage sont activés par défaut) :",
273
- "it": "Seleziona tutti i campi che desideri caricare nei dati del feed (potenza e timestamp sono attivi per impostazione predefinita):",
274
- "es": "Seleccione todos los campos que desea cargar en los datos del feed (la potencia y la marca de tiempo están habilitados por defecto):",
275
- "pl": "Wybierz wszystkie pola, które chcesz załadować do danych kanału (moc i znacznik czasu są domyślnie włączone):",
276
- "uk": "Виберіть всі поля, які ви хочете завантажити в дані каналу (потужність та відмітка часу активовані за замовчуванням):",
277
- "zh-cn": "选择要加载到数据中的所有字段(功率和时间戳默认处于启用状态):"
289
+ "en": "Select all fields you want to load in live-feed data (power and timestamp are on by default):",
290
+ "de": "Wählen Sie alle Felder aus, die Sie in den Live-Feed-Daten laden möchten (Leistung und Zeitstempel sind standardmäßig aktiviert):",
291
+ "ru": "Выберите все поля, которые вы хотите загрузить в данные с живой подачей (мощность и временная метка включены по умолчанию):",
292
+ "pt": "Selecione todos os campos que deseja carregar nos dados de feed ao vivo (potência e carimbo de data/hora estão ativados por padrão):",
293
+ "nl": "Selecteer alle velden die u wilt laden in live-feed gegevens (vermogen en tijdstempel zijn standaard ingeschakeld):",
294
+ "fr": "Sélectionnez tous les champs que vous souhaitez charger dans les données en direct (puissance et horodatage sont activés par défaut):",
295
+ "it": "Seleziona tutti i campi che desideri caricare nei dati in tempo reale (potenza e timestamp sono attivi per impostazione predefinita):",
296
+ "es": "Seleccione todos los campos que desea cargar en los datos de transmisión en vivo (potencia y marca de tiempo están activados por defecto):",
297
+ "pl": "Wybierz wszystkie pola, które chcesz załadować do danych na żywo (moc i znacznik czasu są domyślnie włączone):",
298
+ "uk": "Виберіть всі поля, які ви хочете завантажити в живі дані (потужність та відмітка часу включені за замовчуванням):",
299
+ "zh-cn": "选择要在实时数据中加载的所有字段 (功率和时间戳默认开启):"
278
300
  },
279
301
  "hidden": "!data.TibberAPIToken",
280
302
  "size": 3
@@ -595,7 +617,7 @@
595
617
  "default": "No Home selected",
596
618
  "filter": false,
597
619
  "sort": false,
598
- "width": "10%",
620
+ "width": "10% ",
599
621
  "command": "HomesForConfig"
600
622
  },
601
623
  {
@@ -710,11 +732,27 @@
710
732
  "zh-cn": "最佳小时块 LTF"
711
733
  },
712
734
  "value": 6
735
+ },
736
+ {
737
+ "label": {
738
+ "en": "smart battery buffer",
739
+ "de": "intelligenter Batteriepuffer",
740
+ "ru": "умный буфер батареи",
741
+ "pt": "buffer de bateria inteligente",
742
+ "nl": "slimme batterijbuffer",
743
+ "fr": "tampon de batterie intelligent",
744
+ "it": "buffer batteria intelligente",
745
+ "es": "buffer de batería inteligente",
746
+ "pl": "inteligentny bufor baterii",
747
+ "uk": "розумний буфер акумулятора",
748
+ "zh-cn": "智能电池缓冲区"
749
+ },
750
+ "value": 7
713
751
  }
714
752
  ],
715
753
  "filter": false,
716
754
  "sort": false,
717
- "width": "15%"
755
+ "width": "15% "
718
756
  },
719
757
  {
720
758
  "type": "text",
@@ -735,7 +773,7 @@
735
773
  "attr": "chName",
736
774
  "filter": false,
737
775
  "sort": false,
738
- "width": "25%",
776
+ "width": "15% ",
739
777
  "default": "Channel Name"
740
778
  },
741
779
  {
@@ -756,7 +794,7 @@
756
794
  "attr": "chTargetState",
757
795
  "filter": false,
758
796
  "sort": false,
759
- "width": "30%"
797
+ "width": "15% "
760
798
  },
761
799
  {
762
800
  "type": "text",
@@ -777,7 +815,7 @@
777
815
  "attr": "chValueOn",
778
816
  "filter": false,
779
817
  "sort": false,
780
- "width": "10%",
818
+ "width": "7.5% ",
781
819
  "default": ""
782
820
  },
783
821
  {
@@ -799,8 +837,76 @@
799
837
  "attr": "chValueOff",
800
838
  "filter": false,
801
839
  "sort": false,
802
- "width": "10%",
840
+ "width": "7.5% ",
803
841
  "default": ""
842
+ },
843
+
844
+ {
845
+ "type": "objectId",
846
+ "title": {
847
+ "en": "Target State 2",
848
+ "de": "Zielzustand 2",
849
+ "ru": "Целевое состояние 2",
850
+ "pt": "Estado alvo 2",
851
+ "nl": "Doelstaat 2",
852
+ "fr": "État cible 2",
853
+ "it": "Stato di destinazione 2",
854
+ "es": "Estado objetivo 2",
855
+ "pl": "Stan docelowy 2",
856
+ "uk": "Цільовий стан 2",
857
+ "zh-cn": "目标状态 2"
858
+ },
859
+ "attr": "chTargetState2",
860
+ "filter": false,
861
+ "sort": false,
862
+ "width": "15% ",
863
+ "hidden": "data.chType !== 7"
864
+ },
865
+ {
866
+ "type": "text",
867
+ "title": {
868
+ "en": "Value YES 2",
869
+ "de": "Wert JA 2",
870
+ "ru": "Значение ДА 2",
871
+ "pt": "Valor SIM 2",
872
+ "nl": "Waarde JA 2",
873
+ "fr": "Valeur OUI 2",
874
+ "it": "Valore SÌ 2",
875
+ "es": "Valor SÍ 2",
876
+ "pl": "Wartość TAK 2",
877
+ "uk": "Значення ТАК 2",
878
+ "zh-cn": "值 是 2"
879
+ },
880
+ "maxLength": 20,
881
+ "attr": "chValueOn2",
882
+ "filter": false,
883
+ "sort": false,
884
+ "width": "7.5% ",
885
+ "default": "",
886
+ "hidden": "data.chType !== 7"
887
+ },
888
+ {
889
+ "type": "text",
890
+ "title": {
891
+ "en": "Value NO 2",
892
+ "de": "Wert NEIN 2",
893
+ "ru": "Значение НЕТ 2",
894
+ "pt": "Valor NÃO 2",
895
+ "nl": "Waarde NEE 2",
896
+ "fr": "Valeur NON 2",
897
+ "it": "Valore NO 2",
898
+ "es": "Valor NO 2",
899
+ "pl": "Wartość NIE 2",
900
+ "uk": "Значення НІ 2",
901
+ "zh-cn": "值 否 2"
902
+ },
903
+ "maxLength": 20,
904
+ "attr": "chValueOff2",
905
+ "filter": false,
906
+ "sort": false,
907
+ "width": "7.5% ",
908
+ "default": "",
909
+ "hidden": "data.chType !== 7"
804
910
  }
805
911
  ]
806
912
  },
@@ -1021,6 +1127,24 @@
1021
1127
  "newLine": true
1022
1128
  },
1023
1129
  "_calculatorhelp13": {
1130
+ "type": "staticText",
1131
+ "hidden": "!data.UseCalculator",
1132
+ "label": {
1133
+ "en": " 'Smart Battery Buffer': Utilize the 'EfficiencyLoss' parameter to specify the efficiency loss of the battery system. Use the 'AmountHours' parameter to input the desired number of hours for battery charging. The calculator will activate battery charging ('value YES') and deactivate battery feed ('value 2 NO') during the specified 'AmountHours' cheapest hours. Conversely, it will deactivate battery charging ('value NO') and activate battery feed ('value 2 YES') during hours with the highest cost, provided the cost is higher than the highest total price among the cheap hours. In the remaining normal hours where energy buffering by the battery is not economically viable, both outputs will be switched off.",
1134
+ "de": " 'Intelligenter Batteriepuffer': Verwenden Sie den Parameter 'EfficiencyLoss', um den Wirkungsgradverlust des Batteriesystems anzugeben. Verwenden Sie den Parameter 'AmountHours', um die gewünschte Anzahl von Stunden für das Laden der Batterie einzugeben. Der Rechner aktiviert das Batterieladen ('Wert YES') und deaktiviert die Batteriezufuhr ('Wert 2 NO') während der angegebenen 'AmountHours' günstigsten Stunden. Umgekehrt deaktiviert er das Batterieladen ('Wert NO') und aktiviert die Batteriezufuhr ('Wert 2 YES') während der Stunden mit den höchsten Kosten, vorausgesetzt, die Kosten sind höher als der höchste Gesamtpreis unter den günstigen Stunden. In den verbleibenden normalen Stunden, in denen eine Energiespeicherung durch die Batterie wirtschaftlich nicht sinnvoll ist, werden beide Ausgänge ausgeschaltet.",
1135
+ "ru": " 'Умный буфер батареи': Используйте параметр 'EfficiencyLoss', чтобы указать потери эффективности батарейной системы. Используйте параметр 'AmountHours', чтобы ввести желаемое количество часов для зарядки батареи. Калькулятор активирует зарядку батареи ('значение YES') и деактивирует подачу батареи ('значение 2 NO') в течение указанных 'AmountHours' самых дешевых часов. Напротив, он деактивирует зарядку батареи ('значение NO') и активирует подачу батареи ('значение 2 YES') в часы с наивысшей стоимостью, при условии, что стоимость выше самой высокой общей цены среди дешевых часов. В оставшиеся обычные часы, когда энергия буферизации батареи экономически нецелесообразна, оба выхода будут отключены.",
1136
+ "pt": " 'Buffer de bateria inteligente': Utilize o parâmetro 'EfficiencyLoss' para especificar a perda de eficiência do sistema de bateria. Use o parâmetro 'AmountHours' para inserir o número desejado de horas para carregar a bateria. A calculadora ativará o carregamento da bateria ('valor YES') e desativará a alimentação da bateria ('valor 2 NO') durante as horas mais baratas especificadas em 'AmountHours'. Ao contrário, desativará o carregamento da bateria ('valor NO') e ativará a alimentação da bateria ('valor 2 YES') durante as horas com o maior custo, desde que o custo seja maior que o preço total mais alto entre as horas mais baratas. Nas horas normais restantes, em que o armazenamento de energia pela bateria não é economicamente viável, ambas as saídas serão desligadas.",
1137
+ "nl": " 'Slimme batterijbuffer': Gebruik de parameter 'EfficiencyLoss' om het rendementsverlies van het batterijsysteem aan te geven. Gebruik de parameter 'AmountHours' om het gewenste aantal uren voor het opladen van de batterij in te voeren. De rekenmachine activeert het opladen van de batterij ('waarde YES') en deactiveert de batterijtoevoer ('waarde 2 NO') tijdens de gespecificeerde 'AmountHours' goedkoopste uren. Omgekeerd zal het het opladen van de batterij deactiveren ('waarde NO') en de batterijtoevoer activeren ('waarde 2 YES') tijdens uren met de hoogste kosten, op voorwaarde dat de kosten hoger zijn dan de hoogste totale prijs onder de goedkope uren. In de overige normale uren waar energiebuffering door de batterij niet economisch haalbaar is, worden beide uitgangen uitgeschakeld.",
1138
+ "fr": " 'Tampon de batterie intelligent': Utilisez le paramètre 'EfficiencyLoss' pour spécifier la perte d'efficacité du système de batterie. Utilisez le paramètre 'AmountHours' pour entrer le nombre d'heures souhaité pour la charge de la batterie. Le calculateur activera la charge de la batterie ('valeur YES') et désactivera l'alimentation de la batterie ('valeur 2 NO') pendant les heures les moins chères spécifiées dans 'AmountHours'. Inversement, il désactivera la charge de la batterie ('valeur NO') et activera l'alimentation de la batterie ('valeur 2 YES') pendant les heures les plus coûteuses, à condition que le coût soit supérieur au prix total le plus élevé parmi les heures bon marché. Pendant les heures normales restantes où le tamponnement d'énergie par la batterie n'est pas économiquement viable, les deux sorties seront désactivées.",
1139
+ "it": " 'Buffer batteria intelligente': Utilizza il parametro 'EfficiencyLoss' per specificare la perdita di efficienza del sistema di batterie. Usa il parametro 'AmountHours' per inserire il numero desiderato di ore per la ricarica della batteria. La calcolatrice attiverà la ricarica della batteria ('valore YES') e disattiverà l'alimentazione della batteria ('valore 2 NO') durante le 'AmountHours' ore più economiche specificate. Al contrario, disattiverà la ricarica della batteria ('valore NO') e attiverà l'alimentazione della batteria ('valore 2 YES') durante le ore con il costo più elevato, a condizione che il costo sia superiore al prezzo totale più alto tra le ore economiche. Nelle restanti ore normali in cui il buffering energetico della batteria non è economicamente vantaggioso, entrambe le uscite verranno disattivate.",
1140
+ "es": " 'Buffer de batería inteligente': Utilice el parámetro 'EfficiencyLoss' para especificar la pérdida de eficiencia del sistema de batería. Utilice el parámetro 'AmountHours' para ingresar la cantidad deseada de horas para la carga de la batería. La calculadora activará la carga de la batería ('valor YES') y desactivará la alimentación de la batería ('valor 2 NO') durante las horas más baratas especificadas en 'AmountHours'. Por el contrario, desactivará la carga de la batería ('valor NO') y activará la alimentación de la batería ('valor 2 YES') durante las horas con el mayor costo, siempre que el costo sea mayor que el precio total más alto entre las horas baratas. En las horas normales restantes en las que el almacenamiento de energía por la batería no es económicamente viable, ambas salidas se apagarán.",
1141
+ "pl": " 'Inteligentny bufor baterii': Użyj parametru 'EfficiencyLoss', aby określić straty wydajności systemu baterii. Użyj parametru 'AmountHours', aby wprowadzić żądaną liczbę godzin na ładowanie baterii. Kalkulator aktywuje ładowanie baterii ('wartość YES') i dezaktywuje podawanie baterii ('wartość 2 NO') podczas określonych 'AmountHours' najtańszych godzin. W przeciwnym razie dezaktywuje ładowanie baterii ('wartość NO') i aktywuje podawanie baterii ('wartość 2 YES') podczas godzin o najwyższym koszcie, pod warunkiem, że koszt jest wyższy niż najwyższa cena całkowita wśród tanich godzin. W pozostałych normalnych godzinach, gdy buforowanie energii przez baterię nie jest ekonomicznie opłacalne, obie wyjścia zostaną wyłączone.",
1142
+ "uk": " 'Розумний буфер акумулятора': Використовуйте параметр 'EfficiencyLoss', щоб вказати втрати ефективності системи акумулятора. Використовуйте параметр 'AmountHours', щоб ввести бажану кількість годин для заряджання акумулятора. Калькулятор активує заряджання акумулятора ('значення YES') та вимкне живлення акумулятора ('значення 2 NO') протягом вказаних 'AmountHours' найдешевших годин. Навпаки, він вимкне заряджання акумулятора ('значення NO') та активує живлення акумулятора ('значення 2 YES') протягом годин з найвищою вартістю, за умови, що вартість вища за найвищу загальну ціну серед дешевих годин. В залишкові нормальні години, коли буферизація енергії акумулятором економічно невигідна, обидві виходи будуть вимкнені.",
1143
+ "zh-cn": " '智能电池缓冲区': 使用 'EfficiencyLoss' 参数指定电池系统的效率损失。使用 'AmountHours' 参数输入所需的电池充电小时数。计算器将在指定的 'AmountHours' 最便宜的小时内激活电池充电('value YES')并停用电池供电('value 2 NO')。相反,在成本最高的小时内,前提是成本高于便宜小时中的最高总价,将停用电池充电('value NO')并激活电池供电('value 2 YES')。在电池缓冲能量在经济上不可行的其余正常小时内,两个输出都将关闭。"
1144
+ },
1145
+ "newLine": true
1146
+ },
1147
+ "_calculatorhelp14": {
1024
1148
  "type": "staticText",
1025
1149
  "hidden": "!data.UseCalculator",
1026
1150
  "label": {
@@ -22,6 +22,7 @@ class TibberAPICaller extends tibberHelper_1.TibberHelper {
22
22
  NameInApp: currentHome.appNickname,
23
23
  RealTime: currentHome.features.realTimeConsumptionEnabled,
24
24
  FeedActive: false,
25
+ PriceDataPollActive: true,
25
26
  });
26
27
  // Set HomeId in tibberConfig for further API Calls
27
28
  this.tibberConfig.homeId = currentHome.id;
@@ -118,8 +119,11 @@ class TibberAPICaller extends tibberHelper_1.TibberHelper {
118
119
  */
119
120
  async updatePricesTodayAllHomes(homeInfoList, forceUpdate) {
120
121
  let okprice = true;
122
+ const currentForceUpdate = forceUpdate !== undefined ? forceUpdate : false;
121
123
  for (const index in homeInfoList) {
122
- if (!(await this.updatePricesToday(homeInfoList[index].ID, forceUpdate)))
124
+ if (!homeInfoList[index].PriceDataPollActive)
125
+ continue;
126
+ if (!(await this.updatePricesToday(homeInfoList[index].ID, currentForceUpdate)))
123
127
  okprice = false;
124
128
  }
125
129
  return okprice;
@@ -173,7 +177,7 @@ class TibberAPICaller extends tibberHelper_1.TibberHelper {
173
177
  }
174
178
  catch (error) {
175
179
  if (forceUpdate)
176
- this.adapter.log.error(this.generateErrorMessage(error, `pull of prices today`));
180
+ this.adapter.log.error(this.generateErrorMessage(error, `force pull of prices today`));
177
181
  else
178
182
  this.adapter.log.warn(this.generateErrorMessage(error, `pull of prices today`));
179
183
  return false;
@@ -189,8 +193,11 @@ class TibberAPICaller extends tibberHelper_1.TibberHelper {
189
193
  */
190
194
  async updatePricesTomorrowAllHomes(homeInfoList, forceUpdate) {
191
195
  let okprice = true;
196
+ const currentForceUpdate = forceUpdate !== undefined ? forceUpdate : false;
192
197
  for (const index in homeInfoList) {
193
- if (!(await this.updatePricesTomorrow(homeInfoList[index].ID, forceUpdate)))
198
+ if (!homeInfoList[index].PriceDataPollActive)
199
+ continue;
200
+ if (!(await this.updatePricesTomorrow(homeInfoList[index].ID, currentForceUpdate)))
194
201
  okprice = false;
195
202
  }
196
203
  return okprice;
@@ -213,7 +220,9 @@ class TibberAPICaller extends tibberHelper_1.TibberHelper {
213
220
  const morgen = new Date();
214
221
  morgen.setDate(morgen.getDate() + 1);
215
222
  morgen.setHours(0, 0, 0, 0); // sets clock to 0:00
216
- if (!exDate || exDate <= morgen || forceUpdate) {
223
+ if (!exDate || exDate < morgen || forceUpdate) {
224
+ //if (!exDate || exDate <= morgen || forceUpdate) { FIX in 1.8.0
225
+ // -> try getting new data from Tibber server
217
226
  const pricesTomorrow = await this.tibberQuery.getTomorrowsEnergyPrices(homeId);
218
227
  this.adapter.log.debug(`Got prices tomorrow from tibber api: ${JSON.stringify(pricesTomorrow)} Force: ${forceUpdate}`);
219
228
  this.checkAndSetValue(this.getStatePrefix(homeId, "PricesTomorrow", "json"), JSON.stringify(pricesTomorrow), "The prices tomorrow as json"); // write also it might be empty
@@ -227,7 +236,7 @@ class TibberAPICaller extends tibberHelper_1.TibberHelper {
227
236
  this.emptyingPriceMaximum(homeId, `PricesTomorrow.maximum`);
228
237
  this.emptyingPriceMinimum(homeId, `PricesTomorrow.minimum`);
229
238
  this.checkAndSetValue(this.getStatePrefix(homeId, "PricesTomorrow", "jsonBYpriceASC"), JSON.stringify(pricesTomorrow), "prices sorted by cost ascending as json");
230
- return true;
239
+ return false; // fix in 1.8.0 -> VALIDATED
231
240
  }
232
241
  else if (Array.isArray(pricesTomorrow)) {
233
242
  // pricing known, after about 13:00 - write the states
@@ -244,20 +253,20 @@ class TibberAPICaller extends tibberHelper_1.TibberHelper {
244
253
  if (exDate && exDate >= morgen) {
245
254
  return true;
246
255
  }
256
+ else {
257
+ return false;
258
+ }
247
259
  }
248
260
  }
249
- else if (exDate == morgen) {
261
+ else if (exDate && exDate >= morgen) {
250
262
  this.adapter.log.debug(`Existing date (${exDate}) of price info is already the tomorrow date, polling of prices tomorrow from Tibber skipped`);
251
263
  return true;
252
264
  }
253
- else {
254
- return false;
255
- }
256
265
  return false;
257
266
  }
258
267
  catch (error) {
259
268
  if (forceUpdate)
260
- this.adapter.log.error(this.generateErrorMessage(error, `pull of prices tomorrow`));
269
+ this.adapter.log.error(this.generateErrorMessage(error, `force pull of prices tomorrow`));
261
270
  else
262
271
  this.adapter.log.warn(this.generateErrorMessage(error, `pull of prices tomorrow`));
263
272
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"tibberAPICaller.js","sourceRoot":"","sources":["../../src/lib/tibberAPICaller.ts"],"names":[],"mappings":";;;AACA,2CAAkD;AAKlD,uFAAoF;AACpF,iDAAyD;AAEzD,MAAa,eAAgB,SAAQ,2BAAY;IAIhD,YAAY,YAAqB,EAAE,OAA8B;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAW,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,kBAAkB;QACvB,IAAI;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9E,MAAM,YAAY,GAAgB,EAAE,CAAC;YACrC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;gBAC1B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,YAAY,CAAC,IAAI,CAAC;oBACjB,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,SAAS,EAAE,WAAW,CAAC,WAAW;oBAClC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,0BAA0B;oBACzD,UAAU,EAAE,KAAK;iBACjB,CAAC,CAAC;gBACH,mDAAmD;gBACnD,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;gBAC1C,eAAe;gBACf,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBAC/G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,QAAQ,EAAE,mCAAmC,CAAC,CAAC;gBAC7I,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;gBAC9I,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,EAC7D,WAAW,CAAC,SAAS,EACrB,oCAAoC,CACpC,CAAC;gBACF,sFAAsF;gBACtF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBACrH,8CAA8C;gBAC9C,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,sBAAsB,CAAC,EACtE,WAAW,CAAC,oBAAoB,EAChC,yCAAyC,CACzC,CAAC;gBACF,8GAA8G;gBAC9G,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC;gBAC/I,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,EACnE,WAAW,CAAC,iBAAiB,EAC7B,yCAAyC,CACzC,CAAC;gBACF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,WAAW,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;gBAC5I,IAAI,CAAC,uBAAuB,CAC3B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,sBAAsB,CAAC,EACtE,WAAW,CAAC,oBAAoB,EAChC,2CAA2C,CAC3C,CAAC;gBAEF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;gBAClE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBAElE,IAAI,CAAC,uBAAuB,CAC3B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,4BAA4B,CAAC,EAC7E,WAAW,CAAC,QAAQ,CAAC,0BAA0B,EAC/C,yDAAyD,CACzD,CAAC;aACF;YACD,OAAO,YAAY,CAAC;SACpB;QAAC,OAAO,KAAK,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC,CAAC;YAC3F,OAAO,EAAE,CAAC;SACV;IACF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,0BAA0B,CAAC,YAAyB,EAAE,WAAqB;QAChF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;YACjC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBAAE,OAAO,GAAG,KAAK,CAAC;SAC3F;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IACD;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,WAAqB;QAC7D,UAAU;QACV,IAAI;YACH,IAAI,MAAM,EAAE;gBACX,IAAI,MAAM,GAAgB,IAAI,CAAC;gBAC/B,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,MAAM,wBAAwB,CAAC,CAAC,CAAC;gBACrF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,WAAW,EAAE;oBACnE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;oBAC1E,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;oBAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;oBACnH,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAI,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE;wBACnD,OAAO,IAAI,CAAC;qBACZ;iBACD;qBAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE;oBAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CACrB,SAAS,MAAM,CAAC,QAAQ,EAAE,oGAAoG,CAC9H,CAAC;oBACF,OAAO,IAAI,CAAC;iBACZ;qBAAM;oBACN,OAAO,KAAK,CAAC;iBACb;aACD;iBAAM;gBACN,OAAO,KAAK,CAAC;aACb;SACD;QAAC,OAAO,KAAU,EAAE;YACpB,IAAI,WAAW;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;;gBAC9F,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;YACtF,OAAO,KAAK,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,yBAAyB,CAAC,YAAyB,EAAE,WAAqB;QAC/E,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;YACjC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBAAE,OAAO,GAAG,KAAK,CAAC;SAC1F;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IACD;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,WAAqB;QAC5D,IAAI;YACH,IAAI,MAAM,GAAgB,IAAI,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,MAAM,mBAAmB,CAAC,CAAC;YAC5E,MAAM,aAAa,GAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAClF,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAC7C;YACD,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YACzB,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB;YACjD,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,WAAW,EAAE;gBAC9C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBACzE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;gBACjH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,+BAA+B;gBACnK,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAAC;gBACnE,IAAI,CAAC,iBAAiB,CACrB,MAAM,EACN,qBAAqB,EACrB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAC7C,CAAC;gBACF,IAAI,CAAC,iBAAiB,CACrB,MAAM,EACN,qBAAqB,EACrB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAC7C,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE;oBAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC/D,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;iBAC5D;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBAC5E,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAC5D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAC7D,yCAAyC,CACzC,CAAC;oBACF,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC3C,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,EAAE;wBAC9B,OAAO,IAAI,CAAC;qBACZ;iBACD;qBAAM;oBACN,8FAA8F;oBAC9F,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAC5D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAC3B,yCAAyC,CACzC,CAAC;oBACF,OAAO,KAAK,CAAC;iBACb;aACD;iBAAM;gBACN,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,MAAM,wFAAwF,CAAC,CAAC;gBACzI,OAAO,IAAI,CAAC;aACZ;SACD;QAAC,OAAO,KAAU,EAAE;YACpB,IAAI,WAAW;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC;;gBAC7F,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC;YACrF,OAAO,KAAK,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,4BAA4B,CAAC,YAAyB,EAAE,WAAqB;QAClF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;YACjC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBAAE,OAAO,GAAG,KAAK,CAAC;SAC7F;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IACD;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAc,EAAE,WAAqB;QAC/D,IAAI;YACH,IAAI,MAAM,GAAgB,IAAI,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,MAAM,sBAAsB,CAAC,CAAC;YAC/E,MAAM,gBAAgB,GAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC3F,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAChD;YACD,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB;YAClD,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,WAAW,EAAE;gBAC/C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;gBAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;gBACvH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,6BAA6B,CAAC,CAAC,CAAC,+BAA+B;gBAC5K,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChC,gEAAgE;oBAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;oBACnG,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE;wBACrC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC;qBACrD;oBACD,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;oBAC5D,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;oBAC5D,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;oBAC5D,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAC/D,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9B,yCAAyC,CACzC,CAAC;oBACF,OAAO,IAAI,CAAC;iBACZ;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;oBACzC,sDAAsD;oBACtD,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE;wBAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;wBAChC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC/D,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;qBAC/D;oBACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,EAAE,cAAc,CAAC,CAAC;oBACzE,IAAI,CAAC,iBAAiB,CACrB,MAAM,EACN,wBAAwB,EACxB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAChD,CAAC;oBACF,IAAI,CAAC,iBAAiB,CACrB,MAAM,EACN,wBAAwB,EACxB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAChD,CAAC;oBACF,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAC/D,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAChE,yCAAyC,CACzC,CAAC;oBACF,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC9C,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE;wBAC/B,OAAO,IAAI,CAAC;qBACZ;iBACD;aACD;iBAAM,IAAI,MAAM,IAAI,MAAM,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,MAAM,8FAA8F,CAAC,CAAC;gBAC/I,OAAO,IAAI,CAAC;aACZ;iBAAM;gBACN,OAAO,KAAK,CAAC;aACb;YACD,OAAO,KAAK,CAAC;SACb;QAAC,OAAO,KAAU,EAAE;YACpB,IAAI,WAAW;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC,CAAC;;gBAChG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC;SACb;IACF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB;QAC9B,IAAI;YACH,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE;gBACjD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,MAAM,WAAW,GAAG;oBACnB,EAAE,IAAI,EAAE,mCAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC3G,EAAE,IAAI,EAAE,mCAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE;oBACvG,EAAE,IAAI,EAAE,mCAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC3G,EAAE,IAAI,EAAE,mCAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE;oBAC/G,EAAE,IAAI,EAAE,mCAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE;iBAC3G,CAAC;gBACF,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,WAAW,EAAE;oBAChE,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC,EAAE;wBAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;wBACjF,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EACjD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAC3B,+BAA+B,WAAW,WAAW,CACrD,CAAC;qBACF;yBAAM;wBACN,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;qBAC/E;iBACD;gBACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,qDAAqD,MAAM,EAAE,CAAC,CAAC;aACtF;SACD;QAAC,OAAO,KAAU,EAAE;YACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC,CAAC;SACrF;IACF,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,iBAAyB,EAAE,KAAa;QAChF,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;QACxI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAC/H,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,6CAA6C,CAAC,CAAC;QAC7I,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;QAC7H,0HAA0H;QAC1H,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;IAC5I,CAAC;IAEO,iBAAiB,CAAC,MAAc,EAAE,iBAAyB,EAAE,KAAe;QACnF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC3C,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAC3C,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;aACxB;YACD,OAAO,GAAG,CAAC;QACZ,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EACvD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EACnD,4BAA4B,CAC5B,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EACxD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EACpD,iCAAiC,CACjC,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EACrD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EACjD,0BAA0B,CAC1B,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,MAAc,EAAE,iBAAyB,EAAE,KAAe;QACnF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;YAClD,kEAAkE;YAClE,UAAU;SACV;QACD,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EACvD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EACzC,4BAA4B,CAC5B,CAAC;QACF,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EACxD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EAC1C,gDAAgD,CAChD,CAAC;QACF,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EACrD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EACvC,yCAAyC,CACzC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;QAC/I,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,iCAAiC,CAAC,CAAC;IAC1I,CAAC;IAEO,iBAAiB,CAAC,MAAc,EAAE,iBAAyB,EAAE,KAAe;QACnF,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EACvD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EACxC,4BAA4B,CAC5B,CAAC;QACF,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EACxD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EACzC,gDAAgD,CAChD,CAAC;QACF,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EACrD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EACtC,yCAAyC,CACzC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;QAC9I,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,iCAAiC,CAAC,CAAC;IACzI,CAAC;IAEO,aAAa,CAAC,MAAc,EAAE,iBAAyB;QAC9D,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,kCAAkC,CAAC,CAAC;QAC5H,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC7G,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,+CAA+C,CAAC,CAAC;QACvI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,6CAA6C,CAAC,CAAC;IAChJ,CAAC;IAEO,oBAAoB,CAAC,MAAc,EAAE,iBAAyB;QACrE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,gCAAgC,CAAC,CAAC;QAC1H,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,qCAAqC,CAAC,CAAC;QAChI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACvH,CAAC;IAEO,oBAAoB,CAAC,MAAc,EAAE,iBAAyB;QACrE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACtH,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,gDAAgD,CAAC,CAAC;QAC3I,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,yCAAyC,CAAC,CAAC;QACjI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,6CAA6C,CAAC,CAAC;QAC/I,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,eAAe,EAAE,iCAAiC,CAAC,CAAC;IACvI,CAAC;IAEO,oBAAoB,CAAC,MAAc,EAAE,iBAAyB;QACrE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACtH,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,gDAAgD,CAAC,CAAC;QAC3I,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,yCAAyC,CAAC,CAAC;QACjI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,6CAA6C,CAAC,CAAC;QAC/I,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,eAAe,EAAE,iCAAiC,CAAC,CAAC;IACvI,CAAC;IAEO,gBAAgB,CAAC,MAAc,EAAE,iBAAyB,EAAE,WAAyB;QAC5F,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1G,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QACjH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAChG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;QAC5G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;QACpH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxG,IAAI,WAAW,CAAC,WAAW,EAAE;YAC5B,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;SAC3F;QACD,IAAI,WAAW,CAAC,OAAO,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;SAC/E;IACF,CAAC;IAEO,gBAAgB,CAAC,MAAc,EAAE,iBAAyB,EAAE,WAAyB;QAC5F,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAClG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrG,CAAC;IAEO,YAAY,CAAC,MAAc,EAAE,iBAAyB,EAAE,OAAiB;QAChF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5F,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACxG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAClG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACvG,CAAC;CACD;AA9dD,0CA8dC"}
1
+ {"version":3,"file":"tibberAPICaller.js","sourceRoot":"","sources":["../../src/lib/tibberAPICaller.ts"],"names":[],"mappings":";;;AACA,2CAAkD;AAKlD,uFAAoF;AACpF,iDAAyD;AAEzD,MAAa,eAAgB,SAAQ,2BAAY;IAIhD,YAAY,YAAqB,EAAE,OAA8B;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAW,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,kBAAkB;QACvB,IAAI;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9E,MAAM,YAAY,GAAgB,EAAE,CAAC;YACrC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;gBAC1B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,YAAY,CAAC,IAAI,CAAC;oBACjB,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,SAAS,EAAE,WAAW,CAAC,WAAW;oBAClC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,0BAA0B;oBACzD,UAAU,EAAE,KAAK;oBACjB,mBAAmB,EAAE,IAAI;iBACzB,CAAC,CAAC;gBACH,mDAAmD;gBACnD,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;gBAC1C,eAAe;gBACf,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBAC/G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,QAAQ,EAAE,mCAAmC,CAAC,CAAC;gBAC7I,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAC;gBAC9I,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,EAC7D,WAAW,CAAC,SAAS,EACrB,oCAAoC,CACpC,CAAC;gBACF,sFAAsF;gBACtF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;gBACrH,8CAA8C;gBAC9C,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,sBAAsB,CAAC,EACtE,WAAW,CAAC,oBAAoB,EAChC,yCAAyC,CACzC,CAAC;gBACF,8GAA8G;gBAC9G,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC;gBAC/I,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,EACnE,WAAW,CAAC,iBAAiB,EAC7B,yCAAyC,CACzC,CAAC;gBACF,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,WAAW,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;gBAC5I,IAAI,CAAC,uBAAuB,CAC3B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,sBAAsB,CAAC,EACtE,WAAW,CAAC,oBAAoB,EAChC,2CAA2C,CAC3C,CAAC;gBAEF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;gBAClE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;gBAElE,IAAI,CAAC,uBAAuB,CAC3B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,UAAU,EAAE,4BAA4B,CAAC,EAC7E,WAAW,CAAC,QAAQ,CAAC,0BAA0B,EAC/C,yDAAyD,CACzD,CAAC;aACF;YACD,OAAO,YAAY,CAAC;SACpB;QAAC,OAAO,KAAK,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC,CAAC;YAC3F,OAAO,EAAE,CAAC;SACV;IACF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,0BAA0B,CAAC,YAAyB,EAAE,WAAqB;QAChF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;YACjC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBAAE,OAAO,GAAG,KAAK,CAAC;SAC3F;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IACD;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,WAAqB;QAC7D,UAAU;QACV,IAAI;YACH,IAAI,MAAM,EAAE;gBACX,IAAI,MAAM,GAAgB,IAAI,CAAC;gBAC/B,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,MAAM,wBAAwB,CAAC,CAAC,CAAC;gBACrF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,WAAW,EAAE;oBACnE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;oBAC1E,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;oBAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;oBACnH,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAI,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE;wBACnD,OAAO,IAAI,CAAC;qBACZ;iBACD;qBAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE;oBAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CACrB,SAAS,MAAM,CAAC,QAAQ,EAAE,oGAAoG,CAC9H,CAAC;oBACF,OAAO,IAAI,CAAC;iBACZ;qBAAM;oBACN,OAAO,KAAK,CAAC;iBACb;aACD;iBAAM;gBACN,OAAO,KAAK,CAAC;aACb;SACD;QAAC,OAAO,KAAU,EAAE;YACpB,IAAI,WAAW;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;;gBAC9F,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;YACtF,OAAO,KAAK,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,yBAAyB,CAAC,YAAyB,EAAE,WAAqB;QAC/E,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,kBAAkB,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3E,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;YACjC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,mBAAmB;gBAAE,SAAS;YACvD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;gBAAE,OAAO,GAAG,KAAK,CAAC;SACjG;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IACD;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,WAAoB;QAC3D,IAAI;YACH,IAAI,MAAM,GAAgB,IAAI,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,MAAM,mBAAmB,CAAC,CAAC;YAC5E,MAAM,aAAa,GAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAClF,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAC7C;YACD,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;YACzB,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB;YACjD,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,WAAW,EAAE;gBAC9C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBACzE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;gBACjH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,0BAA0B,CAAC,CAAC,CAAC,+BAA+B;gBACnK,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,EAAE,WAAW,CAAC,CAAC;gBACnE,IAAI,CAAC,iBAAiB,CACrB,MAAM,EACN,qBAAqB,EACrB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAC7C,CAAC;gBACF,IAAI,CAAC,iBAAiB,CACrB,MAAM,EACN,qBAAqB,EACrB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAC7C,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE;oBAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC/D,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;iBAC5D;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBAC5E,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAC5D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAC7D,yCAAyC,CACzC,CAAC;oBACF,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC3C,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,EAAE;wBAC9B,OAAO,IAAI,CAAC;qBACZ;iBACD;qBAAM;oBACN,8FAA8F;oBAC9F,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAC5D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAC3B,yCAAyC,CACzC,CAAC;oBACF,OAAO,KAAK,CAAC;iBACb;aACD;iBAAM;gBACN,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,MAAM,wFAAwF,CAAC,CAAC;gBACzI,OAAO,IAAI,CAAC;aACZ;SACD;QAAC,OAAO,KAAU,EAAE;YACpB,IAAI,WAAW;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;;gBACnG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC;YACrF,OAAO,KAAK,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,4BAA4B,CAAC,YAAyB,EAAE,WAAqB;QAClF,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,kBAAkB,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3E,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;YACjC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,mBAAmB;gBAAE,SAAS;YACvD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;gBAAE,OAAO,GAAG,KAAK,CAAC;SACpG;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IACD;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAc,EAAE,WAAoB;QAC9D,IAAI;YACH,IAAI,MAAM,GAAgB,IAAI,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,MAAM,sBAAsB,CAAC,CAAC;YAC/E,MAAM,gBAAgB,GAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC3F,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAChD;YACD,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB;YAClD,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,MAAM,IAAI,WAAW,EAAE;gBAC9C,iEAAiE;gBACjE,6CAA6C;gBAC7C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;gBAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,WAAW,EAAE,CAAC,CAAC;gBACvH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,6BAA6B,CAAC,CAAC,CAAC,+BAA+B;gBAC5K,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChC,gEAAgE;oBAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;oBACnG,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE;wBACrC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC;qBACrD;oBACD,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;oBAC5D,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;oBAC5D,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;oBAC5D,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAC/D,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9B,yCAAyC,CACzC,CAAC;oBACF,OAAO,KAAK,CAAC,CAAC,4BAA4B;iBAC1C;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;oBACzC,sDAAsD;oBACtD,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE;wBAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;wBAChC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC/D,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;qBAC/D;oBACD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,EAAE,cAAc,CAAC,CAAC;oBACzE,IAAI,CAAC,iBAAiB,CACrB,MAAM,EACN,wBAAwB,EACxB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAChD,CAAC;oBACF,IAAI,CAAC,iBAAiB,CACrB,MAAM,EACN,wBAAwB,EACxB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAChD,CAAC;oBACF,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAC/D,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAChE,yCAAyC,CACzC,CAAC;oBACF,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC9C,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE;wBAC/B,OAAO,IAAI,CAAC;qBACZ;yBAAM;wBACN,OAAO,KAAK,CAAC;qBACb;iBACD;aACD;iBAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE;gBACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,MAAM,8FAA8F,CAAC,CAAC;gBAC/I,OAAO,IAAI,CAAC;aACZ;YACD,OAAO,KAAK,CAAC;SACb;QAAC,OAAO,KAAU,EAAE;YACpB,IAAI,WAAW;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC,CAAC;;gBACtG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC;SACb;IACF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB;QAC9B,IAAI;YACH,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE;gBACjD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,MAAM,WAAW,GAAG;oBACnB,EAAE,IAAI,EAAE,mCAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC3G,EAAE,IAAI,EAAE,mCAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE;oBACvG,EAAE,IAAI,EAAE,mCAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE;oBAC3G,EAAE,IAAI,EAAE,mCAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE;oBAC/G,EAAE,IAAI,EAAE,mCAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE;iBAC3G,CAAC;gBACF,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,WAAW,EAAE;oBAChE,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC,EAAE;wBAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;wBACjF,IAAI,CAAC,gBAAgB,CACpB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EACjD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAC3B,+BAA+B,WAAW,WAAW,CACrD,CAAC;qBACF;yBAAM;wBACN,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;qBAC/E;iBACD;gBACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,qDAAqD,MAAM,EAAE,CAAC,CAAC;aACtF;SACD;QAAC,OAAO,KAAU,EAAE;YACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC,CAAC;SACrF;IACF,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,iBAAyB,EAAE,KAAa;QAChF,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;QACxI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;QAC/H,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,6CAA6C,CAAC,CAAC;QAC7I,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;QAC7H,0HAA0H;QAC1H,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;IAC5I,CAAC;IAEO,iBAAiB,CAAC,MAAc,EAAE,iBAAyB,EAAE,KAAe;QACnF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC3C,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAC3C,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;aACxB;YACD,OAAO,GAAG,CAAC;QACZ,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EACvD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EACnD,4BAA4B,CAC5B,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EACxD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EACpD,iCAAiC,CACjC,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EACrD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EACjD,0BAA0B,CAC1B,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,MAAc,EAAE,iBAAyB,EAAE,KAAe;QACnF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE;YAClD,kEAAkE;YAClE,UAAU;SACV;QACD,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EACvD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EACzC,4BAA4B,CAC5B,CAAC;QACF,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EACxD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EAC1C,gDAAgD,CAChD,CAAC;QACF,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EACrD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EACvC,yCAAyC,CACzC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;QAC/I,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,iCAAiC,CAAC,CAAC;IAC1I,CAAC;IAEO,iBAAiB,CAAC,MAAc,EAAE,iBAAyB,EAAE,KAAe;QACnF,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EACvD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EACxC,4BAA4B,CAC5B,CAAC;QACF,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EACxD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EACzC,gDAAgD,CAChD,CAAC;QACF,IAAI,CAAC,sBAAsB,CAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EACrD,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,EACtC,yCAAyC,CACzC,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;QAC9I,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,iCAAiC,CAAC,CAAC;IACzI,CAAC;IAEO,aAAa,CAAC,MAAc,EAAE,iBAAyB;QAC9D,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,kCAAkC,CAAC,CAAC;QAC5H,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAC7G,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,+CAA+C,CAAC,CAAC;QACvI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,6CAA6C,CAAC,CAAC;IAChJ,CAAC;IAEO,oBAAoB,CAAC,MAAc,EAAE,iBAAyB;QACrE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,gCAAgC,CAAC,CAAC;QAC1H,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,qCAAqC,CAAC,CAAC;QAChI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACvH,CAAC;IAEO,oBAAoB,CAAC,MAAc,EAAE,iBAAyB;QACrE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACtH,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,gDAAgD,CAAC,CAAC;QAC3I,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,yCAAyC,CAAC,CAAC;QACjI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,6CAA6C,CAAC,CAAC;QAC/I,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,eAAe,EAAE,iCAAiC,CAAC,CAAC;IACvI,CAAC;IAEO,oBAAoB,CAAC,MAAc,EAAE,iBAAyB;QACrE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACtH,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,gDAAgD,CAAC,CAAC;QAC3I,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,yCAAyC,CAAC,CAAC;QACjI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,6CAA6C,CAAC,CAAC;QAC/I,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,eAAe,EAAE,iCAAiC,CAAC,CAAC;IACvI,CAAC;IAEO,gBAAgB,CAAC,MAAc,EAAE,iBAAyB,EAAE,WAAyB;QAC5F,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1G,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QACjH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAChG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;QAC5G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;QACpH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxG,IAAI,WAAW,CAAC,WAAW,EAAE;YAC5B,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;SAC3F;QACD,IAAI,WAAW,CAAC,OAAO,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;SAC/E;IACF,CAAC;IAEO,gBAAgB,CAAC,MAAc,EAAE,iBAAyB,EAAE,WAAyB;QAC5F,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAClG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrG,CAAC;IAEO,YAAY,CAAC,MAAc,EAAE,iBAAyB,EAAE,OAAiB;QAChF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5F,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACxG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAClG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACvG,CAAC;CACD;AAreD,0CAqeC"}