@explorins/pers-sdk 2.1.2 → 2.1.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.
@@ -30,8 +30,7 @@ const DEFAULT_PERS_CONFIG = {
30
30
  timeout: 30000,
31
31
  retries: 3,
32
32
  tokenRefreshMargin: 60, // Refresh tokens 60 seconds before expiry
33
- backgroundRefreshThreshold: 30, // Use background refresh if >30s remaining
34
- autoRestoreSession: true // Automatically restore session on initialization
33
+ backgroundRefreshThreshold: 30 // Use background refresh if >30s remaining
35
34
  };
36
35
  /**
37
36
  * Internal function to construct API root from environment
@@ -341,8 +340,12 @@ class AuthService {
341
340
  await extendedProvider.setProviderToken(providerToken);
342
341
  }
343
342
  if (authType && extendedProvider.setAuthType) {
343
+ console.log('[AuthService] Storing auth type:', authType);
344
344
  await extendedProvider.setAuthType(authType);
345
345
  }
346
+ else {
347
+ console.warn('[AuthService] Auth type not stored - authType:', authType, 'has setAuthType:', !!extendedProvider.setAuthType);
348
+ }
346
349
  // Emit authenticated status on successful token storage
347
350
  await this.emitAuthStatus(exports.AuthStatus.AUTHENTICATED);
348
351
  }
@@ -361,8 +364,15 @@ class TokenRefreshManager {
361
364
  this.authService = authService;
362
365
  this.authProvider = authProvider;
363
366
  this.tokenRefreshMarginSeconds = 120; // 2 minutes
367
+ this.lastValidationTime = 0;
368
+ this.validationCacheDurationMs = 30000; // 30 seconds
364
369
  }
365
370
  async ensureValidToken() {
371
+ const now = Date.now();
372
+ // Skip validation if we checked recently (within cache duration)
373
+ if (now - this.lastValidationTime < this.validationCacheDurationMs) {
374
+ return;
375
+ }
366
376
  try {
367
377
  const token = await this.authProvider.getToken();
368
378
  if (!token) {
@@ -373,6 +383,14 @@ class TokenRefreshManager {
373
383
  if (!refreshSuccess) {
374
384
  await this.authService.handleAuthFailure();
375
385
  }
386
+ else {
387
+ // Update validation time on successful refresh
388
+ this.lastValidationTime = now;
389
+ }
390
+ }
391
+ else {
392
+ // Token is valid, update validation time
393
+ this.lastValidationTime = now;
376
394
  }
377
395
  }
378
396
  catch (error) {
@@ -456,42 +474,77 @@ class MemoryTokenStorage {
456
474
  }
457
475
  }
458
476
  /**
459
- * Token manager for authentication tokens
477
+ * Token manager for authentication tokens with memory caching
460
478
  */
461
479
  class AuthTokenManager {
462
480
  constructor(storage = new LocalStorageTokenStorage()) {
463
481
  this.storage = storage;
482
+ this.cache = {};
464
483
  }
465
484
  async getAccessToken() {
485
+ // Return cached value if available
486
+ if (this.cache.accessToken !== undefined) {
487
+ return this.cache.accessToken;
488
+ }
466
489
  const val = await this.storage.get(AUTH_STORAGE_KEYS.ACCESS_TOKEN);
467
490
  // Ensure we return string for tokens
468
- return typeof val === 'string' ? val : null;
491
+ const token = typeof val === 'string' ? val : null;
492
+ this.cache.accessToken = token;
493
+ return token;
469
494
  }
470
495
  async setAccessToken(token) {
496
+ this.cache.accessToken = token;
471
497
  await this.storage.set(AUTH_STORAGE_KEYS.ACCESS_TOKEN, token);
472
498
  }
473
499
  async getRefreshToken() {
500
+ // Return cached value if available
501
+ if (this.cache.refreshToken !== undefined) {
502
+ return this.cache.refreshToken;
503
+ }
474
504
  const val = await this.storage.get(AUTH_STORAGE_KEYS.REFRESH_TOKEN);
475
- return typeof val === 'string' ? val : null;
505
+ const token = typeof val === 'string' ? val : null;
506
+ this.cache.refreshToken = token;
507
+ return token;
476
508
  }
477
509
  async setRefreshToken(token) {
510
+ this.cache.refreshToken = token;
478
511
  await this.storage.set(AUTH_STORAGE_KEYS.REFRESH_TOKEN, token);
479
512
  }
480
513
  async getProviderToken() {
514
+ // Return cached value if available
515
+ if (this.cache.providerToken !== undefined) {
516
+ return this.cache.providerToken;
517
+ }
481
518
  const val = await this.storage.get(AUTH_STORAGE_KEYS.PROVIDER_TOKEN);
482
- return typeof val === 'string' ? val : null;
519
+ const token = typeof val === 'string' ? val : null;
520
+ this.cache.providerToken = token;
521
+ return token;
483
522
  }
484
523
  async setProviderToken(token) {
524
+ this.cache.providerToken = token;
485
525
  await this.storage.set(AUTH_STORAGE_KEYS.PROVIDER_TOKEN, token);
486
526
  }
487
527
  async getAuthType() {
528
+ // Return cached value if available
529
+ if (this.cache.authType !== undefined) {
530
+ return this.cache.authType;
531
+ }
488
532
  const authType = await this.storage.get(AUTH_STORAGE_KEYS.AUTH_TYPE);
489
- return typeof authType === 'string' ? authType : null;
533
+ const type = typeof authType === 'string' ? authType : null;
534
+ this.cache.authType = type;
535
+ return type;
490
536
  }
491
537
  async setAuthType(authType) {
538
+ this.cache.authType = authType;
492
539
  await this.storage.set(AUTH_STORAGE_KEYS.AUTH_TYPE, authType);
493
540
  }
494
541
  async setTokens(accessToken, refreshToken, providerToken) {
542
+ // Update cache for all tokens
543
+ this.cache.accessToken = accessToken;
544
+ if (refreshToken)
545
+ this.cache.refreshToken = refreshToken;
546
+ if (providerToken)
547
+ this.cache.providerToken = providerToken;
495
548
  await this.setAccessToken(accessToken);
496
549
  if (refreshToken)
497
550
  await this.setRefreshToken(refreshToken);
@@ -499,13 +552,23 @@ class AuthTokenManager {
499
552
  await this.setProviderToken(providerToken);
500
553
  }
501
554
  async clearAllTokens() {
555
+ // Clear cache
556
+ this.cache = {};
502
557
  await this.storage.clear();
503
558
  }
504
559
  async hasAccessToken() {
560
+ // Use cached value if available to avoid storage read
561
+ if (this.cache.accessToken !== undefined) {
562
+ return !!this.cache.accessToken;
563
+ }
505
564
  const token = await this.getAccessToken();
506
565
  return !!token;
507
566
  }
508
567
  async hasRefreshToken() {
568
+ // Use cached value if available to avoid storage read
569
+ if (this.cache.refreshToken !== undefined) {
570
+ return !!this.cache.refreshToken;
571
+ }
509
572
  const token = await this.getRefreshToken();
510
573
  return !!token;
511
574
  }
@@ -733,6 +796,7 @@ class DPoPManager {
733
796
  class DefaultAuthProvider {
734
797
  constructor(config = {}) {
735
798
  this.config = config;
799
+ this.authTypeCache = null;
736
800
  this.authType = config.authType || persShared.AccountOwnerType.USER;
737
801
  const storage = config.storage || this.createStorage();
738
802
  this.tokenManager = new AuthTokenManager(storage);
@@ -793,6 +857,15 @@ class DefaultAuthProvider {
793
857
  }
794
858
  async setAccessToken(token) {
795
859
  await this.tokenManager.setAccessToken(token);
860
+ // Invalidate cache when token changes
861
+ this.authTypeCache = null;
862
+ // Eager DPoP key generation after login
863
+ if (this.dpopManager) {
864
+ // Fire and forget - generate keys in background
865
+ this.dpopManager.ensureKeyPair().catch(err => {
866
+ console.warn('[DefaultAuthProvider] DPoP key generation failed:', err);
867
+ });
868
+ }
796
869
  }
797
870
  async setRefreshToken(token) {
798
871
  await this.tokenManager.setRefreshToken(token);
@@ -802,16 +875,51 @@ class DefaultAuthProvider {
802
875
  }
803
876
  async clearTokens() {
804
877
  await this.tokenManager.clearAllTokens();
878
+ // Invalidate cache on clear
879
+ this.authTypeCache = null;
805
880
  if (this.dpopManager) {
806
881
  await this.dpopManager.clearKeys();
807
882
  }
808
883
  }
809
884
  async setTokens(accessToken, refreshToken, providerToken) {
810
885
  await this.tokenManager.setTokens(accessToken, refreshToken, providerToken);
886
+ // Invalidate cache when tokens change
887
+ this.authTypeCache = null;
811
888
  }
812
889
  async hasValidToken() {
813
890
  return this.tokenManager.hasAccessToken();
814
891
  }
892
+ async getAuthType() {
893
+ // Read from JWT instead of separate storage for single source of truth
894
+ const token = await this.tokenManager.getAccessToken();
895
+ if (!token) {
896
+ this.authTypeCache = null;
897
+ return null;
898
+ }
899
+ // Return cached result if token hasn't changed
900
+ if (this.authTypeCache && this.authTypeCache.token === token) {
901
+ return this.authTypeCache.type;
902
+ }
903
+ try {
904
+ // Decode JWT payload (without verification - we just need to read the claim)
905
+ const parts = token.split('.');
906
+ if (parts.length !== 3) {
907
+ console.warn('[DefaultAuthProvider] Invalid JWT format');
908
+ return null;
909
+ }
910
+ const payloadJson = atob(parts[1]);
911
+ const payload = JSON.parse(payloadJson);
912
+ // Use accountOwnerType from AuthJWTPayload interface
913
+ const authType = payload.accountType || null;
914
+ // Cache result with token signature
915
+ this.authTypeCache = { token, type: authType };
916
+ return authType;
917
+ }
918
+ catch (error) {
919
+ console.warn('[DefaultAuthProvider] Failed to parse auth type from JWT:', error);
920
+ return null;
921
+ }
922
+ }
815
923
  }
816
924
 
817
925
  /**
@@ -6655,78 +6763,71 @@ class PersSDK {
6655
6763
  // Initialize event emitter and wire to API client for error events
6656
6764
  this._events = new PersEventEmitter();
6657
6765
  this.apiClient.setEvents(this._events);
6658
- // Initialize domain managers (pass events to managers that emit success events)
6659
- this._auth = new AuthManager(this.apiClient, this._events);
6660
- this._users = new UserManager(this.apiClient, this._events);
6661
- this._userStatus = new UserStatusManager(this.apiClient);
6662
- this._tokens = new TokenManager(this.apiClient);
6663
- this._businesses = new BusinessManager(this.apiClient, this._events);
6664
- this._campaigns = new CampaignManager(this.apiClient, this._events);
6665
- this._redemptions = new RedemptionManager(this.apiClient, this._events);
6666
- this._transactions = new TransactionManager(this.apiClient, this._events);
6667
- this._purchases = new PurchaseManager(this.apiClient);
6668
- this._files = new FileManager(this.apiClient);
6669
- this._tenants = new TenantManager(this.apiClient);
6670
- this._apiKeys = new ApiKeyManager(this.apiClient);
6671
- this._analytics = new AnalyticsManager(this.apiClient);
6672
- this._donations = new DonationManager(this.apiClient);
6673
- // Automatically restore session if enabled and tokens exist
6674
- if (config.autoRestoreSession !== false) {
6675
- this.restoreSessionIfTokensExist().catch(err => {
6676
- console.warn('[PersSDK] Failed to restore session on initialization:', err);
6677
- });
6678
- }
6679
6766
  }
6680
6767
  /**
6681
- * Restore user session if valid tokens exist in storage
6768
+ * Restore user session from stored tokens
6769
+ *
6770
+ * Call this method after SDK initialization to restore the user's session
6771
+ * if valid tokens exist. This is useful for maintaining login state across
6772
+ * app restarts.
6682
6773
  *
6683
- * This method is called automatically during SDK initialization when
6684
- * `autoRestoreSession` is enabled (default). It checks for stored tokens
6685
- * and fetches user data to restore the authentication state.
6774
+ * **Important:** Only works for USER and BUSINESS accounts. Admin/tenant
6775
+ * accounts don't support user data fetching, so this will return null for them
6776
+ * (though their tokens remain valid for API calls).
6686
6777
  *
6687
6778
  * Emits auth domain success event when session is restored.
6688
6779
  *
6689
- * @internal
6690
- * @returns Promise that resolves when session is restored or determined to be invalid
6780
+ * @returns Promise resolving to User data if session restored, null if no session or admin account
6781
+ * @throws {PersError} If token validation or user fetch fails
6782
+ *
6783
+ * @example
6784
+ * ```typescript
6785
+ * // Call after initial render for better perceived performance
6786
+ * const user = await sdk.restoreSession();
6787
+ * if (user) {
6788
+ * console.log('Welcome back,', user.name);
6789
+ * }
6790
+ * ```
6691
6791
  */
6692
- async restoreSessionIfTokensExist() {
6693
- try {
6694
- const hasToken = await this._auth.hasValidAuth();
6695
- if (hasToken) {
6696
- console.log('[PersSDK] Valid tokens found, restoring session...');
6697
- try {
6698
- // Fetch user data to validate tokens and restore session
6699
- const userData = await this._auth.getCurrentUser();
6700
- console.log('[PersSDK] Session restored successfully');
6701
- // Emit event through proper event emitter
6702
- // Send minimal data (just userId) - consumers can fetch full user if needed
6703
- this._events.emitSuccess({
6704
- type: 'session_restored',
6705
- domain: 'authentication',
6706
- userMessage: 'Session restored successfully',
6707
- details: { userId: userData.id }
6708
- });
6709
- }
6710
- catch (error) {
6711
- // Tokens exist but are invalid (expired, revoked, etc.)
6712
- console.warn('[PersSDK] Failed to restore session, tokens may be invalid:', error);
6713
- await this._auth.clearAuth();
6714
- // Emit restoration failed event
6715
- this._events.emitError({
6716
- type: 'session_restoration_failed',
6717
- domain: 'authentication',
6718
- userMessage: 'Session restoration failed',
6719
- code: 'SESSION_INVALID',
6720
- details: { error }
6721
- });
6722
- }
6723
- }
6724
- else {
6725
- console.log('[PersSDK] No valid tokens found');
6792
+ async restoreSession() {
6793
+ const hasToken = await this.auth.hasValidAuth();
6794
+ if (!hasToken) {
6795
+ return null;
6796
+ }
6797
+ // Check auth type - only restore session for user and business accounts
6798
+ const authProvider = this.apiClient.getConfig().authProvider;
6799
+ if (authProvider?.getAuthType) {
6800
+ const authType = await authProvider.getAuthType();
6801
+ if (authType === persShared.AccountOwnerType.TENANT) {
6802
+ // Admin sessions don't support getCurrentUser(), skip restoration
6803
+ // Tokens are valid and will be used for API calls
6804
+ return null;
6726
6805
  }
6727
6806
  }
6807
+ try {
6808
+ // Fetch user data to validate tokens and restore session
6809
+ const userData = await this.auth.getCurrentUser();
6810
+ // Emit event through proper event emitter
6811
+ this._events.emitSuccess({
6812
+ type: 'session_restored',
6813
+ domain: 'authentication',
6814
+ userMessage: 'Session restored successfully',
6815
+ details: { userId: userData.id }
6816
+ });
6817
+ return userData;
6818
+ }
6728
6819
  catch (error) {
6729
- console.warn('[PersSDK] Error during session restoration:', error);
6820
+ // Tokens exist but are invalid (expired, revoked, etc.)
6821
+ await this.auth.clearAuth();
6822
+ // Emit restoration failed event
6823
+ this._events.emitError({
6824
+ type: 'session_restoration_failed',
6825
+ domain: 'authentication',
6826
+ userMessage: 'Session restoration failed',
6827
+ code: 'SESSION_INVALID',
6828
+ details: { error }
6829
+ });
6830
+ throw error;
6730
6831
  }
6731
6832
  }
6732
6833
  /**
@@ -6815,6 +6916,9 @@ class PersSDK {
6815
6916
  * @see {@link AuthManager} for detailed documentation
6816
6917
  */
6817
6918
  get auth() {
6919
+ if (!this._auth) {
6920
+ this._auth = new AuthManager(this.apiClient, this._events);
6921
+ }
6818
6922
  return this._auth;
6819
6923
  }
6820
6924
  /**
@@ -6828,6 +6932,9 @@ class PersSDK {
6828
6932
  * ```
6829
6933
  */
6830
6934
  get users() {
6935
+ if (!this._users) {
6936
+ this._users = new UserManager(this.apiClient, this._events);
6937
+ }
6831
6938
  return this._users;
6832
6939
  }
6833
6940
  /**
@@ -6841,6 +6948,9 @@ class PersSDK {
6841
6948
  * ```
6842
6949
  */
6843
6950
  get userStatus() {
6951
+ if (!this._userStatus) {
6952
+ this._userStatus = new UserStatusManager(this.apiClient);
6953
+ }
6844
6954
  return this._userStatus;
6845
6955
  }
6846
6956
  /**
@@ -6854,6 +6964,9 @@ class PersSDK {
6854
6964
  * ```
6855
6965
  */
6856
6966
  get tokens() {
6967
+ if (!this._tokens) {
6968
+ this._tokens = new TokenManager(this.apiClient);
6969
+ }
6857
6970
  return this._tokens;
6858
6971
  }
6859
6972
  /**
@@ -6867,6 +6980,9 @@ class PersSDK {
6867
6980
  * ```
6868
6981
  */
6869
6982
  get businesses() {
6983
+ if (!this._businesses) {
6984
+ this._businesses = new BusinessManager(this.apiClient, this._events);
6985
+ }
6870
6986
  return this._businesses;
6871
6987
  }
6872
6988
  /**
@@ -6880,6 +6996,9 @@ class PersSDK {
6880
6996
  * ```
6881
6997
  */
6882
6998
  get campaigns() {
6999
+ if (!this._campaigns) {
7000
+ this._campaigns = new CampaignManager(this.apiClient, this._events);
7001
+ }
6883
7002
  return this._campaigns;
6884
7003
  }
6885
7004
  /**
@@ -6893,6 +7012,9 @@ class PersSDK {
6893
7012
  * ```
6894
7013
  */
6895
7014
  get redemptions() {
7015
+ if (!this._redemptions) {
7016
+ this._redemptions = new RedemptionManager(this.apiClient, this._events);
7017
+ }
6896
7018
  return this._redemptions;
6897
7019
  }
6898
7020
  /**
@@ -6906,6 +7028,9 @@ class PersSDK {
6906
7028
  * ```
6907
7029
  */
6908
7030
  get transactions() {
7031
+ if (!this._transactions) {
7032
+ this._transactions = new TransactionManager(this.apiClient, this._events);
7033
+ }
6909
7034
  return this._transactions;
6910
7035
  }
6911
7036
  /**
@@ -6919,6 +7044,9 @@ class PersSDK {
6919
7044
  * ```
6920
7045
  */
6921
7046
  get purchases() {
7047
+ if (!this._purchases) {
7048
+ this._purchases = new PurchaseManager(this.apiClient);
7049
+ }
6922
7050
  return this._purchases;
6923
7051
  }
6924
7052
  /**
@@ -6932,6 +7060,9 @@ class PersSDK {
6932
7060
  * ```
6933
7061
  */
6934
7062
  get files() {
7063
+ if (!this._files) {
7064
+ this._files = new FileManager(this.apiClient);
7065
+ }
6935
7066
  return this._files;
6936
7067
  }
6937
7068
  /**
@@ -6945,6 +7076,9 @@ class PersSDK {
6945
7076
  * ```
6946
7077
  */
6947
7078
  get tenants() {
7079
+ if (!this._tenants) {
7080
+ this._tenants = new TenantManager(this.apiClient);
7081
+ }
6948
7082
  return this._tenants;
6949
7083
  }
6950
7084
  /**
@@ -6969,6 +7103,9 @@ class PersSDK {
6969
7103
  * ```
6970
7104
  */
6971
7105
  get apiKeys() {
7106
+ if (!this._apiKeys) {
7107
+ this._apiKeys = new ApiKeyManager(this.apiClient);
7108
+ }
6972
7109
  return this._apiKeys;
6973
7110
  }
6974
7111
  /**
@@ -6980,6 +7117,9 @@ class PersSDK {
6980
7117
  * ```
6981
7118
  */
6982
7119
  get analytics() {
7120
+ if (!this._analytics) {
7121
+ this._analytics = new AnalyticsManager(this.apiClient);
7122
+ }
6983
7123
  return this._analytics;
6984
7124
  }
6985
7125
  /**
@@ -6991,6 +7131,9 @@ class PersSDK {
6991
7131
  * ```
6992
7132
  */
6993
7133
  get donations() {
7134
+ if (!this._donations) {
7135
+ this._donations = new DonationManager(this.apiClient);
7136
+ }
6994
7137
  return this._donations;
6995
7138
  }
6996
7139
  /**
@@ -7080,4 +7223,4 @@ exports.WebDPoPCryptoProvider = WebDPoPCryptoProvider;
7080
7223
  exports.buildApiRoot = buildApiRoot;
7081
7224
  exports.createPersSDK = createPersSDK;
7082
7225
  exports.mergeWithDefaults = mergeWithDefaults;
7083
- //# sourceMappingURL=pers-sdk-D5lE9ZFW.cjs.map
7226
+ //# sourceMappingURL=pers-sdk-BQw3QUWR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pers-sdk-BQw3QUWR.cjs","sources":["../../src/core/pers-config.ts","../../src/core/auth/api/auth-api.ts","../../src/core/auth/auth-status.ts","../../src/core/auth/services/auth-service.ts","../../src/core/auth/refresh-manager.ts","../../src/core/auth/token-storage.ts","../../src/core/auth/dpop/web-crypto-dpop-provider.ts","../../src/core/auth/dpop/dpop-manager.ts","../../src/core/auth/default-auth-provider.ts","../../src/core/version.ts","../../src/core/pers-api-client.ts","../../src/core/auth/static-jwt-auth-provider.ts","../../src/core/events/event-emitter.ts","../../src/managers/auth-manager.ts","../../src/managers/user-manager.ts","../../src/managers/user-status-manager.ts","../../src/managers/token-manager.ts","../../src/managers/business-manager.ts","../../src/managers/campaign-manager.ts","../../src/managers/redemption-manager.ts","../../src/managers/transaction-manager.ts","../../src/managers/purchase-manager.ts","../../src/file/api/file-api.ts","../../src/file/services/file-service.ts","../../src/managers/file-manager.ts","../../src/managers/tenant-manager.ts","../../src/api-key/api/api-key-api.ts","../../src/managers/api-key-manager.ts","../../src/managers/analytics-manager.ts","../../src/managers/donation-manager.ts","../../src/pers-sdk.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["AccountOwnerType","AuthStatus","isTokenExpired","ErrorUtils","AuthenticationError","PersApiError","UserApi","UserService","createUserStatusSDK","TokenApi","TokenService","BusinessApi","BusinessService","BusinessMembershipApi","BusinessMembershipService","MembershipRole","CampaignApi","CampaignService","RedemptionApi","RedemptionService","TransactionApi","TransactionService","PaymentApi","PaymentService","TenantApi","TenantService","buildPaginationParams","normalizeToPaginated","AnalyticsApi","AnalyticsService","DonationApi","DonationService"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;AA4EH;;AAEG;AACI,MAAM,mBAAmB,GAAG;AACjC,IAAA,WAAW,EAAE,YAAqB;AAClC,IAAA,UAAU,EAAE,IAAa;AACzB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,CAAC;IACV,kBAAkB,EAAE,EAAE;IACtB,0BAA0B,EAAE,EAAE;;AAGhC;;;AAGG;SACa,YAAY,CAC1B,cAAwD,YAAY,EACpE,UAAgB,IAAI,EAAA;AAEpB,IAAA,MAAM,QAAQ,GAAG;AACf,QAAA,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,CAAA,2BAAA,EAA8B,OAAO,CAAA,CAAE;QAChD,UAAU,EAAE,CAAA,uBAAA,EAA0B,OAAO,CAAA;KAC9C;AAED,IAAA,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE;AACnC;AAEA;;AAEG;AACG,SAAU,iBAAiB,CAAC,MAAkB,EAAA;IAClD,OAAO;AACL,QAAA,GAAG,mBAAmB;AACtB,QAAA,GAAG,MAAM;AACT,QAAA,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,mBAAmB,CAAC,WAAW;AAClE,QAAA,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,mBAAmB,CAAC,UAAU;AAC/D,QAAA,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,mBAAmB,CAAC,OAAO;AACtD,QAAA,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,mBAAmB,CAAC;KAChD;AACH;;AC1HA;;;;;;;;AAQG;MAkBU,OAAO,CAAA;AAGlB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;QAFZ,IAAA,CAAA,QAAQ,GAAG,OAAO;IAEY;AAE/C;;AAEG;IACH,MAAM,gBAAgB,CAAC,GAAW,EAAA;AAChC,QAAA,MAAM,IAAI,GAA0B;AAClC,YAAA,SAAS,EAAE,GAAG;YACd,QAAQ,EAAEA,2BAAgB,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAgC,CAAA,EAAG,IAAI,CAAC,QAAQ,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACjH;AAEA;;AAEG;IACH,MAAM,SAAS,CAAC,GAAW,EAAA;AACzB,QAAA,MAAM,IAAI,GAA0B;AAClC,YAAA,SAAS,EAAE,GAAG;YACd,QAAQ,EAAEA,2BAAgB,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAgC,CAAA,EAAG,IAAI,CAAC,QAAQ,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACjH;AAEA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACH,IAAA,MAAM,aAAa,CAAC,GAAW,EAAE,OAA6B,EAAA;AAC5D,QAAA,MAAM,IAAI,GAA0B;AAClC,YAAA,SAAS,EAAE,GAAG;YACd,QAAQ,EAAEA,2BAAgB,CAAC,QAAQ;AACnC,YAAA,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG;SACrE;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAgC,CAAA,EAAG,IAAI,CAAC,QAAQ,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACjH;AAEA;;AAEG;IACH,MAAM,oBAAoB,CAAC,YAAiC,EAAA;AAC1D,QAAA,MAAM,IAAI,GAA0B;AAClC,YAAA,SAAS,EAAE,EAAE;YACb,QAAQ,EAAEA,2BAAgB,CAAC,IAAI;YAC/B;SACD;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAgC,CAAA,EAAG,IAAI,CAAC,QAAQ,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACjH;AAEA;;AAEG;IACH,MAAM,kBAAkB,CAAC,YAAoB,EAAA;QAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAyB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,QAAA,CAAU,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAChJ;AACD;;ACtGD;;;AAGG;AACSC;AAAZ,CAAA,UAAY,UAAU,EAAA;;AAEpB,IAAA,UAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;;AAG/B,IAAA,UAAA,CAAA,eAAA,CAAA,GAAA,eAA+B;;AAG/B,IAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;;AAG3B,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;;AAGzB,IAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;;AAGnC,IAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC;;AAGrC,IAAA,UAAA,CAAA,4BAAA,CAAA,GAAA,4BAAyD;AAC3D,CAAC,EArBWA,kBAAU,KAAVA,kBAAU,GAAA,EAAA,CAAA,CAAA;;ACiBtB;;;AAGG;MACU,WAAW,CAAA;IAItB,WAAA,CACU,OAAgB,EAChB,YAAmC,EAAA;QADnC,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,YAAY,GAAZ,YAAY;QALd,IAAA,CAAA,oBAAoB,GAA2C,IAAI;AACnE,QAAA,IAAA,CAAA,iBAAiB,GAAGA,kBAAU,CAAC,eAAe;IAMtD;AAEA;;AAEG;IACK,MAAM,cAAc,CAAC,MAAkB,EAAA;AAC7C,QAAA,IAAI,IAAI,CAAC,iBAAiB,KAAK,MAAM;AAAE,YAAA,OAAO;AAE9C,QAAA,IAAI,CAAC,iBAAiB,GAAG,MAAM;AAE/B,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,OAAQ,IAAI,CAAC,YAAoB,CAAC,kBAAkB,KAAK,UAAU,EAAE;AAC5F,YAAA,IAAI;gBACF,MAAO,IAAI,CAAC,YAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC7D;YAAE,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,KAAK,CAAC;YAC1E;QACF;IACF;;;;AAMA;;AAEG;IACH,MAAM,gBAAgB,CAAC,GAAW,EAAA;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC;QAEzD,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,EAAE;AAC7C,YAAA,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAED,2BAAgB,CAAC,MAAM,EAAE,GAAG,CAAC;QACnG;AAEA,QAAA,OAAO,QAAQ;IACjB;AAEA;;AAEG;IACH,MAAM,SAAS,CAAC,GAAW,EAAA;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;QAElD,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,EAAE;AAC7C,YAAA,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAEA,2BAAgB,CAAC,IAAI,EAAE,GAAG,CAAC;QACjG;AAEA,QAAA,OAAO,QAAQ;IACjB;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACH,IAAA,MAAM,aAAa,CAAC,GAAW,EAAE,OAA6B,EAAA;AAC5D,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC;QAE/D,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,EAAE;AAC7C,YAAA,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAEA,2BAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC;QACrG;AAEA,QAAA,OAAO,QAAQ;IACjB;AAEA;;AAEG;IACH,MAAM,oBAAoB,CAAC,YAAyB,EAAA;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC;QAEtE,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,EAAE;AAC7C,YAAA,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,EAAEA,2BAAgB,CAAC,IAAI,CAAC;QAC5F;AAEA,QAAA,OAAO,QAAQ;IACjB;AAEA;;AAEG;IACH,MAAM,kBAAkB,CAAC,YAAqB,EAAA;QAC5C,IAAI,IAAI,CAAC,iBAAiB,KAAKC,kBAAU,CAAC,WAAW,EAAE;AACrD,YAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;QACpE;AAEA,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,YAAA,OAAO,MAAM,IAAI,CAAC,oBAAoB;QACxC;;QAGA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;AAE7D,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,oBAAoB;QACxC;gBAAU;AACR,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;QAClC;IACF;AAEA;;AAEG;IACK,MAAM,cAAc,CAAC,YAAqB,EAAA;QAC9C,MAAM,UAAU,GAAG,YAAY,KAAK,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC;QAEzG,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC;QACjE;QAEA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC;QAElE,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,EAAE;AAC7C,YAAA,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC;QACrE;AAEA,QAAA,OAAO,QAAQ;IACnB;AAEA;;AAEG;AACH,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;AAEhC,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;QACvC;IACF;AAEA;;;AAGG;AACH,IAAA,MAAM,iBAAiB,GAAA;QACrB,IAAI,IAAI,CAAC,iBAAiB,KAAKA,kBAAU,CAAC,WAAW,EAAE;YACrD;QACF;;AAGA,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;;AAGhC,QAAA,MAAM,IAAI,CAAC,WAAW,EAAE;;QAGxB,MAAM,IAAI,CAAC,cAAc,CAACA,kBAAU,CAAC,WAAW,CAAC;IACnD;AAEA;;AAEG;AACH,IAAA,MAAM,YAAY,GAAA;QAChB,IAAI,CAAC,IAAI,CAAC,YAAY;AAAE,YAAA,OAAO,KAAK;QACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;QAChD,OAAO,CAAC,CAAC,KAAK;IAChB;;;;AAMA;;AAEG;IACK,MAAM,WAAW,CACvB,WAAmB,EACnB,YAAqB,EACrB,QAA2B,EAC3B,aAAsB,EAAA;QAEtB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE;AAExB,QAAA,IAAI;YACF,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC;YAEnD,IAAI,YAAY,EAAE;gBAChB,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC;YACvD;;AAGA,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAiF;AAE/G,YAAA,IAAI,aAAa,IAAI,gBAAgB,CAAC,gBAAgB,EAAE;AACtD,gBAAA,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,aAAa,CAAC;YACxD;AAEA,YAAA,IAAI,QAAQ,IAAI,gBAAgB,CAAC,WAAW,EAAE;AAC5C,gBAAA,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,QAAQ,CAAC;AACzD,gBAAA,MAAM,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC9C;iBAAO;AACL,gBAAA,OAAO,CAAC,IAAI,CAAC,gDAAgD,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC;YAC9H;;YAGA,MAAM,IAAI,CAAC,cAAc,CAACA,kBAAU,CAAC,aAAa,CAAC;QACrD;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC;QAC9D;IACF;AACD;;AC3PD;;;AAGG;MAMU,mBAAmB,CAAA;IAK9B,WAAA,CACU,WAAwB,EACxB,YAA8B,EAAA;QAD9B,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,YAAY,GAAZ,YAAY;AANL,QAAA,IAAA,CAAA,yBAAyB,GAAG,GAAG,CAAC;QACzC,IAAA,CAAA,kBAAkB,GAAW,CAAC;AACrB,QAAA,IAAA,CAAA,yBAAyB,GAAG,KAAK,CAAC;IAKhD;AAEH,IAAA,MAAM,gBAAgB,GAAA;AACpB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;;QAGtB,IAAI,GAAG,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,EAAE;YAClE;QACF;AAEA,QAAA,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAEhD,IAAI,CAAC,KAAK,EAAE;gBACV;YACF;YAEA,IAAIC,oBAAc,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,EAAE;AACzD,gBAAA,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE;gBAC1D,IAAI,CAAC,cAAc,EAAE;AACnB,oBAAA,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;gBAC5C;qBAAO;;AAEL,oBAAA,IAAI,CAAC,kBAAkB,GAAG,GAAG;gBAC/B;YACF;iBAAO;;AAEL,gBAAA,IAAI,CAAC,kBAAkB,GAAG,GAAG;YAC/B;QACF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;QAC5C;IACF;AAEA,IAAA,MAAM,sBAAsB,GAAA;AAC1B,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE;AAC3C,YAAA,OAAO,IAAI;QACb;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,MAAM,WAAW,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,IAAK,KAAa,CAAC,MAAM,KAAK,GAAG;YAC5G,IAAI,WAAW,EAAE;AACf,gBAAA,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YAC5C;AACA,YAAA,OAAO,KAAK;QACd;IACF;AACD;;AC/DD;;;AAGG;AAII,MAAM,iBAAiB,GAAG;AAC/B,IAAA,YAAY,EAAE,mBAAmB;AACjC,IAAA,aAAa,EAAE,oBAAoB;AACnC,IAAA,cAAc,EAAE,qBAAqB;AACrC,IAAA,SAAS,EAAE,gBAAgB;;AAmB7B;;;AAGG;MACU,wBAAwB,CAAA;AAArC,IAAA,WAAA,GAAA;QACW,IAAA,CAAA,eAAe,GAAG,KAAK;IA0BlC;IAxBE,MAAM,GAAG,CAAC,GAAW,EAAA;AACnB,QAAA,OAAO,OAAO,YAAY,KAAK,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI;IAC/E;AAEA,IAAA,MAAM,GAAG,CAAC,GAAW,EAAE,KAAc,EAAA;AACnC,QAAA,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;AACvC,YAAA,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC7E,YAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC;QACxC;IACF;IAEA,MAAM,MAAM,CAAC,GAAW,EAAA;AACtB,QAAA,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;AACvC,YAAA,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;QAC9B;IACF;AAEA,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE;YACvC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AAC7C,gBAAA,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;AAC9B,YAAA,CAAC,CAAC;QACJ;IACF;AACD;AAED;;AAEG;MACU,kBAAkB,CAAA;AAA/B,IAAA,WAAA,GAAA;QACW,IAAA,CAAA,eAAe,GAAG,IAAI;AACvB,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,GAAG,EAAmB;IAiB5C;IAfE,MAAM,GAAG,CAAC,GAAW,EAAA;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI;IACpC;AAEA,IAAA,MAAM,GAAG,CAAC,GAAW,EAAE,KAAc,EAAA;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;IAC5B;IAEA,MAAM,MAAM,CAAC,GAAW,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;IACxB;AAEA,IAAA,MAAM,KAAK,GAAA;AACT,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;IACpB;AACD;AAED;;AAEG;MACU,gBAAgB,CAAA;IAQ3B,WAAA,CAAoB,OAAA,GAAwB,IAAI,wBAAwB,EAAE,EAAA;QAAtD,IAAA,CAAA,OAAO,GAAP,OAAO;QAPnB,IAAA,CAAA,KAAK,GAKT,EAAE;IAEuE;AAE7E,IAAA,MAAM,cAAc,GAAA;;QAElB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE;AACxC,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW;QAC/B;AAEA,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,YAAY,CAAC;;AAElE,QAAA,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,IAAI;AAClD,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK;AAC9B,QAAA,OAAO,KAAK;IACd;IAEA,MAAM,cAAc,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK;AAC9B,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC;IAC/D;AAEA,IAAA,MAAM,eAAe,GAAA;;QAEnB,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE;AACzC,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY;QAChC;AAEA,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC;AACnE,QAAA,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,IAAI;AAClD,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK;AAC/B,QAAA,OAAO,KAAK;IACd;IAEA,MAAM,eAAe,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK;AAC/B,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,CAAC;IAChE;AAEA,IAAA,MAAM,gBAAgB,GAAA;;QAEpB,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE;AAC1C,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa;QACjC;AAEA,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC;AACpE,QAAA,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,IAAI;AAClD,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK;AAChC,QAAA,OAAO,KAAK;IACd;IAEA,MAAM,gBAAgB,CAAC,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK;AAChC,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,CAAC;IACjE;AAEA,IAAA,MAAM,WAAW,GAAA;;QAEf,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE;AACrC,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ;QAC5B;AAEA,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC;AACpE,QAAA,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,GAAI,QAA6B,GAAG,IAAI;AACjF,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI;AAC1B,QAAA,OAAO,IAAI;IACb;IAEA,MAAM,WAAW,CAAC,QAA0B,EAAA;AAC1C,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ;AAC9B,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC/D;AAEA,IAAA,MAAM,SAAS,CAAC,WAAmB,EAAE,YAAqB,EAAE,aAAsB,EAAA;;AAEhF,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW;AACpC,QAAA,IAAI,YAAY;AAAE,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,YAAY;AACxD,QAAA,IAAI,aAAa;AAAE,YAAA,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa;AAE3D,QAAA,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;AACtC,QAAA,IAAI,YAAY;AAAE,YAAA,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;AAC1D,QAAA,IAAI,aAAa;AAAE,YAAA,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;IAC/D;AAEA,IAAA,MAAM,cAAc,GAAA;;AAElB,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE;AACf,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;IAC5B;AAEA,IAAA,MAAM,cAAc,GAAA;;QAElB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE;AACxC,YAAA,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW;QACjC;AACA,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE;QACzC,OAAO,CAAC,CAAC,KAAK;IAChB;AAEA,IAAA,MAAM,eAAe,GAAA;;QAEnB,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE;AACzC,YAAA,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY;QAClC;AACA,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE;QAC1C,OAAO,CAAC,CAAC,KAAK;IAChB;AACD;;MCzMY,qBAAqB,CAAA;AAChC,IAAA,IAAY,MAAM,GAAA;;QAEhB,IAAI,OAAO,MAAM,KAAK,WAAW;AAAE,YAAA,OAAO,MAAM;AAChD,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC,MAAM;AACxE,QAAA,IAAI,OAAO,UAAU,KAAK,WAAW,IAAK,UAAkB,CAAC,MAAM;YAAE,OAAQ,UAAkB,CAAC,MAAM;AACtG,QAAA,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC;IAClH;IAEA,MAAM,eAAe,CAAC,OAAmC,EAAA;AACvD,QAAA,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI;QAEhD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAClD;AACE,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,UAAU,EAAE,OAAO;SACpB,EACD,WAAW;AACX,QAAA,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB;AAED,QAAA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;;;;;;;;;;;AAc9E,QAAA,IAAI,UAAe;QACnB,IAAI,WAAW,EAAE;AACd,YAAA,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC;QAC7E;aAAO;AACJ,YAAA,UAAU,GAAG,OAAO,CAAC,UAAU;QAClC;AAEA,QAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE;IAClC;AAEA,IAAA,MAAM,SAAS,CAAC,OAA4B,EAAE,OAAoB,EAAA;;AAEhE,QAAA,MAAM,MAAM,GAAG;AACb,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,OAAO,CAAC;SACd;;;AAID,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,GAAG,OAAO;AACV,YAAA,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACjD,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY;SACtC;;AAGD,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAClE,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AACzE,QAAA,MAAM,YAAY,GAAG,CAAA,EAAG,aAAa,CAAA,CAAA,EAAI,cAAc,EAAE;;AAGzD,QAAA,IAAI,UAAqB;;;AAIzB,QAAA,IAAK,OAAO,CAAC,UAAwB,CAAC,SAAS,EAAE;AAC7C,YAAA,UAAU,GAAG,OAAO,CAAC,UAAuB;QAChD;aAAO;;AAEH,YAAA,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAC7C,KAAK,EACL,OAAO,CAAC,UAAwB,EAChC;AACE,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,UAAU,EAAE,OAAO;AACpB,aAAA,EACD,KAAK,EACL,CAAC,MAAM,CAAC,CACT;QACL;;QAGA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACnD;AACE,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC1B,EACD,UAAU,EACV,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CACvC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC;AAEpE,QAAA,OAAO,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,gBAAgB,EAAE;IAC9C;IAEA,MAAM,eAAe,CAAC,WAAmB,EAAA;AACvC,QAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;AACxC,QAAA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;AACnE,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC;IAC/C;;IAIQ,YAAY,GAAA;QAClB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE;AACtD,YAAA,OAAO,MAAM,CAAC,UAAU,EAAE;QAC5B;;QAEA,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,KAAI;AACnE,YAAA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;AAClC,YAAA,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG;AACzC,YAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACvB,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,eAAe,CAAC,GAAW,EAAA;;AAEjC,QAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;QACjC,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxD;AAEQ,IAAA,qBAAqB,CAAC,MAAgC,EAAA;AAC5D,QAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC;QACpC,IAAI,MAAM,GAAG,EAAE;AACf,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU;;AAE5B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C;;;;QAKA,IAAI,MAAM,GAAG,EAAE;AACf,QAAA,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAC5B,YAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB;AAAO,aAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACtC,YAAA,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7D;aAAO;AACH,YAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;QACxE;AAEA,QAAA,OAAO;AACJ,aAAA,OAAO,CAAC,KAAK,EAAE,GAAG;AAClB,aAAA,OAAO,CAAC,KAAK,EAAE,GAAG;AAClB,aAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACvB;AACD;;ACzJM,MAAM,iBAAiB,GAAG;AAC/B,IAAA,MAAM,EAAE,sBAAsB;AAC9B,IAAA,OAAO,EAAE;;MAGE,WAAW,CAAA;IAItB,WAAA,CACU,OAAqB,EAC7B,cAAmC,EAAA;QAD3B,IAAA,CAAA,OAAO,GAAP,OAAO;QAHT,IAAA,CAAA,aAAa,GAAuB,IAAI;QAM9C,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,qBAAqB,EAAE;IACrE;AAEA;;AAEG;AACH,IAAA,MAAM,aAAa,GAAA;QACjB,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,aAAa;AAEjD,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACrE,QAAA,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC;AAEvE,QAAA,IAAI,YAAY,IAAI,aAAa,EAAE;AACjC,YAAA,IAAI;;AAEF,gBAAA,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,YAAY;AAC5F,gBAAA,MAAM,UAAU,GAAG,OAAO,aAAa,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,aAAa;gBAEhG,IAAI,CAAC,aAAa,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE;gBAC9C,OAAO,IAAI,CAAC,aAAc;YAC5B;YAAE,OAAO,CAAC,EAAE;AACV,gBAAA,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC;YAC/D;QACF;;;;;QAMA,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe;QAEtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;YACtD,WAAW,EAAE,CAAC;AACjB,SAAA,CAAC;;AAGF,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC;AACnE,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;AAErE,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO;AAC5B,QAAA,OAAO,OAAO;IAChB;AAEA;;;;;AAKG;AACH,IAAA,MAAM,mBAAmB,CAAC,MAAc,EAAE,GAAW,EAAE,WAAoB,EAAA;AACzE,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE;AAE1C,QAAA,MAAM,OAAO,GAAQ;AACnB,YAAA,GAAG,EAAE,MAAM;AACX,YAAA,GAAG,EAAE,GAAG;SACT;QAED,IAAI,WAAW,EAAE;AACf,YAAA,OAAO,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW,CAAC;QACtE;QAEA,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IACxD;AAEA;;AAEG;AACH,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;QACzB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACnD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;IACtD;AAEA;;AAEG;AACH,IAAA,MAAM,YAAY,GAAA;AACd,QAAA,IAAI;AACA,YAAA,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE;YACrC,OAAO,EAAE,CAAC,SAAS;QACvB;AAAE,QAAA,MAAM;AACJ,YAAA,OAAO,IAAI;QACf;IACJ;AACD;;ACrGD;;;AAGG;AAQH;;AAEG;MACU,mBAAmB,CAAA;AAM9B,IAAA,WAAA,CAAoB,SAAqB,EAAE,EAAA;QAAvB,IAAA,CAAA,MAAM,GAAN,MAAM;QAFlB,IAAA,CAAA,aAAa,GAA4D,IAAI;QAGnF,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAIF,2BAAgB,CAAC,IAAI;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC;AAEjD,QAAA,IAAI,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE;AACxB,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;QACzE;IACF;IAEQ,aAAa,GAAA;QACnB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,YAAY,KAAK;cAC5D,IAAI,kBAAkB;AACxB,cAAE,IAAI,wBAAwB,EAAE;IACpC;IAEA,QAAQ,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;IAC3C;AAEA,IAAA,MAAM,cAAc,CAAC,KAAoB,EAAE,MAAe,EAAE,GAAY,EAAA;QACrE,MAAM,OAAO,GAA2B,EAAE;QAE1C,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,IAAI,GAAG,EAAE;;;;AAIrC,YAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,SAAS,CAAC;AACzF,YAAA,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK;YAEvB,IAAI,KAAK,EAAE;AACP,gBAAA,OAAO,CAAC,eAAe,CAAC,GAAG,CAAA,KAAA,EAAQ,KAAK,EAAE;YAC9C;QACF;aAAO;;YAEL,IAAI,KAAK,EAAE;AACP,gBAAA,OAAO,CAAC,eAAe,CAAC,GAAG,CAAA,OAAA,EAAU,KAAK,EAAE;YAChD;QACF;AAEA,QAAA,OAAO,OAAO;IACjB;AAEA,IAAA,MAAM,aAAa,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI;IACvC;IAEA,MAAM,kBAAkB,CAAC,MAAkB,EAAA;AACzC,QAAA,IAAI;;AAEF,YAAA,IAAI,MAAM,KAAKC,kBAAU,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;gBACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;gBAClD,IAAI,QAAQ,EAAE;oBACZ,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC;;gBAElD;YACF;;AAGA,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBAClC,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC9C;QAEF;QAAE,OAAO,KAAK,EAAE;;AAEd,YAAA,MAAM,KAAK;QACb;IACF;IAEA,MAAM,cAAc,CAAC,KAAa,EAAA;QAChC,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC;;AAE7C,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;;AAGzB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;;YAEpB,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,IAAG;AAC3C,gBAAA,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,GAAG,CAAC;AACxE,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,MAAM,eAAe,CAAC,KAAa,EAAA;QACjC,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;IAChD;AAEA,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;IAC5C;AAEA,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;;AAExC,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACzB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;QACpC;IACF;AAEA,IAAA,MAAM,SAAS,CAAC,WAAmB,EAAE,YAAqB,EAAE,aAAsB,EAAA;AAChF,QAAA,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC;;AAE3E,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;IAC3B;AAEA,IAAA,MAAM,aAAa,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;IAC3C;AAEA,IAAA,MAAM,WAAW,GAAA;;QAEf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;QACtD,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACzB,YAAA,OAAO,IAAI;QACb;;AAGA,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,KAAK,EAAE;AAC5D,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI;QAChC;AAEA,QAAA,IAAI;;YAEF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9B,YAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,gBAAA,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC;AACxD,gBAAA,OAAO,IAAI;YACb;YAEA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAmB;;AAGzD,YAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI;;YAG5C,IAAI,CAAC,aAAa,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;AAE9C,YAAA,OAAO,QAAQ;QACjB;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,IAAI,CAAC,2DAA2D,EAAE,KAAK,CAAC;AAChF,YAAA,OAAO,IAAI;QACb;IACF;AACD;;ACtKD;;;;;;;AAOG;AAEH;AACO,MAAM,QAAQ,GAAG;AAExB;AACO,MAAM,WAAW,GAAG;AAE3B;MACa,cAAc,GAAG,GAAG,QAAQ,CAAA,CAAA,EAAI,WAAW,CAAA;;AChBxD;AACA;;;;;;;;;;;;;;;AAeG;MAsBU,aAAa,CAAA;AAUxB;;;;;AAKG;IACH,WAAA,CACU,UAAsB,EACtB,MAAkB,EAAA;QADlB,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,MAAM,GAAN,MAAM;QAjBR,IAAA,CAAA,qBAAqB,GAAyB,IAAI;;AAoBxD,QAAA,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC;;AAG7C,QAAA,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;;QAGxF,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;;AAGhC,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AACnC,YAAA,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,mBAAmB,CAAC;gBACvD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAID,2BAAgB,CAAC,IAAI;AAC7D,gBAAA,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa;AAC3C,gBAAA,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW;AACtC,gBAAA,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI;AAChD,oBAAA,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AACzC;AACF,aAAA,CAAC;QACJ;AAEA,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,YAAmB,CAAC;AACvF,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,YAAa,CAAC;AAEhG,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAClC,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,EAAE;QAChD;IACF;AAEQ,IAAA,MAAM,UAAU,GAAA;AAEtB,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,gBAAgB,EAAE;QAC/B;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;AACjC,YAAA,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC;QAC1E;IACF;;;;AAMA;;;;;;;;;;;;;;;;;AAiBG;AACH,IAAA,MAAM,gBAAgB,GAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YACnC;QACF;AAEA,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE;IAC/C;AAEQ,IAAA,MAAM,iBAAiB,GAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,MAAM,IAAI,CAAC,qBAAqB;AAChC,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;QACnC;IACF;AAEA;;AAEI;AAEJ;;AAEG;IACK,MAAM,OAAO,CACnB,MAAkB,EAClB,QAAgB,EAChB,IAAc,EACd,OAKC,EAAA;AAED,QAAA,IAAG,CAAC,OAAO,EAAE,gBAAgB,EAAC;AAC5B,YAAA,MAAM,IAAI,CAAC,iBAAiB,EAAE;QAChC;AACA,QAAA,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,OAAO,IAAI,EAAE;QACnF,MAAM,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,OAAO,CAAA,EAAG,QAAQ,CAAA,CAAE;;AAGxC,QAAA,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,UAAU,KAAK,CAAC,EAAE;;YAGrE,IAAI,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,KAAK,IAAG;AACpC,gBAAA,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC;AAC7E,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,MAAM,cAAc,GAAmB;AACrC,YAAA,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC;AACxD,YAAA,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;YAClC;SACD;AAED,QAAA,IAAI;AACF,YAAA,IAAI,MAAS;YAEb,QAAQ,MAAM;AACZ,gBAAA,KAAK,KAAK;AACR,oBAAA,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,GAAG,EAAE,cAAc,CAAC;oBAC1D;AACF,gBAAA,KAAK,MAAM;AACT,oBAAA,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAI,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC;oBACjE;AACF,gBAAA,KAAK,KAAK;AACR,oBAAA,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC;oBAChE;AACF,gBAAA,KAAK,QAAQ;AACX,oBAAA,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAI,GAAG,EAAE,cAAc,CAAC;oBAC7D;AACF,gBAAA;AACE,oBAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAA,CAAE,CAAC;;AAGzD,YAAA,OAAO,MAAM;QACf;QAAE,OAAO,KAAc,EAAE;;YAEvB,MAAM,MAAM,GAAGG,gBAAU,CAAC,SAAS,CAAC,KAAK,CAAC;YAC1C,MAAM,YAAY,GAAGA,gBAAU,CAAC,UAAU,CAAC,KAAK,CAAC;;AAGjD,YAAA,IAAI,MAAM,KAAK,GAAG,EAAE;gBAClB,MAAM,YAAY,GAAGA,gBAAU,CAAC,0BAA0B,CAAC,KAAK,CAAC;;AAGjE,gBAAA,IAAI,OAAO,EAAE,gBAAgB,EAAE;AAC7B,oBAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;oBAChF,MAAM,IAAIC,yBAAmB,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC;gBAC7E;;gBAGA,IAAI,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AACtD,oBAAA,IAAI;wBACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE;wBAE5E,IAAI,iBAAiB,EAAE;4BACrB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;wBACrF;oBACF;oBAAE,OAAO,YAAY,EAAE;;oBAEvB;gBACF;AAEA,gBAAA,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;AAC1C,gBAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;gBAChF,MAAM,IAAIA,yBAAmB,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC;YAC7E;;YAGA,MAAM,YAAY,GAAGD,gBAAU,CAAC,0BAA0B,CAAC,KAAK,CAAC;AACjE,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;AAEhF,YAAA,MAAM,IAAIE,kBAAY,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,YAAY,CAAC;QAC3F;IACF;AAEA;;;AAGG;IACK,cAAc,CACpB,YAAsE,EACtE,YAAoB,EACpB,QAAgB,EAChB,MAAkB,EAClB,MAAqB,EACrB,KAAc,EAAA;AAEd,QAAA,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE;AACnD,YAAA,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;AACzB,YAAA,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,MAAM;AAC9C,YAAA,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe,IAAI,CAAC;YACnD,MAAM,EAAE,YAAY,CAAC,MAAM;AAC3B,YAAA,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI;AAClC,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;AACtB,YAAA,MAAM,EAAG,YAAY,CAAC,MAAsB,IAAI,UAAU;AAC1D,YAAA,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,WAAW;AACtC,YAAA,WAAW,EAAE,YAAY,CAAC,OAAO,IAAI,YAAY;YACjD,IAAI,EAAE,YAAY,CAAC,IAAI;AACvB,YAAA,OAAO,EAAE;gBACP,QAAQ;gBACR,MAAM;gBACN,MAAM,EAAE,MAAM,IAAI,SAAS;AAC3B,gBAAA,SAAS,EAAEF,gBAAU,CAAC,WAAW,CAAC,KAAK;AACxC;AACF,SAAA,CAAC;IACJ;AAEA;;;AAGG;AACH,IAAA,SAAS,CAAC,MAAwB,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;IACvB;AAEA;;;;;;;;;;;;;AAaG;AACH,IAAA,MAAM,GAAG,CAAI,QAAgB,EAAE,YAAuD,EAAA;AACpF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,CAAC;IACtE;AAEA;;AAEG;AACH,IAAA,MAAM,IAAI,CAAI,QAAgB,EAAE,IAAc,EAAE,OAA8D,EAAA;AAC5G,QAAA,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC;IACzD;AAEA;;AAEG;AACH,IAAA,MAAM,GAAG,CAAI,QAAgB,EAAE,IAAc,EAAA;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC;IAC/C;AAEA;;AAEG;IACH,MAAM,MAAM,CAAI,QAAgB,EAAA;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,QAAQ,CAAC;IAC5C;AAEA;;;;;;AAMG;IACK,MAAM,UAAU,CAAC,WAAA,GAAuB,IAAI,EAAE,MAAe,EAAE,GAAY,EAAA;AACjF,QAAA,MAAM,OAAO,GAA2B;AACtC,YAAA,cAAc,EAAE,kBAAkB;AAClC,YAAA,eAAe,EAAE,cAAc;SAChC;AAED,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YAClC,IAAI,KAAK,GAAkB,IAAI;YAC/B,IAAI,WAAW,EAAE;gBACf,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE;YACzD;;YAGA,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE;;;AAGjD,gBAAA,IAAI;AACF,oBAAA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC;AAC3F,oBAAA,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC;gBACrC;gBAAE,OAAO,CAAC,EAAE;AACV,oBAAA,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,CAAC,CAAC;;;;;gBAKrE;YACF;;YAGA,IAAI,WAAW,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AACrD,gBAAA,OAAO,CAAC,eAAe,CAAC,GAAG,CAAA,OAAA,EAAU,KAAK,EAAE;YAC9C;AAAO,iBAAA,IAAI,WAAW,IAAI,CAAC,KAAK,EAAE;AAChC,gBAAA,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC;YACvE;QACF;aAAO,IAAI,WAAW,EAAE;AACtB,YAAA,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC;QAC7D;;AAGA,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YAClC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE;YACvE,IAAI,UAAU,EAAE;AACd,gBAAA,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU;YACvC;QACF;AAAO,aAAA,IAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YACzC,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa;QAC5D;AAEA,QAAA,OAAO,OAAO;IAChB;;;;AAMA;;AAEG;IACH,cAAc,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;AAEA;;AAEG;IACH,SAAS,GAAA;QACP,OAAO,IAAI,CAAC,YAAY;IAC1B;AAEA;;AAEG;IACH,iBAAiB,GAAA;QACf,OAAO,IAAI,CAAC,MAAM;IACpB;AACD;;AC/YD;;;;;;;;;;;;;;;;;;;;;;AAsBG;AAiBH;;;AAGG;MACU,qBAAqB,CAAA;AAoBhC,IAAA,WAAA,CACE,WAAiD,EACjD,UAAmB,EACnB,QAA2B,EAAA;AAE3B,QAAA,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;;AAEnC,YAAA,IAAI,CAAC,GAAG,GAAG,WAAW;AACtB,YAAA,IAAI,CAAC,UAAU,GAAG,UAAW;YAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAIH,2BAAgB,CAAC,QAAQ;QACvD;aAAO;;AAEL,YAAA,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG;AAC1B,YAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU;YACxC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAIA,2BAAgB,CAAC,QAAQ;AACjE,YAAA,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,kBAAkB;QAC5D;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;AACb,YAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC;QACjE;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;QACnE;IACF;AAEA;;;AAGG;AACH,IAAA,MAAM,QAAQ,GAAA;QACZ,OAAO,IAAI,CAAC,GAAG;IACjB;AAEA;;;AAGG;AACH,IAAA,MAAM,aAAa,GAAA;QACjB,OAAO,IAAI,CAAC,UAAU;IACxB;AAEA;;;;;;AAMG;IACH,MAAM,cAAc,CAAC,KAAoB,EAAA;AACvC,QAAA,MAAM,WAAW,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG;AACrC,QAAA,OAAO,WAAW,GAAG,EAAE,eAAe,EAAE,CAAA,OAAA,EAAU,WAAW,EAAE,EAAE,GAAG,EAAE;IACxE;AAEA;;;;;;;AAOG;IACH,MAAM,kBAAkB,CAAC,MAAkB,EAAA;AACzC,QAAA,IAAI,MAAM,KAAKC,kBAAU,CAAC,aAAa,EAAE;YACvC,OAAO,CAAC,IAAI,CACV,uEAAuE;AACvE,gBAAA,mDAAmD,CACpD;QACH;;AAGA,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,YAAA,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;QACzC;IACF;AAEA;;;AAGG;AACH,IAAA,MAAM,WAAW,GAAA;;AAEf,QAAA,OAAO,CAAC,IAAI,CAAC,wGAAwG,CAAC;IACxH;AACD;;ACnJD;;;;;;;AAOG;AAaH;;AAEG;AACH,SAAS,eAAe,GAAA;IACtB,OAAO,CAAA,IAAA,EAAO,IAAI,CAAC,GAAG,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAE;AACtE;AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BG;AACH,IAAI,sBAAsB,GAAG,CAAC;MAEjB,gBAAgB,CAAA;AAG3B,IAAA,WAAA,GAAA;AAQQ,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAAmB;AAP3C,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,sBAAsB;QAC3C,OAAO,CAAC,GAAG,CAAC,CAAA,6BAAA,EAAgC,IAAI,CAAC,WAAW,CAAA,QAAA,CAAU,CAAC;IACzE;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;IACH,SAAS,CAAC,OAAqB,EAAE,MAAoB,EAAA;AACnD,QAAA,MAAM,eAAe,GAAoB,EAAE,OAAO,EAAE,MAAM,EAAE;AAC5D,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;QAClC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;IACpD;AAEA;;;;;;AAMG;IACH,IAAI,CAAC,OAAqB,EAAE,MAAoB,EAAA;AAC9C,QAAA,MAAM,eAAe,GAAoB;AACvC,YAAA,OAAO,EAAE,CAAC,KAAK,KAAI;AACjB,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;gBACrC,OAAO,CAAC,KAAK,CAAC;YAChB,CAAC;YACD;SACD;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;QAClC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;IACpD;AAEA;;;;;;;;;;;;;;;;AAgBG;AACH,IAAA,WAAW,CAAC,KAAwB,EAAA;AAClC,QAAA,MAAM,SAAS,GAAiB;AAC9B,YAAA,GAAG,KAAK;AACR,YAAA,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,eAAe,EAAE;AACrB,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG;SACpB;AACD,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;AAC9B,QAAA,OAAO,SAAS;IAClB;AAEA;;;;;;;;;;;;;;;;AAgBG;AACH,IAAA,SAAS,CAAC,KAAsB,EAAA;AAC9B,QAAA,MAAM,SAAS,GAAe;AAC5B,YAAA,GAAG,KAAK;AACR,YAAA,KAAK,EAAE,OAAO;YACd,EAAE,EAAE,eAAe,EAAE;AACrB,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG;SACpB;AACD,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;AAC9B,QAAA,OAAO,SAAS;IAClB;AAEA;;AAEG;IACK,aAAa,CAAC,KAAgB,EAAE,MAAmB,EAAA;;AAEzD,QAAA,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK;;AAGvE,QAAA,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,KAAK;;AAGvF,QAAA,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,KAAK;AAE1E,QAAA,OAAO,IAAI;IACb;AAEA;;AAEG;AACK,IAAA,cAAc,CAAC,KAAgB,EAAA;QACrC,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE;;AAE/C,YAAA,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;gBAChD;YACF;AAEA,YAAA,IAAI;AACF,gBAAA,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;;gBAE7B,IAAI,MAAM,IAAI,OAAQ,MAAwB,CAAC,KAAK,KAAK,UAAU,EAAE;AAClE,oBAAA,MAAwB,CAAC,KAAK,CAAC,KAAK,IAAG;AACtC,wBAAA,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC;AACjE,oBAAA,CAAC,CAAC;gBACJ;YACF;YAAE,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC;YAC3D;QACF;IACF;AAEA;;AAEG;IACH,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;IACvB;AAEA;;AAEG;AACH,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI;IAC3B;AACD;;AC3OD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCG;MACU,WAAW,CAAA;IACtB,WAAA,CACU,SAAwB,EACxB,MAAyB,EAAA;QADzB,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,MAAM,GAAN,MAAM;IACb;AAEH;;;;;;;;;;;;;;;;;;;;;AAqBG;IACH,MAAM,cAAc,CAAC,QAAgB,EAAE,QAAA,GAA6BD,2BAAgB,CAAC,IAAI,EAAA;QACvF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;AAEnD,QAAA,MAAM,MAAM,GAAG,QAAQ,KAAKA,2BAAgB,CAAC;AAC3C,cAAE,MAAM,WAAW,CAAC,gBAAgB,CAAC,QAAQ;cAC3C,MAAM,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;AAEzC,QAAA,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;AACvB,YAAA,MAAM,EAAE,gBAAgB;AACxB,YAAA,IAAI,EAAE,eAAe;AACrB,YAAA,WAAW,EAAE;AACd,SAAA,CAAC;AAEF,QAAA,OAAO,MAAM;IACf;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CG;AACH,IAAA,MAAM,eAAe,CAAC,QAAgB,EAAE,OAA6B,EAAA;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;QACnD,OAAO,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrD;AAEA;;;;;;;;;;;;;;AAcG;AACH,IAAA,MAAM,kBAAkB,GAAA;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAc,gBAAgB,CAAC;IAC1D;AAEA;;;;;;;;;;;;;;;;;AAiBG;IACH,MAAM,gBAAgB,CAAC,WAAwB,EAAA;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;AACnD,QAAA,OAAO,WAAW,CAAC,oBAAoB,CAAC,WAAW,CAAC;IACtD;AAEA;;;;;;;;;;;;;;;;;;AAkBG;AACH,IAAA,MAAM,cAAc,GAAA;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAU,WAAW,CAAC;IACjD;AAIA;;;;;;;;;;;;;;;;;;;;AAoBG;AACH,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,cAAc,EAAE;AAC3B,YAAA,OAAO,IAAI;QACb;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,KAAK;QACd;IACF;AAEA;;;;;;;;;;;;;;;;;;;;AAoBG;IACH,MAAM,aAAa,CAAC,YAAqB,EAAA;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;AACnD,QAAA,OAAO,WAAW,CAAC,kBAAkB,CAAC,YAAY,CAAC;IACrD;AAEA;;;;;;;;;;;;;;;;;AAiBG;AACH,IAAA,MAAM,SAAS,GAAA;QACb,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;AACnD,QAAA,MAAM,WAAW,CAAC,WAAW,EAAE;IACjC;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;AACH,IAAA,MAAM,gBAAgB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;IAC1C;AAEA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACH,IAAA,MAAM,YAAY,GAAA;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;AACnD,QAAA,OAAO,MAAM,WAAW,CAAC,YAAY,EAAE;IACzC;AAED;;AC9UD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDG;MACU,WAAW,CAAA;IAGtB,WAAA,CACU,SAAwB,EACxB,MAAyB,EAAA;QADzB,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,MAAM,GAAN,MAAM;AAEd,QAAA,MAAM,OAAO,GAAG,IAAIM,YAAO,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAIC,gBAAW,CAAC,OAAO,CAAC;IAC7C;AAEA;;;;;;;;;;;;;;;;;;;;AAoBG;AACH,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;IACzC;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;IACH,MAAM,iBAAiB,CAAC,QAA8B,EAAA;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAEhE,QAAA,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;AACvB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,WAAW,EAAE,8BAA8B;AAC3C,YAAA,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;AAC7B,SAAA,CAAC;AAEF,QAAA,OAAO,MAAM;IACf;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;IACH,MAAM,WAAW,CAAC,UAAkB,EAAA;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,UAAU,CAAC;IAC/D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCG;AACH,IAAA,MAAM,iBAAiB,CAAC,MAAuC,EAAE,OAA2B,EAAA;AAC1F,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,MAAM,IAAI,IAAI,EAAE,OAAO,CAAC;IAC5E;AAEA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;IACH,MAAM,WAAW,CAAC,OAA2B,EAAA;QAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC;IACpD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BG;IACH,MAAM,kBAAkB,CAAC,QAA8B,EAAA;QACrD,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC;IACtD;AAEA;;;;;;;;;;;;;;;;;;;;AAoBG;IACH,MAAM,mBAAmB,CAAC,KAA6B,EAAA;QACrD,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC;IACpD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACH,IAAA,MAAM,UAAU,CAAC,MAAc,EAAE,QAA8B,EAAA;QAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC7D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;IACH,MAAM,gBAAgB,CAAC,IAAa,EAAA;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,IAAI,CAAC;IAC5D;AAEA;;;;;;;;;;;;;;;AAeG;IACH,cAAc,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;AAED;;AC/WD;;;;;AAKG;MACU,iBAAiB,CAAA;AAG5B,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;AAC3B,QAAA,IAAI,CAAC,aAAa,GAAGC,8BAAmB,CAAC,SAAS,CAAC;IACrD;AAEA;;;;AAIG;IACH,MAAM,kBAAkB,CAAC,OAA2B,EAAA;QAClD,OAAO,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,OAAO,CAAC;IAC7D;AAEA;;;;AAIG;IACH,MAAM,mBAAmB,CAAC,OAA2B,EAAA;QACnD,OAAO,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,OAAO,CAAC;IAC9D;AAEA;;;;;AAKG;IACH,MAAM,oBAAoB,CAAC,cAAiC,EAAA;QAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,cAAc,CAAC;IAChE;AAEA;;;;AAIG;IACH,gBAAgB,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;IAC3B;AACD;;ACjDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDG;MACU,YAAY,CAAA;AAGvB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;AAC3B,QAAA,MAAM,QAAQ,GAAG,IAAIC,qBAAQ,CAAC,SAAS,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAIC,yBAAY,CAAC,QAAQ,CAAC;IAChD;AAEA;;;;;;;;;;;;;;;;;;;AAmBG;IACH,MAAM,SAAS,CAAC,OAA2B,EAAA;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC;IACnD;AAEA;;;;;;;;;;;;;;;;AAgBG;IACH,MAAM,aAAa,CAAC,OAA2B,EAAA;QAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC;IACvD;AAEA;;;;;;;;;;;;;;;;;;;;AAoBG;AACH,IAAA,MAAM,oBAAoB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE;IACvD;AAEA;;;;;;;;;;;;;;;;;;;;AAoBG;IACH,MAAM,eAAe,CAAC,OAA2B,EAAA;QAC/C,OAAO,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC;IACzD;AAEA;;;;;;;;;;;;;;;;;;;;AAoBG;IACH,MAAM,eAAe,CAAC,OAA2B,EAAA;QAC/C,OAAO,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC;IACzD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACH,IAAA,MAAM,kBAAkB,CAAC,eAAuB,EAAE,kBAAiC,IAAI,EAAA;QACrF,OAAO,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,eAAe,EAAE,eAAe,CAAC;IACtF;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCG;IACH,MAAM,WAAW,CAAC,SAAc,EAAA;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC;IACjD;AAEA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACH,IAAA,MAAM,WAAW,CAAC,OAAe,EAAE,SAAc,EAAA;QAC/C,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC;IAC1D;AAEA;;;;;;;;;;;;;;;;;;;;;;AAsBG;IACH,MAAM,iBAAiB,CAAC,OAAe,EAAA;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC;IACrD;AAEA;;;;;;;;;;;;;;;;;;;;;;AAsBG;IACH,eAAe,GAAA;QACb,OAAO,IAAI,CAAC,YAAY;IAC1B;AAED;;ACnUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDG;MACU,eAAe,CAAA;IAO1B,WAAA,CACU,SAAwB,EACxB,MAAyB,EAAA;QADzB,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,MAAM,GAAN,MAAM;QAEd,IAAI,CAAC,WAAW,GAAG,IAAIC,qCAAW,CAAC,SAAS,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,IAAIC,yCAAe,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5D,IAAI,CAAC,aAAa,GAAG,IAAIC,+CAAqB,CAAC,SAAS,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,IAAIC,mDAAyB,CAAC,IAAI,CAAC,aAAa,CAAC;QAC1E,IAAI,CAAC,OAAO,GAAG,IAAIR,YAAO,CAAC,SAAS,CAAC;IACvC;AAEA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;IACH,MAAM,mBAAmB,CAAC,OAA2B,EAAA;QACnD,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC;IAC1D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;IACH,MAAM,eAAe,CAAC,UAAkB,EAAA;QACtC,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC;IACzD;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;IACH,MAAM,oBAAoB,CAAC,cAAsB,EAAA;QAC/C,OAAO,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,cAAc,CAAC;IAClE;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;IACH,MAAM,gBAAgB,CAAC,OAA2B,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE;IAChD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;AACH,IAAA,MAAM,mBAAmB,CAAC,MAAc,EAAE,OAA2B,EAAA;QACnE,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;IACH,MAAM,aAAa,CAAC,OAA2B,EAAA;QAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC;IACpD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;IACH,MAAM,cAAc,CAAC,WAAmB,EAAA;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,WAAW,CAAC;AAElF,QAAA,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;AACvB,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,WAAW,EAAE,+BAA+B;AAC5C,YAAA,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW;AAClE,SAAA,CAAC;AAEF,QAAA,OAAO,MAAM;IACf;AAEA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACH,IAAA,MAAM,cAAc,CAAC,UAAkB,EAAE,YAAsC,EAAA;AAC7E,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC;AAElF,QAAA,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;AACvB,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,WAAW,EAAE,+BAA+B;AAC5C,YAAA,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW;AAClE,SAAA,CAAC;AAEF,QAAA,OAAO,MAAM;IACf;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;AACH,IAAA,MAAM,oBAAoB,CAAC,UAAkB,EAAE,UAA0C,EAAA;QACvF,OAAO,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC;IAC1E;AAEA;;;;;;;;;;;;;;;;;;;;;;AAsBG;IACH,kBAAkB,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe;IAC7B;;;;AAMA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACH,IAAA,MAAM,UAAU,CAAC,UAAkB,EAAE,OAA2B,EAAA;QAC9D,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/D;AAEA;;;;;;;;;;;;AAYG;AACH,IAAA,MAAM,gBAAgB,CAAC,UAAkB,EAAE,IAAoB,EAAE,OAA2B,EAAA;AAC1F,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC;IAC3E;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;IACH,MAAM,SAAS,CACb,UAAkB,EAClB,MAAc,EACd,IAAA,GAAuBS,yBAAc,CAAC,MAAM,EAAA;AAE5C,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC;IACnE;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACH,IAAA,MAAM,gBAAgB,CACpB,UAAkB,EAClB,MAAc,EACd,OAAuB,EAAA;AAEvB,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC;AAEzF,QAAA,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;AACvB,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,WAAW,EAAE,yBAAyB;YACtC,OAAO,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;AAC7C,SAAA,CAAC;AAEF,QAAA,OAAO,MAAM;IACf;AAEA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACH,IAAA,MAAM,YAAY,CAChB,UAAkB,EAClB,MAAc,EAAA;QAEd,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC;IAChE;AAEA;;;;;;;;;;;;;;;;;;AAkBG;AACH,IAAA,cAAc,CAAC,IAA2B,EAAA;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC;IACpD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;IACH,MAAM,gBAAgB,CACpB,UAAkB,EAClB,KAAa,EACb,IAAA,GAAuBA,yBAAc,CAAC,MAAM,EAAA;;AAG5C,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC;AAC7D,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;IACpE;AAEA;;;;AAIG;IACH,oBAAoB,GAAA;QAClB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;AAED;;AChnBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEG;MACU,eAAe,CAAA;IAG1B,WAAA,CACU,SAAwB,EACxB,MAAyB,EAAA;QADzB,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,MAAM,GAAN,MAAM;AAEd,QAAA,MAAM,WAAW,GAAG,IAAIC,oBAAW,CAAC,SAAS,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAIC,wBAAe,CAAC,WAAW,CAAC;IACzD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCG;IACH,MAAM,eAAe,CAAC,UAAkB,EAAA;QACtC,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC;IACzD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDG;IACH,MAAM,aAAa,CAAC,YAAqC,EAAA;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC;AAErE,QAAA,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;AACvB,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,IAAI,EAAE,eAAe;AACrB,YAAA,WAAW,EAAE,sCAAsC;AACnD,YAAA,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU;AAC/C,SAAA,CAAC;AAEF,QAAA,OAAO,MAAM;IACf;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCG;IACH,MAAM,aAAa,CAAC,OAA2B,EAAA;QAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,OAAO,CAAC;IAC7D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCG;IACH,MAAM,YAAY,CAAC,OAOlB,EAAA;QACC,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC;IACnD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCG;IACH,MAAM,cAAc,CAAC,YAAsC,EAAA;QACzD,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC;IAC1D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AACH,IAAA,MAAM,cAAc,CAAC,UAAkB,EAAE,YAAsC,EAAA;QAC7E,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC;IACtE;AAEA;;;;;;;;;;;;;;;;;;;AAmBG;IACH,MAAM,oBAAoB,CAAC,UAAkB,EAAA;QAC3C,OAAO,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,UAAU,CAAC;IAC9D;AAEA;;;;;;;;;;;;;;;;;;AAkBG;IACH,MAAM,qBAAqB,CAAC,UAAkB,EAAA;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC;IAC/D;AAEA;;;;;;;;;;;;;;;;;;;;;AAqBG;IACH,MAAM,mBAAmB,CAAC,OAA2B,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE;IACnD;AAEA;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACH,IAAA,MAAM,kBAAkB,CAAC,UAAkB,EAAE,SAAiB,EAAA;QAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC;IACvE;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BG;AACH,IAAA,MAAM,uBAAuB,CAAC,UAAkB,EAAE,SAAoC,EAAA;QACpF,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC;IAC5E;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACH,IAAA,MAAM,uBAAuB,CAAC,UAAkB,EAAE,WAAmB,EAAA;QACnE,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,UAAU,EAAE,WAAW,CAAC;IAC9E;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;AACH,IAAA,MAAM,+BAA+B,CAAC,UAAkB,EAAE,UAAsD,EAAA;QAC9G,OAAO,IAAI,CAAC,eAAe,CAAC,+BAA+B,CAAC,UAAU,EAAE,UAAU,CAAC;IACrF;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACH,IAAA,MAAM,gCAAgC,CAAC,UAAkB,EAAE,YAAoB,EAAE,UAAsD,EAAA;AACrI,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC;IACpG;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACH,IAAA,MAAM,gCAAgC,CAAC,UAAkB,EAAE,YAAoB,EAAA;QAC7E,OAAO,IAAI,CAAC,eAAe,CAAC,gCAAgC,CAAC,UAAU,EAAE,YAAY,CAAC;IACxF;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;IACH,MAAM,iBAAiB,CAAC,OAQvB,EAAA;QACC,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC;IACxD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCG;AACH,IAAA,MAAM,yBAAyB,CAAC,MAAc,EAAE,OAA2B,EAAA;QACzE,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,MAAM,CAAC;IAC/D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;AACH,IAAA,MAAM,6BAA6B,CAAC,UAAkB,EAAE,OAA2B,EAAA;QACjF,OAAO,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAAC,UAAU,CAAC;IACvE;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;IACH,kBAAkB,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe;IAC7B;AACD;;AC5wBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DG;MACU,iBAAiB,CAAA;IAG5B,WAAA,CACU,SAAwB,EACxB,MAAyB,EAAA;QADzB,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,MAAM,GAAN,MAAM;AAEd,QAAA,MAAM,aAAa,GAAG,IAAIC,+BAAa,CAAC,SAAS,CAAC;QAClD,IAAI,CAAC,iBAAiB,GAAG,IAAIC,mCAAiB,CAAC,aAAa,CAAC;IAC/D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6FG;IACH,MAAM,cAAc,CAAC,OAAkD,EAAA;QACrE,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC;IACvD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;IACH,MAAM,kBAAkB,CAAC,OAA2B,EAAA;QAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,OAAO,CAAC;IAC3D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EG;IACH,MAAM,MAAM,CAAC,YAAoB,EAAA;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,YAAY,CAAC;AAE1E,QAAA,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;AACvB,YAAA,MAAM,EAAE,YAAY;AACpB,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,WAAW,EAAE,8BAA8B;YAC3C,OAAO,EAAE,EAAE,YAAY;AACxB,SAAA,CAAC;AAEF,QAAA,OAAO,MAAM;IACf;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DG;IACH,MAAM,kBAAkB,CAAC,OAA2B,EAAA;QAClD,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC;IACvD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCG;IACH,MAAM,gBAAgB,CAAC,cAA0C,EAAA;QAC/D,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,cAAc,CAAC;IAChE;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AACH,IAAA,MAAM,gBAAgB,CAAC,YAAoB,EAAE,cAA0C,EAAA;QACrF,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC;IAC9E;AAEA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;IACH,MAAM,sBAAsB,CAAC,YAAoB,EAAA;QAC/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,YAAY,CAAC;IACpE;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;AACH,IAAA,MAAM,yBAAyB,CAAC,YAAoB,EAAE,SAAoC,EAAA;QACxF,OAAO,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,YAAY,EAAE,SAAS,CAAC;IAClF;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACH,IAAA,MAAM,yBAAyB,CAAC,YAAoB,EAAE,WAAmB,EAAA;QACvE,OAAO,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,YAAY,EAAE,WAAW,CAAC;IACpF;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;IACH,oBAAoB,GAAA;QAClB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;AACD;;ACzjBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDG;MACU,kBAAkB,CAAA;IAG7B,WAAA,CACU,SAAwB,EACxB,MAAyB,EAAA;QADzB,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,MAAM,GAAN,MAAM;AAEd,QAAA,MAAM,cAAc,GAAG,IAAIC,yCAAc,CAAC,SAAS,CAAC;QACpD,IAAI,CAAC,kBAAkB,GAAG,IAAIC,6CAAkB,CAAC,cAAc,CAAC;IAClE;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDG;IACH,MAAM,kBAAkB,CAAC,aAAqB,EAAA;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,aAAa,CAAC;IAClE;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EG;IACH,MAAM,iBAAiB,CAAC,eAAsC,EAAA;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,eAAe,CAAC;AAE/E,QAAA,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;AACvB,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,IAAI,EAAE,qBAAqB;AAC3B,YAAA,WAAW,EAAE,kCAAkC;YAC/C,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE;AACjD,SAAA,CAAC;AAEF,QAAA,OAAO,MAAM;IACf;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFG;AACH,IAAA,MAAM,yBAAyB,CAAC,IAAsB,EAAE,OAA2B,EAAA;QACjF,OAAO,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC;IACzE;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DG;IACH,MAAM,qBAAqB,CAAC,OAA2B,EAAA;QACrD,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,OAAO,CAAC;IAC/D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DG;IACH,MAAM,wBAAwB,CAAC,MAAuC,EAAA;QACpE,OAAO,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,MAAM,CAAC;IACjE;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDG;AACH,IAAA,MAAM,qBAAqB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;IACxD;AAEA;;;;;;;;AAQG;IACH,MAAM,0BAA0B,CAAC,aAAqB,EAAA;QACpD,OAAO,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,aAAa,CAAC;IAC1E;AAEA;;;;;;;;AAQG;IACH,MAAM,8BAA8B,CAAC,OAA8B,EAAA;QACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,OAAO,CAAC;IACxE;AAEA;;;;;;;AAOG;IACH,MAAM,uBAAuB,CAAC,YAA6C,EAAA;QACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,YAAY,CAAC;AAElF,QAAA,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;AACvB,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,IAAI,EAAE,uBAAuB;AAC7B,YAAA,WAAW,EAAE,oCAAoC;YACjD,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE;AACjD,SAAA,CAAC;AAEF,QAAA,OAAO,MAAM;IACf;AAEA;;;;;;;AAOG;IACH,MAAM,yBAAyB,CAAC,eAAmC,EAAA;QACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,eAAe,CAAC;IAC3E;AAEA;;;;;;;AAOG;IACH,MAAM,4BAA4B,CAAC,eAAmC,EAAA;QACpE,OAAO,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,eAAe,CAAC;IAC9E;AAEA;;;;;;;;AAQG;IACH,MAAM,uBAAuB,CAAC,gBAAgD,EAAA;QAC5E,OAAO,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC;IAC1E;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCG;IACH,qBAAqB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB;IAChC;AACD;;ACxlBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DG;MACU,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;AAC3B,QAAA,MAAM,UAAU,GAAG,IAAIC,0BAAU,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,IAAIC,6BAAc,CAAC,UAAU,CAAC;IACtD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmFG;IACH,MAAM,mBAAmB,CACvB,MAAc,EACd,QAAgB,EAChB,YAAoB,EACpB,WAAmB,EAAA;AAEnB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAe,EAAE,YAAY,EAAE,WAAW,CAAC;IACpG;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EG;AACH,IAAA,MAAM,uBAAuB,CAAC,MAAgB,EAAE,OAA2B,EAAA;QACzE,OAAO,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoGG;IACH,MAAM,mBAAmB,CAAC,OAA2B,EAAA;QACnD,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC;IACzD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BG;IACH,kBAAkB,GAAA;QAChB,OAAO,IAAI,CAAC,cAAc;IAC5B;AACD;;ACtYD;;;;AAIG;MACU,OAAO,CAAA;AAClB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;QAEZ,IAAA,CAAA,QAAQ,GAAG,QAAQ;IAFW;;;;AAQ/C;;;;;AAKG;IACH,MAAM,YAAY,CAAC,OAAyB,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAoB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,mBAAA,CAAqB,EAAE,OAAO,CAAC;IAC/F;AAEA;;;;;;AAMG;AACH,IAAA,MAAM,eAAe,CAAC,GAAW,EAAE,aAAsB,EAAA;QACvD,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC;QACjD,IAAI,aAAa,EAAE;YACjB,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC7D;AAEA,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAoB,CAAA,EAAG,IAAI,CAAC,QAAQ,eAAe,YAAY,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC;IACxG;AAEA;;;;;AAKG;IACH,MAAM,oBAAoB,CAAC,OAA4B,EAAA;AACrD,QAAA,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9D,IAAI,OAAO,CAAC,KAAK;AAAE,YAAA,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtE,IAAI,OAAO,CAAC,MAAM;AAAE,YAAA,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;AAEzE,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAuB,CAAA,mBAAA,EAAsB,YAAY,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC;IAClG;AACD;;ACpDD;;;;AAIG;MACU,WAAW,CAAA;AAGtB,IAAA,WAAA,CAAY,SAAwB,EAAA;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;IACvC;AAEA;;;;;;;AAOG;AACH,IAAA,MAAM,eAAe,CACnB,QAAgB,EAChB,UAAgC,EAChC,aAAqB,EAAA;AAErB,QAAA,MAAM,OAAO,GAAwB;YACnC,QAAQ;YACR,UAAU;AACV,YAAA,aAAa,EAAE,KAAK;YACpB;SACD;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;QACzD,OAAO,QAAQ,CAAC,SAAS;IAC3B;AAEA;;;;;;;AAOG;AACH,IAAA,MAAM,eAAe,CACnB,QAAgB,EAChB,UAAgC,EAChC,aAAsB,EAAA;AAEtB,QAAA,MAAM,OAAO,GAAqB;YAChC,QAAQ;YACR,UAAU;AACV,YAAA,aAAa,EAAE;SAChB;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;QACzD,OAAO,QAAQ,CAAC,SAAS;IAC3B;AAEA;;;;;AAKG;IACH,MAAM,YAAY,CAAC,OAAyB,EAAA;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;QACzD,OAAO,QAAQ,CAAC,SAAS;IAC3B;AAEA;;;;;;;AAOG;AACH,IAAA,MAAM,aAAa,CAAC,GAAW,EAAE,KAAc,EAAE,MAAe,EAAA;QAC9D,MAAM,OAAO,GAAwB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC;QACjE,OAAO,QAAQ,CAAC,YAAY;IAC9B;AAEA;;;;AAIG;IACH,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;AACD;;AC7FD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DG;MACU,WAAW,CAAA;AAGtB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;QAE3B,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC;IAC/C;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6FG;AACH,IAAA,MAAM,eAAe,CACnB,QAAgB,EAChB,UAAgC,EAChC,aAAqB,EAAA;AAErB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC;IAC9E;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwFG;AACH,IAAA,MAAM,eAAe,CACnB,QAAgB,EAChB,UAAgC,EAChC,aAAsB,EAAA;AAEtB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC;IAC9E;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DG;IACH,MAAM,YAAY,CAAC,OAAyB,EAAA;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC;IAC/C;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8GG;AACH,IAAA,MAAM,aAAa,CAAC,GAAW,EAAE,KAAc,EAAE,MAAe,EAAA;AAC9D,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC;IAC3D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCG;IACH,cAAc,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;AACD;;ACzeD;;;;;AAKG;MACU,aAAa,CAAA;AAGxB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;AAC3B,QAAA,MAAM,SAAS,GAAG,IAAIC,uBAAS,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,IAAIC,2BAAa,CAAC,SAAS,CAAC;IACnD;AAEA;;;;AAIG;AACH,IAAA,MAAM,aAAa,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE;IAC7C;AAEA;;;;AAIG;AACH,IAAA,MAAM,aAAa,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE;IACjD;AAEA;;;;AAIG;AACH,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE;IACnD;AAEA;;;;;AAKG;IACH,MAAM,YAAY,CAAC,UAA2B,EAAA;QAC5C,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC;IAC1D;AAEA;;;;;AAKG;IACH,MAAM,SAAS,CAAC,OAA2B,EAAA;QACzC,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC;IAC9C;AAEA;;;;;AAKG;IACH,MAAM,WAAW,CAAC,SAAgC,EAAA;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC;IAChD;AAEA;;;;;;AAMG;AACH,IAAA,MAAM,WAAW,CAAC,OAAe,EAAE,SAAgC,EAAA;QACjE,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IACxD;AAEA;;;;AAIG;IACH,gBAAgB,GAAA;QACd,OAAO,IAAI,CAAC,aAAa;IAC3B;AACD;;AC3FD;;;;;AAKG;MACU,SAAS,CAAA;AAGpB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;QAFZ,IAAA,CAAA,QAAQ,GAAG,WAAW;IAEQ;AAE/C;;;;;;;AAOG;IACH,MAAM,gBAAgB,CAAC,IAA4B,EAAE,cAAA,GAA0B,KAAK,EAAE,OAA2B,EAAA;AAC/G,QAAA,MAAM,MAAM,GAAGC,qCAAqB,CAAC,OAAO,CAAC;AAC7C,QAAA,IAAI,IAAI;AAAE,YAAA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;AACrC,QAAA,IAAI,cAAc;AAAE,YAAA,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAE3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAA0B,CAAA,EAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC;AAC3G,QAAA,OAAOC,oCAAoB,CAAC,QAAQ,CAAC;IACvC;AAEA;;;;;AAKG;IACH,MAAM,YAAY,CAAC,GAAqB,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAmB,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;IAClE;AAEA;;;;;AAKG;IACH,MAAM,YAAY,CAAC,QAAgB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAwB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE,CAAC;IACrF;AACD;;AC7CD;;;;;;;;;;;;;;;;;;;;;;;AAuBG;MACU,aAAa,CAAA;AAGxB,IAAA,WAAA,CAAY,SAAwB,EAAA;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC;IAC3C;;;;AAMA;;;;;;;;;;;;;;;;;;;;AAoBG;IACH,MAAM,WAAW,CAAC,IAA4B,EAAE,cAAA,GAA0B,KAAK,EAAE,OAA2B,EAAA;AAC1G,QAAA,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC;QACpE;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC;AAChE,YAAA,MAAM,KAAK;QACb;IACF;AAEA;;;;;;;;;;;;;;;AAeG;IACH,MAAM,YAAY,CAAC,GAAqB,EAAA;AACtC,QAAA,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC;QAC/C;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC;AACjE,YAAA,MAAM,KAAK;QACb;IACF;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;IACH,MAAM,YAAY,CAAC,QAAgB,EAAA;AACjC,QAAA,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC;AAC1D,YAAA,OAAO,MAAM;QACf;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC;AACjE,YAAA,MAAM,KAAK;QACb;IACF;AACD;;ACzID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDG;MACU,gBAAgB,CAAA;AAG3B,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;AAC3B,QAAA,MAAM,YAAY,GAAG,IAAIC,sBAAY,CAAC,SAAS,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,IAAIC,0BAAgB,CAAC,YAAY,CAAC;IAC5D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmLG;IACH,MAAM,uBAAuB,CAAC,OAAuC,EAAA;QACnE,OAAO,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,OAAO,CAAC;IAC/D;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DG;IACH,mBAAmB,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB;IAC9B;AACD;;ACtTD;;;;;AAKG;MACU,eAAe,CAAA;AAG1B,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;AAC3B,QAAA,MAAM,WAAW,GAAG,IAAIC,oBAAW,CAAC,SAAS,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAIC,wBAAe,CAAC,WAAW,CAAC;IACzD;AAEA;;;;AAIG;IACH,MAAM,gBAAgB,CAAC,OAA2B,EAAA;QAChD,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC;IAC1D;AAEA;;;;AAIG;IACH,kBAAkB,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe;IAC7B;AACD;;ACrCD;;;;;;;AAOG;AAuLH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDG;MACU,OAAO,CAAA;AAkBlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCG;IACH,WAAA,CAAY,UAAsB,EAAE,MAAkB,EAAA;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC;;AAGtD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,EAAE;QACrC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;IACxC;AAEA;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACH,IAAA,MAAM,cAAc,GAAA;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;QAC/C,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,OAAO,IAAI;QACb;;QAGA,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,YAA4C;AAC5F,QAAA,IAAI,YAAY,EAAE,WAAW,EAAE;AAC7B,YAAA,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE;AACjD,YAAA,IAAI,QAAQ,KAAK/B,2BAAgB,CAAC,MAAM,EAAE;;;AAGxC,gBAAA,OAAO,IAAI;YACb;QACF;AAEA,QAAA,IAAI;;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;;AAGjD,YAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AACvB,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,MAAM,EAAE,gBAAgB;AACxB,gBAAA,WAAW,EAAE,+BAA+B;AAC5C,gBAAA,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;AAC/B,aAAA,CAAC;AAEF,YAAA,OAAO,QAAQ;QACjB;QAAE,OAAO,KAAK,EAAE;;AAEd,YAAA,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;;AAG3B,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AACrB,gBAAA,IAAI,EAAE,4BAA4B;AAClC,gBAAA,MAAM,EAAE,gBAAgB;AACxB,gBAAA,WAAW,EAAE,4BAA4B;AACzC,gBAAA,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,EAAE,KAAK;AACjB,aAAA,CAAC;AAEF,YAAA,MAAM,KAAK;QACb;IACF;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CG;AACH,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCG;AACH,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;QAC5D;QACA,OAAO,IAAI,CAAC,KAAK;IACnB;AAEA;;;;;;;;;AASG;AACH,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;QAC7D;QACA,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA;;;;;;;;;AASG;AACH,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC1D;QACA,OAAO,IAAI,CAAC,WAAW;IACzB;AAEA;;;;;;;;;AASG;AACH,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;QACjD;QACA,OAAO,IAAI,CAAC,OAAO;IACrB;AAEA;;;;;;;;;AASG;AACH,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;QACtE;QACA,OAAO,IAAI,CAAC,WAAW;IACzB;AAEA;;;;;;;;;AASG;AACH,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;QACrE;QACA,OAAO,IAAI,CAAC,UAAU;IACxB;AAEA;;;;;;;;;AASG;AACH,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;QACzE;QACA,OAAO,IAAI,CAAC,YAAY;IAC1B;AAEA;;;;;;;;;AASG;AACH,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;QAC3E;QACA,OAAO,IAAI,CAAC,aAAa;IAC3B;AAEA;;;;;;;;;AASG;AACH,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;QACvD;QACA,OAAO,IAAI,CAAC,UAAU;IACxB;AAEA;;;;;;;;;AASG;AACH,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/C;QACA,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA;;;;;;;;;AASG;AACH,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;QACnD;QACA,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA;;;;;;;;;;;;;;;;;;;;AAoBG;AACH,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;QACnD;QACA,OAAO,IAAI,CAAC,QAAQ;IACtB;AAEA;;;;;;;AAOG;AACH,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;QACxD;QACA,OAAO,IAAI,CAAC,UAAU;IACxB;AAEA;;;;;;;AAOG;AACH,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;QACvD;QACA,OAAO,IAAI,CAAC,UAAU;IACxB;AAEA;;;;;;;;;;;;;;AAcG;IACH,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,SAAS;IACvB;AAEA;;;;AAIG;IACH,YAAY,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,WAAW,KAAK,YAAY;IAChE;AAEA;;;;;;;AAOG;IACH,aAAa,GAAA;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,YAAY;IAClD;AACD;AAED;;;;;;AAMG;AACG,SAAU,aAAa,CAC3B,UAAsB,EACtB,MAAkB,EAAA;AAElB,IAAA,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC;AACxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}