@activepieces/piece-whatsscale 0.0.1

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.
Files changed (121) hide show
  1. package/package.json +17 -0
  2. package/src/index.d.ts +1 -0
  3. package/src/index.js +112 -0
  4. package/src/index.js.map +1 -0
  5. package/src/lib/actions/crm/add-crm-contact-tag.d.ts +4 -0
  6. package/src/lib/actions/crm/add-crm-contact-tag.js +32 -0
  7. package/src/lib/actions/crm/add-crm-contact-tag.js.map +1 -0
  8. package/src/lib/actions/crm/create-crm-contact.d.ts +5 -0
  9. package/src/lib/actions/crm/create-crm-contact.js +45 -0
  10. package/src/lib/actions/crm/create-crm-contact.js.map +1 -0
  11. package/src/lib/actions/crm/delete-crm-contact.d.ts +3 -0
  12. package/src/lib/actions/crm/delete-crm-contact.js +27 -0
  13. package/src/lib/actions/crm/delete-crm-contact.js.map +1 -0
  14. package/src/lib/actions/crm/find-crm-contact-by-phone.d.ts +3 -0
  15. package/src/lib/actions/crm/find-crm-contact-by-phone.js +30 -0
  16. package/src/lib/actions/crm/find-crm-contact-by-phone.js.map +1 -0
  17. package/src/lib/actions/crm/get-crm-contact.d.ts +3 -0
  18. package/src/lib/actions/crm/get-crm-contact.js +27 -0
  19. package/src/lib/actions/crm/get-crm-contact.js.map +1 -0
  20. package/src/lib/actions/crm/list-crm-contacts.d.ts +6 -0
  21. package/src/lib/actions/crm/list-crm-contacts.js +86 -0
  22. package/src/lib/actions/crm/list-crm-contacts.js.map +1 -0
  23. package/src/lib/actions/crm/remove-crm-contact-tag.d.ts +4 -0
  24. package/src/lib/actions/crm/remove-crm-contact-tag.js +29 -0
  25. package/src/lib/actions/crm/remove-crm-contact-tag.js.map +1 -0
  26. package/src/lib/actions/crm/update-crm-contact.d.ts +5 -0
  27. package/src/lib/actions/crm/update-crm-contact.js +42 -0
  28. package/src/lib/actions/crm/update-crm-contact.js.map +1 -0
  29. package/src/lib/actions/messaging/send-document-to-contact.d.ts +7 -0
  30. package/src/lib/actions/messaging/send-document-to-contact.js +55 -0
  31. package/src/lib/actions/messaging/send-document-to-contact.js.map +1 -0
  32. package/src/lib/actions/messaging/send-document-to-crm-contact.d.ts +7 -0
  33. package/src/lib/actions/messaging/send-document-to-crm-contact.js +56 -0
  34. package/src/lib/actions/messaging/send-document-to-crm-contact.js.map +1 -0
  35. package/src/lib/actions/messaging/send-document-to-group.d.ts +7 -0
  36. package/src/lib/actions/messaging/send-document-to-group.js +55 -0
  37. package/src/lib/actions/messaging/send-document-to-group.js.map +1 -0
  38. package/src/lib/actions/messaging/send-image-manual.d.ts +8 -0
  39. package/src/lib/actions/messaging/send-image-manual.js +58 -0
  40. package/src/lib/actions/messaging/send-image-manual.js.map +1 -0
  41. package/src/lib/actions/messaging/send-image-to-channel.d.ts +6 -0
  42. package/src/lib/actions/messaging/send-image-to-channel.js +45 -0
  43. package/src/lib/actions/messaging/send-image-to-channel.js.map +1 -0
  44. package/src/lib/actions/messaging/send-image-to-contact.d.ts +6 -0
  45. package/src/lib/actions/messaging/send-image-to-contact.js +45 -0
  46. package/src/lib/actions/messaging/send-image-to-contact.js.map +1 -0
  47. package/src/lib/actions/messaging/send-image-to-crm-contact.d.ts +6 -0
  48. package/src/lib/actions/messaging/send-image-to-crm-contact.js +46 -0
  49. package/src/lib/actions/messaging/send-image-to-crm-contact.js.map +1 -0
  50. package/src/lib/actions/messaging/send-image-to-group.d.ts +6 -0
  51. package/src/lib/actions/messaging/send-image-to-group.js +45 -0
  52. package/src/lib/actions/messaging/send-image-to-group.js.map +1 -0
  53. package/src/lib/actions/messaging/send-text-manual.d.ts +7 -0
  54. package/src/lib/actions/messaging/send-text-manual.js +51 -0
  55. package/src/lib/actions/messaging/send-text-manual.js.map +1 -0
  56. package/src/lib/actions/messaging/send-text-to-channel.d.ts +5 -0
  57. package/src/lib/actions/messaging/send-text-to-channel.js +35 -0
  58. package/src/lib/actions/messaging/send-text-to-channel.js.map +1 -0
  59. package/src/lib/actions/messaging/send-text-to-contact.d.ts +5 -0
  60. package/src/lib/actions/messaging/send-text-to-contact.js +35 -0
  61. package/src/lib/actions/messaging/send-text-to-contact.js.map +1 -0
  62. package/src/lib/actions/messaging/send-text-to-crm-contact.d.ts +5 -0
  63. package/src/lib/actions/messaging/send-text-to-crm-contact.js +35 -0
  64. package/src/lib/actions/messaging/send-text-to-crm-contact.js.map +1 -0
  65. package/src/lib/actions/messaging/send-text-to-group.d.ts +5 -0
  66. package/src/lib/actions/messaging/send-text-to-group.js +35 -0
  67. package/src/lib/actions/messaging/send-text-to-group.js.map +1 -0
  68. package/src/lib/actions/messaging/send-video-manual.d.ts +8 -0
  69. package/src/lib/actions/messaging/send-video-manual.js +60 -0
  70. package/src/lib/actions/messaging/send-video-manual.js.map +1 -0
  71. package/src/lib/actions/messaging/send-video-to-channel.d.ts +6 -0
  72. package/src/lib/actions/messaging/send-video-to-channel.js +47 -0
  73. package/src/lib/actions/messaging/send-video-to-channel.js.map +1 -0
  74. package/src/lib/actions/messaging/send-video-to-contact.d.ts +6 -0
  75. package/src/lib/actions/messaging/send-video-to-contact.js +47 -0
  76. package/src/lib/actions/messaging/send-video-to-contact.js.map +1 -0
  77. package/src/lib/actions/messaging/send-video-to-crm-contact.d.ts +6 -0
  78. package/src/lib/actions/messaging/send-video-to-crm-contact.js +48 -0
  79. package/src/lib/actions/messaging/send-video-to-crm-contact.js.map +1 -0
  80. package/src/lib/actions/messaging/send-video-to-group.d.ts +6 -0
  81. package/src/lib/actions/messaging/send-video-to-group.js +47 -0
  82. package/src/lib/actions/messaging/send-video-to-group.js.map +1 -0
  83. package/src/lib/actions/utility/check-whatsapp.d.ts +4 -0
  84. package/src/lib/actions/utility/check-whatsapp.js +34 -0
  85. package/src/lib/actions/utility/check-whatsapp.js.map +1 -0
  86. package/src/lib/auth.d.ts +1 -0
  87. package/src/lib/auth.js +39 -0
  88. package/src/lib/auth.js.map +1 -0
  89. package/src/lib/common/client.d.ts +3 -0
  90. package/src/lib/common/client.js +22 -0
  91. package/src/lib/common/client.js.map +1 -0
  92. package/src/lib/common/poll-job.d.ts +1 -0
  93. package/src/lib/common/poll-job.js +26 -0
  94. package/src/lib/common/poll-job.js.map +1 -0
  95. package/src/lib/common/prepare-file.d.ts +1 -0
  96. package/src/lib/common/prepare-file.js +16 -0
  97. package/src/lib/common/prepare-file.js.map +1 -0
  98. package/src/lib/common/props.d.ts +14 -0
  99. package/src/lib/common/props.js +257 -0
  100. package/src/lib/common/props.js.map +1 -0
  101. package/src/lib/common/recipients.d.ts +29 -0
  102. package/src/lib/common/recipients.js +52 -0
  103. package/src/lib/common/recipients.js.map +1 -0
  104. package/src/lib/common/types.d.ts +17 -0
  105. package/src/lib/common/types.js +22 -0
  106. package/src/lib/common/types.js.map +1 -0
  107. package/src/lib/triggers/watch-channel-messages.d.ts +10 -0
  108. package/src/lib/triggers/watch-channel-messages.js +56 -0
  109. package/src/lib/triggers/watch-channel-messages.js.map +1 -0
  110. package/src/lib/triggers/watch-group-messages.d.ts +10 -0
  111. package/src/lib/triggers/watch-group-messages.js +64 -0
  112. package/src/lib/triggers/watch-group-messages.js.map +1 -0
  113. package/src/lib/triggers/watch-incoming-messages.d.ts +10 -0
  114. package/src/lib/triggers/watch-incoming-messages.js +62 -0
  115. package/src/lib/triggers/watch-incoming-messages.js.map +1 -0
  116. package/src/lib/triggers/watch-specific-channel-messages.d.ts +14 -0
  117. package/src/lib/triggers/watch-specific-channel-messages.js +58 -0
  118. package/src/lib/triggers/watch-specific-channel-messages.js.map +1 -0
  119. package/src/lib/triggers/watch-specific-group-messages.d.ts +14 -0
  120. package/src/lib/triggers/watch-specific-group-messages.js +66 -0
  121. package/src/lib/triggers/watch-specific-group-messages.js.map +1 -0
@@ -0,0 +1,14 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const watchSpecificChannelMessagesTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
3
+ session: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
4
+ channel: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
5
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
6
+ session: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
7
+ channel: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
8
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
9
+ session: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
10
+ channel: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
11
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
12
+ session: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
13
+ channel: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
14
+ }>;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.watchSpecificChannelMessagesTrigger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const auth_1 = require("../auth");
8
+ const client_1 = require("../common/client");
9
+ const props_1 = require("../common/props");
10
+ exports.watchSpecificChannelMessagesTrigger = (0, pieces_framework_1.createTrigger)({
11
+ auth: auth_1.whatsscaleAuth,
12
+ name: 'watch_specific_channel_messages',
13
+ displayName: 'Watch Specific Channel Messages',
14
+ description: 'Triggers when a new message is posted to a specific WhatsApp Channel.',
15
+ type: pieces_framework_1.TriggerStrategy.WEBHOOK,
16
+ props: {
17
+ session: props_1.whatsscaleProps.session,
18
+ channel: props_1.whatsscaleProps.channel,
19
+ },
20
+ sampleData: {
21
+ message_id: 'false_123123@newsletter_1111111111111111111111',
22
+ channel_id: '120363401850139775@newsletter',
23
+ body: 'New product launch announcement!',
24
+ has_media: false,
25
+ media_type: 'text',
26
+ media_url: '',
27
+ media_mimetype: '',
28
+ media_filename: '',
29
+ timestamp: '2026-02-18T10:30:00.000Z',
30
+ session_name: 'my_session',
31
+ },
32
+ onEnable(context) {
33
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
34
+ const auth = context.auth.secret_text;
35
+ yield (0, client_1.whatsscaleClient)(auth, pieces_common_1.HttpMethod.POST, '/make/hooks/subscribe', {
36
+ session: context.propsValue.session,
37
+ webhook_url: context.webhookUrl,
38
+ platform: 'activepieces',
39
+ trigger_type: 'channel',
40
+ filter_id: context.propsValue.channel, // includes @newsletter — send as-is
41
+ });
42
+ });
43
+ },
44
+ onDisable(context) {
45
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
46
+ const auth = context.auth.secret_text;
47
+ yield (0, client_1.whatsscaleClient)(auth, pieces_common_1.HttpMethod.POST, '/make/hooks/unsubscribe', {
48
+ webhook_url: context.webhookUrl,
49
+ });
50
+ });
51
+ },
52
+ run(context) {
53
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
+ return [context.payload.body];
55
+ });
56
+ },
57
+ });
58
+ //# sourceMappingURL=watch-specific-channel-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-specific-channel-messages.js","sourceRoot":"","sources":["../../../../src/lib/triggers/watch-specific-channel-messages.ts"],"names":[],"mappings":";;;;AAAA,qEAAgF;AAChF,+DAAyD;AACzD,kCAAyC;AACzC,6CAAoD;AACpD,2CAAkD;AAErC,QAAA,mCAAmC,GAAG,IAAA,gCAAa,EAAC;IAC/D,IAAI,EAAE,qBAAc;IACpB,IAAI,EAAE,iCAAiC;IACvC,WAAW,EAAE,iCAAiC;IAC9C,WAAW,EAAE,uEAAuE;IACpF,IAAI,EAAE,kCAAe,CAAC,OAAO;IAC7B,KAAK,EAAE;QACL,OAAO,EAAE,uBAAe,CAAC,OAAO;QAChC,OAAO,EAAE,uBAAe,CAAC,OAAO;KACjC;IACD,UAAU,EAAE;QACV,UAAU,EAAE,gDAAgD;QAC5D,UAAU,EAAE,+BAA+B;QAC3C,IAAI,EAAE,kCAAkC;QACxC,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,EAAE;QAClB,SAAS,EAAE,0BAA0B;QACrC,YAAY,EAAE,YAAY;KAC3B;IACK,QAAQ,CAAC,OAAO;;YACpB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YACtC,MAAM,IAAA,yBAAgB,EAAC,IAAI,EAAE,0BAAU,CAAC,IAAI,EAAE,uBAAuB,EAAE;gBACrE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;gBACnC,WAAW,EAAE,OAAO,CAAC,UAAU;gBAC/B,QAAQ,EAAE,cAAc;gBACxB,YAAY,EAAE,SAAS;gBACvB,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,oCAAoC;aAC5E,CAAC,CAAC;QACL,CAAC;KAAA;IACK,SAAS,CAAC,OAAO;;YACrB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YACtC,MAAM,IAAA,yBAAgB,EAAC,IAAI,EAAE,0BAAU,CAAC,IAAI,EAAE,yBAAyB,EAAE;gBACvE,WAAW,EAAE,OAAO,CAAC,UAAU;aAChC,CAAC,CAAC;QACL,CAAC;KAAA;IACK,GAAG,CAAC,OAAO;;YACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { TriggerStrategy } from '@activepieces/pieces-framework';
2
+ export declare const watchSpecificGroupMessagesTrigger: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
3
+ session: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
4
+ group: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
5
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
6
+ session: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
7
+ group: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
8
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
9
+ session: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
10
+ group: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
11
+ }> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").SecretTextProperty<true>, {
12
+ session: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
13
+ group: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
14
+ }>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.watchSpecificGroupMessagesTrigger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const auth_1 = require("../auth");
8
+ const client_1 = require("../common/client");
9
+ const props_1 = require("../common/props");
10
+ exports.watchSpecificGroupMessagesTrigger = (0, pieces_framework_1.createTrigger)({
11
+ auth: auth_1.whatsscaleAuth,
12
+ name: 'watch_specific_group_messages',
13
+ displayName: 'Watch Specific Group Messages',
14
+ description: 'Triggers when a new message is received in a specific WhatsApp group.',
15
+ type: pieces_framework_1.TriggerStrategy.WEBHOOK,
16
+ props: {
17
+ session: props_1.whatsscaleProps.session,
18
+ group: props_1.whatsscaleProps.group,
19
+ },
20
+ sampleData: {
21
+ message_id: '3EB0A1B2C3D4E5F6G7H8I9',
22
+ group_id: '120363423663126276@g.us',
23
+ participant_id: '43001330020491@lid',
24
+ participant_name: 'Jane Smith',
25
+ body: 'Hey everyone, meeting at 3pm today!',
26
+ has_media: false,
27
+ media_type: 'text',
28
+ media_url: '',
29
+ media_mimetype: '',
30
+ media_filename: '',
31
+ timestamp: '2026-02-18T10:30:00.000Z',
32
+ is_forwarded: false,
33
+ quoted_message_id: '',
34
+ quoted_body: '',
35
+ is_reply: false,
36
+ from_name: 'Jane Smith',
37
+ chat_id: '120363423663126276@g.us',
38
+ session_name: 'my_session',
39
+ },
40
+ onEnable(context) {
41
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
42
+ const auth = context.auth.secret_text;
43
+ yield (0, client_1.whatsscaleClient)(auth, pieces_common_1.HttpMethod.POST, '/make/hooks/subscribe', {
44
+ session: context.propsValue.session,
45
+ webhook_url: context.webhookUrl,
46
+ platform: 'activepieces',
47
+ trigger_type: 'group',
48
+ filter_id: context.propsValue.group, // includes @g.us — send as-is
49
+ });
50
+ });
51
+ },
52
+ onDisable(context) {
53
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
+ const auth = context.auth.secret_text;
55
+ yield (0, client_1.whatsscaleClient)(auth, pieces_common_1.HttpMethod.POST, '/make/hooks/unsubscribe', {
56
+ webhook_url: context.webhookUrl,
57
+ });
58
+ });
59
+ },
60
+ run(context) {
61
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
62
+ return [context.payload.body];
63
+ });
64
+ },
65
+ });
66
+ //# sourceMappingURL=watch-specific-group-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-specific-group-messages.js","sourceRoot":"","sources":["../../../../src/lib/triggers/watch-specific-group-messages.ts"],"names":[],"mappings":";;;;AAAA,qEAAgF;AAChF,+DAAyD;AACzD,kCAAyC;AACzC,6CAAoD;AACpD,2CAAkD;AAErC,QAAA,iCAAiC,GAAG,IAAA,gCAAa,EAAC;IAC7D,IAAI,EAAE,qBAAc;IACpB,IAAI,EAAE,+BAA+B;IACrC,WAAW,EAAE,+BAA+B;IAC5C,WAAW,EAAE,uEAAuE;IACpF,IAAI,EAAE,kCAAe,CAAC,OAAO;IAC7B,KAAK,EAAE;QACL,OAAO,EAAE,uBAAe,CAAC,OAAO;QAChC,KAAK,EAAE,uBAAe,CAAC,KAAK;KAC7B;IACD,UAAU,EAAE;QACV,UAAU,EAAE,wBAAwB;QACpC,QAAQ,EAAE,yBAAyB;QACnC,cAAc,EAAE,oBAAoB;QACpC,gBAAgB,EAAE,YAAY;QAC9B,IAAI,EAAE,qCAAqC;QAC3C,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,EAAE;QAClB,SAAS,EAAE,0BAA0B;QACrC,YAAY,EAAE,KAAK;QACnB,iBAAiB,EAAE,EAAE;QACrB,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,yBAAyB;QAClC,YAAY,EAAE,YAAY;KAC3B;IACK,QAAQ,CAAC,OAAO;;YACpB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YACtC,MAAM,IAAA,yBAAgB,EAAC,IAAI,EAAE,0BAAU,CAAC,IAAI,EAAE,uBAAuB,EAAE;gBACrE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;gBACnC,WAAW,EAAE,OAAO,CAAC,UAAU;gBAC/B,QAAQ,EAAE,cAAc;gBACxB,YAAY,EAAE,OAAO;gBACrB,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,8BAA8B;aACpE,CAAC,CAAC;QACL,CAAC;KAAA;IACK,SAAS,CAAC,OAAO;;YACrB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YACtC,MAAM,IAAA,yBAAgB,EAAC,IAAI,EAAE,0BAAU,CAAC,IAAI,EAAE,yBAAyB,EAAE;gBACvE,WAAW,EAAE,OAAO,CAAC,UAAU;aAChC,CAAC,CAAC;QACL,CAAC;KAAA;IACK,GAAG,CAAC,OAAO;;YACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;KAAA;CACF,CAAC,CAAC"}