@segment/action-destinations 3.214.0 → 3.216.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/destinations/airship/utilities.js +3 -2
- package/dist/destinations/airship/utilities.js.map +1 -1
- package/dist/destinations/amplitude/identifyUser/generated-types.d.ts +4 -0
- package/dist/destinations/amplitude/identifyUser/index.js +5 -3
- package/dist/destinations/amplitude/identifyUser/index.js.map +1 -1
- package/dist/destinations/amplitude/logEvent/generated-types.d.ts +4 -0
- package/dist/destinations/amplitude/logEvent/index.js +5 -3
- package/dist/destinations/amplitude/logEvent/index.js.map +1 -1
- package/dist/destinations/amplitude/logEventV2/generated-types.d.ts +4 -0
- package/dist/destinations/amplitude/logEventV2/index.js +5 -3
- package/dist/destinations/amplitude/logEventV2/index.js.map +1 -1
- package/dist/destinations/amplitude/logPurchase/generated-types.d.ts +4 -0
- package/dist/destinations/amplitude/logPurchase/index.js +5 -3
- package/dist/destinations/amplitude/logPurchase/index.js.map +1 -1
- package/dist/destinations/amplitude/properties.d.ts +2 -0
- package/dist/destinations/amplitude/properties.js +23 -0
- package/dist/destinations/amplitude/properties.js.map +1 -0
- package/dist/destinations/amplitude/user-agent.d.ts +5 -1
- package/dist/destinations/amplitude/user-agent.js +3 -3
- package/dist/destinations/amplitude/user-agent.js.map +1 -1
- package/dist/destinations/emarsys/upsertContact/generated-types.d.ts +0 -3
- package/dist/destinations/emarsys/upsertContact/index.js +1 -14
- package/dist/destinations/emarsys/upsertContact/index.js.map +1 -1
- package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js +10 -2
- package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js.map +1 -1
- package/dist/destinations/engage/utils/EngageStats.js.map +1 -1
- package/dist/destinations/facebook-custom-audiences/index.js +1 -14
- package/dist/destinations/facebook-custom-audiences/index.js.map +1 -1
- package/dist/destinations/index.js +1 -0
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/klaviyo/index.js +7 -1
- package/dist/destinations/klaviyo/index.js.map +1 -1
- package/dist/destinations/klaviyo/upsertProfile/generated-types.d.ts +3 -0
- package/dist/destinations/klaviyo/upsertProfile/generated-types.js +3 -0
- package/dist/destinations/klaviyo/upsertProfile/generated-types.js.map +1 -0
- package/dist/destinations/klaviyo/upsertProfile/index.d.ts +5 -0
- package/dist/destinations/klaviyo/upsertProfile/index.js +18 -0
- package/dist/destinations/klaviyo/upsertProfile/index.js.map +1 -0
- package/dist/destinations/linkedin-audiences/updateAudience/index.js +2 -1
- package/dist/destinations/linkedin-audiences/updateAudience/index.js.map +1 -1
- package/dist/destinations/listrak/updateEmailContactProfileFields/index.js.map +1 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.d.ts +16 -0
- package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.js +3 -0
- package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.js.map +1 -0
- package/dist/destinations/m3ter/auth.js.map +1 -1
- package/dist/destinations/m3ter/submitMeasurements/index.js +3 -3
- package/dist/destinations/m3ter/submitMeasurements/index.js.map +1 -1
- package/dist/destinations/mixpanel/mixpanel-properties.js +49 -0
- package/dist/destinations/mixpanel/mixpanel-properties.js.map +1 -1
- package/dist/destinations/mixpanel/mixpanel-types.d.ts +7 -0
- package/dist/destinations/mixpanel/trackEvent/functions.js +6 -0
- package/dist/destinations/mixpanel/trackEvent/functions.js.map +1 -1
- package/dist/destinations/mixpanel/trackEvent/generated-types.d.ts +10 -0
- package/dist/destinations/mixpanel/trackPurchase/generated-types.d.ts +10 -0
- package/dist/destinations/playerzero-cloud/identifyUser/index.js +3 -3
- package/dist/destinations/segment/properties.js +4 -4
- package/dist/destinations/segment/properties.js.map +1 -1
- package/dist/destinations/segment/sendTrack/generated-types.d.ts +3 -0
- package/dist/destinations/segment/sendTrack/index.js +5 -1
- package/dist/destinations/segment/sendTrack/index.js.map +1 -1
- package/dist/destinations/snap-conversions-api/_tests_/index.test.js +0 -37
- package/dist/destinations/snap-conversions-api/_tests_/index.test.js.map +1 -1
- package/dist/destinations/snap-conversions-api/reportConversionEvent/generated-types.d.ts +0 -8
- package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js +0 -2
- package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js.map +1 -1
- package/dist/destinations/snap-conversions-api/snap-capi-properties.d.ts +0 -2
- package/dist/destinations/snap-conversions-api/snap-capi-properties.js +5 -96
- package/dist/destinations/snap-conversions-api/snap-capi-properties.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/awsClient.d.ts +1 -0
- package/dist/destinations/the-trade-desk-crm/awsClient.js +2 -1
- package/dist/destinations/the-trade-desk-crm/awsClient.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/functions.d.ts +1 -0
- package/dist/destinations/the-trade-desk-crm/functions.js +57 -9
- package/dist/destinations/the-trade-desk-crm/functions.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/index.d.ts +2 -13
- package/dist/destinations/the-trade-desk-crm/index.js +21 -14
- package/dist/destinations/the-trade-desk-crm/index.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/properties.d.ts +2 -1
- package/dist/destinations/the-trade-desk-crm/properties.js +30 -27
- package/dist/destinations/the-trade-desk-crm/properties.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/syncAudience/generated-types.d.ts +3 -2
- package/dist/destinations/the-trade-desk-crm/syncAudience/index.js +2 -1
- package/dist/destinations/the-trade-desk-crm/syncAudience/index.js.map +1 -1
- package/dist/destinations/webhook-audiences/index.js +1 -13
- package/dist/destinations/webhook-audiences/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -7,7 +7,6 @@ const action = {
|
|
|
7
7
|
title: 'Report Conversion Event',
|
|
8
8
|
description: 'Report events directly to Snapchat. Data shared can power Snap solutions such as custom audience targeting, campaign optimization, Dynamic Ads, and more.',
|
|
9
9
|
fields: {
|
|
10
|
-
products: snap_capi_properties_1.products,
|
|
11
10
|
event_type: { ...snap_capi_properties_1.event_type, required: true },
|
|
12
11
|
event_conversion_type: { ...snap_capi_properties_1.event_conversion_type, required: true },
|
|
13
12
|
event_tag: snap_capi_properties_1.event_tag,
|
|
@@ -20,7 +19,6 @@ const action = {
|
|
|
20
19
|
user_agent: snap_capi_properties_1.user_agent,
|
|
21
20
|
ip_address: snap_capi_properties_1.ip_address,
|
|
22
21
|
item_category: snap_capi_properties_1.item_category,
|
|
23
|
-
brands: snap_capi_properties_1.brands,
|
|
24
22
|
item_ids: snap_capi_properties_1.item_ids,
|
|
25
23
|
description: snap_capi_properties_1.description,
|
|
26
24
|
number_items: snap_capi_properties_1.number_items,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/snap-conversions-api/reportConversionEvent/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAG1E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/snap-conversions-api/reportConversionEvent/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAG1E,kEA8BgC;AAEhC,MAAM,oBAAoB,GAAG,uCAAuC,CAAA;AAEpE,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,yBAAyB;IAChC,WAAW,EACT,2JAA2J;IAC7J,MAAM,EAAE;QACN,UAAU,EAAE,EAAE,GAAG,iCAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,qBAAqB,EAAE,EAAE,GAAG,4CAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE;QACnE,SAAS,EAAE,gCAAS;QACpB,SAAS,EAAE,EAAE,GAAG,gCAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3C,KAAK,EAAE,4BAAK;QACZ,YAAY,EAAE,mCAAY;QAC1B,OAAO,EAAE,8BAAO;QAChB,IAAI,EAAE,2BAAI;QACV,YAAY,EAAE,mCAAY;QAC1B,UAAU,EAAE,iCAAU;QACtB,UAAU,EAAE,iCAAU;QACtB,aAAa,EAAE,oCAAa;QAC5B,QAAQ,EAAE,+BAAQ;QAClB,WAAW,EAAE,kCAAW;QACxB,YAAY,EAAE,mCAAY;QAC1B,KAAK,EAAE,4BAAK;QACZ,QAAQ,EAAE,+BAAQ;QAClB,cAAc,EAAE,qCAAc;QAC9B,KAAK,EAAE,4BAAK;QACZ,eAAe,EAAE,sCAAe;QAChC,aAAa,EAAE,oCAAa;QAC5B,QAAQ,EAAE,+BAAQ;QAClB,cAAc,EAAE,qCAAc;QAC9B,UAAU,EAAE,iCAAU;QACtB,YAAY,EAAE,mCAAY;QAC1B,QAAQ,EAAE,+BAAQ;KACnB;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,8CAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE;YAC9F,MAAM,IAAI,+BAAgB,CACxB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,gCAAgC,EACxD,8BAA8B,EAC9B,GAAG,CACJ,CAAA;SACF;QAED,IACE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;YACnB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YAC1B,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;YAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EACtD;YACA,MAAM,IAAI,+BAAgB,CACxB,wHAAwH,EACxH,8BAA8B,EAC9B,GAAG,CACJ,CAAA;SACF;QAED,MAAM,OAAO,GAAW,oCAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAa,qCAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;QAG5F,OAAO,OAAO,CAAC,oBAAoB,EAAE;YACnC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,WAAW,EAAE,SAAS;gBACtB,GAAG,OAAO;gBACV,GAAG,QAAQ;aACZ;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -2,7 +2,6 @@ import { InputField } from '@segment/actions-core/destination-kit/types';
|
|
|
2
2
|
import { Settings } from '../snap-conversions-api/generated-types';
|
|
3
3
|
import { Payload } from './reportConversionEvent/generated-types';
|
|
4
4
|
export declare const CURRENCY_ISO_4217_CODES: Set<string>;
|
|
5
|
-
export declare const products: InputField;
|
|
6
5
|
export declare const event_type: InputField;
|
|
7
6
|
export declare const event_conversion_type: InputField;
|
|
8
7
|
export declare const event_tag: InputField;
|
|
@@ -15,7 +14,6 @@ export declare const phone_number: InputField;
|
|
|
15
14
|
export declare const user_agent: InputField;
|
|
16
15
|
export declare const ip_address: InputField;
|
|
17
16
|
export declare const item_category: InputField;
|
|
18
|
-
export declare const brands: InputField;
|
|
19
17
|
export declare const item_ids: InputField;
|
|
20
18
|
export declare const description: InputField;
|
|
21
19
|
export declare const number_items: InputField;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatPayload = exports.hash = exports.conversionType = exports.click_id = exports.os_version = exports.device_model = exports.sign_up_method = exports.page_url = exports.search_string = exports.client_dedup_id = exports.level = exports.transaction_id = exports.currency = exports.price = exports.number_items = exports.description = exports.item_ids = exports.
|
|
3
|
+
exports.formatPayload = exports.hash = exports.conversionType = exports.click_id = exports.os_version = exports.device_model = exports.sign_up_method = exports.page_url = exports.search_string = exports.client_dedup_id = exports.level = exports.transaction_id = exports.currency = exports.price = exports.number_items = exports.description = exports.item_ids = exports.item_category = exports.ip_address = exports.user_agent = exports.phone_number = exports.idfv = exports.uuid_c1 = exports.mobile_ad_id = exports.email = exports.timestamp = exports.event_tag = exports.event_conversion_type = exports.event_type = exports.CURRENCY_ISO_4217_CODES = void 0;
|
|
4
4
|
const actions_core_1 = require("@segment/actions-core");
|
|
5
5
|
const crypto_1 = require("crypto");
|
|
6
6
|
exports.CURRENCY_ISO_4217_CODES = new Set([
|
|
@@ -65,67 +65,6 @@ exports.CURRENCY_ISO_4217_CODES = new Set([
|
|
|
65
65
|
'OMR',
|
|
66
66
|
'XOF'
|
|
67
67
|
]);
|
|
68
|
-
exports.products = {
|
|
69
|
-
label: 'Products',
|
|
70
|
-
description: 'List of products or items to include. Note: this field overrides the Item IDs, Number of Items, Price, Item Category and Brands fields.',
|
|
71
|
-
type: 'object',
|
|
72
|
-
multiple: true,
|
|
73
|
-
additionalProperties: false,
|
|
74
|
-
properties: {
|
|
75
|
-
item_id: {
|
|
76
|
-
label: 'Item ID',
|
|
77
|
-
type: 'string',
|
|
78
|
-
description: 'International Article Number (EAN) when applicable, or other product or category identifier.',
|
|
79
|
-
allowNull: false
|
|
80
|
-
},
|
|
81
|
-
number_items: {
|
|
82
|
-
label: 'Number of Items',
|
|
83
|
-
type: 'integer',
|
|
84
|
-
description: 'Number of items.',
|
|
85
|
-
allowNull: false
|
|
86
|
-
},
|
|
87
|
-
price: {
|
|
88
|
-
label: 'Price',
|
|
89
|
-
type: 'number',
|
|
90
|
-
description: 'Value of the purchase. This should be a single number.',
|
|
91
|
-
allowNull: false
|
|
92
|
-
},
|
|
93
|
-
item_category: {
|
|
94
|
-
label: 'Category',
|
|
95
|
-
type: 'string',
|
|
96
|
-
description: 'Category of the item.',
|
|
97
|
-
allowNull: false
|
|
98
|
-
},
|
|
99
|
-
brand: {
|
|
100
|
-
label: 'Brand',
|
|
101
|
-
type: 'string',
|
|
102
|
-
description: 'The brand associated with the item_id in the conversion event.',
|
|
103
|
-
allowNull: false
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
default: {
|
|
107
|
-
'@arrayPath': [
|
|
108
|
-
'$.properties.products',
|
|
109
|
-
{
|
|
110
|
-
item_id: {
|
|
111
|
-
'@path': 'product_id'
|
|
112
|
-
},
|
|
113
|
-
number_items: {
|
|
114
|
-
'@path': 'quantity'
|
|
115
|
-
},
|
|
116
|
-
price: {
|
|
117
|
-
'@path': 'price'
|
|
118
|
-
},
|
|
119
|
-
item_category: {
|
|
120
|
-
'@path': 'category'
|
|
121
|
-
},
|
|
122
|
-
brand: {
|
|
123
|
-
'@path': 'brand'
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
]
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
68
|
exports.event_type = {
|
|
130
69
|
label: 'Event Type',
|
|
131
70
|
description: 'The conversion event type. For custom events, you must use one of the predefined event types (i.e. CUSTOM_EVENT_1). Please refer to the possible event types in [Snapchat Marketing API docs](https://marketingapi.snapchat.com/docs/conversion.html#conversion-parameters).',
|
|
@@ -223,15 +162,6 @@ exports.item_category = {
|
|
|
223
162
|
'@path': '$.properties.category'
|
|
224
163
|
}
|
|
225
164
|
};
|
|
226
|
-
exports.brands = {
|
|
227
|
-
label: 'Brands',
|
|
228
|
-
description: 'Brands associated with the item_ids in the conversion event. This parameter/’s value should be formatted as a list of strings',
|
|
229
|
-
type: 'string',
|
|
230
|
-
multiple: true,
|
|
231
|
-
default: {
|
|
232
|
-
'@path': '$.properties.brands'
|
|
233
|
-
}
|
|
234
|
-
};
|
|
235
165
|
exports.item_ids = {
|
|
236
166
|
label: 'Item IDs',
|
|
237
167
|
description: 'International Article Number (EAN) when applicable, or other product or category identifier.',
|
|
@@ -353,13 +283,6 @@ const hash = (value) => {
|
|
|
353
283
|
};
|
|
354
284
|
exports.hash = hash;
|
|
355
285
|
const isHashedEmail = (email) => new RegExp(/[0-9abcdef]{64}/gi).test(email);
|
|
356
|
-
const transformProperty = (property, items) => items
|
|
357
|
-
.map((i) => i[property] === undefined || i[property] === null
|
|
358
|
-
? ''
|
|
359
|
-
: typeof i[property] === 'number'
|
|
360
|
-
? i[property].toString()
|
|
361
|
-
: i[property].toString().replace(/;/g, ''))
|
|
362
|
-
.join(';');
|
|
363
286
|
const formatPayload = (payload) => {
|
|
364
287
|
if (payload.email) {
|
|
365
288
|
payload.email = payload.email.replace(/\s/g, '').toLowerCase();
|
|
@@ -370,19 +293,6 @@ const formatPayload = (payload) => {
|
|
|
370
293
|
if (payload.mobile_ad_id) {
|
|
371
294
|
payload.mobile_ad_id = payload.mobile_ad_id.toLowerCase();
|
|
372
295
|
}
|
|
373
|
-
let item_ids = undefined;
|
|
374
|
-
let number_items = undefined;
|
|
375
|
-
let item_category = undefined;
|
|
376
|
-
let price = undefined;
|
|
377
|
-
let brands = undefined;
|
|
378
|
-
const p = payload?.products;
|
|
379
|
-
if (p && Array.isArray(p) && p.length > 0) {
|
|
380
|
-
item_ids = transformProperty('item_id', p);
|
|
381
|
-
number_items = transformProperty('number_items', p);
|
|
382
|
-
item_category = transformProperty('item_category', p);
|
|
383
|
-
price = transformProperty('price', p);
|
|
384
|
-
brands = p.map((product) => (product.brand !== undefined ? product.brand : ''));
|
|
385
|
-
}
|
|
386
296
|
return {
|
|
387
297
|
event_type: payload?.event_type,
|
|
388
298
|
event_conversion_type: payload?.event_conversion_type,
|
|
@@ -395,12 +305,11 @@ const formatPayload = (payload) => {
|
|
|
395
305
|
hashed_phone_number: exports.hash(payload?.phone_number),
|
|
396
306
|
user_agent: payload?.user_agent,
|
|
397
307
|
hashed_ip_address: exports.hash(payload?.ip_address),
|
|
398
|
-
item_category:
|
|
399
|
-
|
|
400
|
-
item_ids: item_ids ?? payload?.item_ids,
|
|
308
|
+
item_category: payload?.item_category,
|
|
309
|
+
item_ids: payload?.item_ids,
|
|
401
310
|
description: payload?.description,
|
|
402
|
-
number_items:
|
|
403
|
-
price:
|
|
311
|
+
number_items: payload?.number_items,
|
|
312
|
+
price: payload?.price,
|
|
404
313
|
currency: payload?.currency,
|
|
405
314
|
transaction_id: payload?.transaction_id,
|
|
406
315
|
level: payload?.level,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snap-capi-properties.js","sourceRoot":"","sources":["../../../src/destinations/snap-conversions-api/snap-capi-properties.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AAExD,mCAAmC;AAItB,QAAA,uBAAuB,GAAG,IAAI,GAAG,CAAC;IAC7C,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC,CAAA;AAEW,QAAA,
|
|
1
|
+
{"version":3,"file":"snap-capi-properties.js","sourceRoot":"","sources":["../../../src/destinations/snap-conversions-api/snap-capi-properties.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ const uuid_1 = require("@lukeed/uuid");
|
|
|
8
8
|
const aws4_1 = __importDefault(require("aws4"));
|
|
9
9
|
const actions_core_1 = require("@segment/actions-core");
|
|
10
10
|
const sts_1 = require("../../lib/AWS/sts");
|
|
11
|
-
const NODE_ENV = `stage`;
|
|
11
|
+
const NODE_ENV = process.env['NODE_ENV'] || `stage`;
|
|
12
12
|
const AWS_REGION = process.env['AWS_REGION'] || `us-west-2`;
|
|
13
13
|
const S3_BUCKET_NAME = `integrations-outbound-event-store-${NODE_ENV}-${AWS_REGION}`;
|
|
14
14
|
const ACTION_SLUG = `actions-the-trade-desk-crm`;
|
|
@@ -19,6 +19,7 @@ const sendEventToAWS = async (request, input) => {
|
|
|
19
19
|
const metadata = JSON.stringify({
|
|
20
20
|
TDDAuthToken: input.TDDAuthToken,
|
|
21
21
|
AdvertiserId: input.AdvertiserId,
|
|
22
|
+
SegmentName: input.SegmentName,
|
|
22
23
|
CrmDataId: input.CrmDataId,
|
|
23
24
|
DropOptions: input.DropOptions,
|
|
24
25
|
RequeueCount: 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awsClient.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/awsClient.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA2C;AAC3C,gDAAuB;AAEvB,wDAAiF;AACjF,2CAA4E;
|
|
1
|
+
{"version":3,"file":"awsClient.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/awsClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ interface ProcessPayloadInput {
|
|
|
33
33
|
features?: Record<string, boolean>;
|
|
34
34
|
}
|
|
35
35
|
export declare const TTD_LEGACY_FLOW_FLAG_NAME = "actions-the-trade-desk-crm-legacy-flow";
|
|
36
|
+
export declare const TTD_LIST_ACTION_FLOW_FLAG_NAME = "ttd-list-action-destination";
|
|
36
37
|
export declare function processPayload(input: ProcessPayloadInput): Promise<ModifiedResponse<unknown>>;
|
|
37
38
|
export declare const hash: (value: string) => string;
|
|
38
39
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hash = exports.processPayload = exports.TTD_LEGACY_FLOW_FLAG_NAME = void 0;
|
|
3
|
+
exports.hash = exports.processPayload = exports.TTD_LIST_ACTION_FLOW_FLAG_NAME = exports.TTD_LEGACY_FLOW_FLAG_NAME = void 0;
|
|
4
4
|
const actions_core_1 = require("@segment/actions-core");
|
|
5
5
|
const crypto_1 = require("crypto");
|
|
6
6
|
const awsClient_1 = require("./awsClient");
|
|
@@ -8,13 +8,20 @@ const API_VERSION = 'v3';
|
|
|
8
8
|
const BASE_URL = `https://api.thetradedesk.com/${API_VERSION}`;
|
|
9
9
|
const TTD_MIN_RECORD_COUNT = 1500;
|
|
10
10
|
exports.TTD_LEGACY_FLOW_FLAG_NAME = 'actions-the-trade-desk-crm-legacy-flow';
|
|
11
|
+
exports.TTD_LIST_ACTION_FLOW_FLAG_NAME = 'ttd-list-action-destination';
|
|
11
12
|
async function processPayload(input) {
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
let crmID;
|
|
14
|
+
if (input?.features?.[exports.TTD_LIST_ACTION_FLOW_FLAG_NAME]) {
|
|
15
|
+
crmID = input?.payloads?.[0]?.external_id || '';
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
crmID = await getCRMInfo(input.request, input.settings, input.payloads[0]);
|
|
14
19
|
}
|
|
15
|
-
const crmID = input.payloads[0].external_id;
|
|
16
20
|
const usersFormatted = extractUsers(input.payloads);
|
|
17
21
|
if (input.features && input.features[exports.TTD_LEGACY_FLOW_FLAG_NAME]) {
|
|
22
|
+
if (input.payloads.length < TTD_MIN_RECORD_COUNT) {
|
|
23
|
+
throw new actions_core_1.PayloadValidationError(`received payload count below The Trade Desk's ingestion minimum. Expected: >=${TTD_MIN_RECORD_COUNT} actual: ${input.payloads.length}`);
|
|
24
|
+
}
|
|
18
25
|
const dropEndpoint = await getCRMDataDropEndpoint(input.request, input.settings, input.payloads[0], crmID);
|
|
19
26
|
return uploadCRMDataToDropEndpoint(input.request, dropEndpoint, usersFormatted);
|
|
20
27
|
}
|
|
@@ -23,15 +30,60 @@ async function processPayload(input) {
|
|
|
23
30
|
TDDAuthToken: input.settings.auth_token,
|
|
24
31
|
AdvertiserId: input.settings.advertiser_id,
|
|
25
32
|
CrmDataId: crmID,
|
|
33
|
+
SegmentName: input.payloads[0].name,
|
|
26
34
|
UsersFormatted: usersFormatted,
|
|
27
35
|
DropOptions: {
|
|
28
36
|
PiiType: input.payloads[0].pii_type,
|
|
29
|
-
MergeMode:
|
|
37
|
+
MergeMode: 'Replace'
|
|
30
38
|
}
|
|
31
39
|
});
|
|
32
40
|
}
|
|
33
41
|
}
|
|
34
42
|
exports.processPayload = processPayload;
|
|
43
|
+
async function getAllDataSegments(request, settings) {
|
|
44
|
+
const allDataSegments = [];
|
|
45
|
+
let response = await request(`${BASE_URL}/crmdata/segment/${settings.advertiser_id}`, {
|
|
46
|
+
method: 'GET'
|
|
47
|
+
});
|
|
48
|
+
let segments = response.data.Segments;
|
|
49
|
+
let pagingToken = response.data.PagingToken;
|
|
50
|
+
while (segments.length > 0) {
|
|
51
|
+
allDataSegments.push(...segments);
|
|
52
|
+
response = await request(`${BASE_URL}/crmdata/segment/${settings.advertiser_id}?pagingToken=${pagingToken}`, {
|
|
53
|
+
method: 'GET'
|
|
54
|
+
});
|
|
55
|
+
segments = response.data.Segments;
|
|
56
|
+
pagingToken = response.data.PagingToken;
|
|
57
|
+
}
|
|
58
|
+
return allDataSegments;
|
|
59
|
+
}
|
|
60
|
+
async function getCRMInfo(request, settings, payload) {
|
|
61
|
+
let segmentId;
|
|
62
|
+
const segments = await getAllDataSegments(request, settings);
|
|
63
|
+
const segmentExists = segments.filter(function (segment) {
|
|
64
|
+
if (segment.SegmentName == payload.name) {
|
|
65
|
+
return segment;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
if (segmentExists.length > 1) {
|
|
69
|
+
throw new actions_core_1.IntegrationError('Multiple audiences found with the same name', 'INVALID_SETTINGS', 400);
|
|
70
|
+
}
|
|
71
|
+
else if (segmentExists.length == 1) {
|
|
72
|
+
segmentId = segmentExists[0].CrmDataId;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
const response = await request(`${BASE_URL}/crmdata/segment`, {
|
|
76
|
+
method: 'POST',
|
|
77
|
+
json: {
|
|
78
|
+
AdvertiserId: settings.advertiser_id,
|
|
79
|
+
SegmentName: payload.name,
|
|
80
|
+
Region: payload.region
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
segmentId = response.data.CrmDataId;
|
|
84
|
+
}
|
|
85
|
+
return segmentId;
|
|
86
|
+
}
|
|
35
87
|
function extractUsers(payloads) {
|
|
36
88
|
let users = '';
|
|
37
89
|
payloads.forEach((payload) => {
|
|
@@ -72,10 +124,6 @@ exports.hash = hash;
|
|
|
72
124
|
async function getCRMDataDropEndpoint(request, settings, payload, crmId) {
|
|
73
125
|
const response = await request(`${BASE_URL}/crmdata/segment/${settings.advertiser_id}/${crmId}`, {
|
|
74
126
|
method: 'POST',
|
|
75
|
-
headers: {
|
|
76
|
-
'Content-Type': 'application/json',
|
|
77
|
-
'TTD-Auth': settings.auth_token
|
|
78
|
-
},
|
|
79
127
|
json: {
|
|
80
128
|
PiiType: payload.pii_type,
|
|
81
129
|
MergeMode: 'Replace'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/functions.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { AudienceDestinationDefinition } from '@segment/actions-core';
|
|
2
2
|
import type { Settings, AudienceSettings } from './generated-types';
|
|
3
|
-
export interface
|
|
3
|
+
export interface CreateApiResponse {
|
|
4
4
|
CrmDataId: string;
|
|
5
5
|
FirstPartyDataId: number;
|
|
6
6
|
}
|
|
7
|
-
export interface
|
|
7
|
+
export interface GetApiResponse {
|
|
8
8
|
AdvertiserId: string;
|
|
9
9
|
CrmDataId: string;
|
|
10
10
|
SegmentName: number;
|
|
@@ -15,16 +15,5 @@ export interface Segments {
|
|
|
15
15
|
Region: string;
|
|
16
16
|
FirstPartyDataId: number;
|
|
17
17
|
}
|
|
18
|
-
export interface GET_CRMS_API_RESPONSE {
|
|
19
|
-
Segments: [
|
|
20
|
-
{
|
|
21
|
-
CrmDataId: string;
|
|
22
|
-
SegmentName: string;
|
|
23
|
-
Region: string;
|
|
24
|
-
FirstPartyDataId: number;
|
|
25
|
-
}
|
|
26
|
-
];
|
|
27
|
-
PagingToken: string;
|
|
28
|
-
}
|
|
29
18
|
declare const destination: AudienceDestinationDefinition<Settings, AudienceSettings>;
|
|
30
19
|
export default destination;
|
|
@@ -8,7 +8,7 @@ const syncAudience_1 = __importDefault(require("./syncAudience"));
|
|
|
8
8
|
const API_VERSION = 'v3';
|
|
9
9
|
const BASE_URL = `https://api.thetradedesk.com/${API_VERSION}`;
|
|
10
10
|
const destination = {
|
|
11
|
-
name: 'The Trade Desk
|
|
11
|
+
name: 'The Trade Desk CRM',
|
|
12
12
|
slug: 'actions-the-trade-desk-crm',
|
|
13
13
|
mode: 'cloud',
|
|
14
14
|
authentication: {
|
|
@@ -42,38 +42,50 @@ const destination = {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
},
|
|
45
|
+
extendRequest({ settings }) {
|
|
46
|
+
return {
|
|
47
|
+
headers: {
|
|
48
|
+
'TTD-Auth': `${settings.auth_token}`,
|
|
49
|
+
'Content-Type': 'application/json'
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
},
|
|
45
53
|
audienceFields: {
|
|
46
54
|
region: {
|
|
47
55
|
type: 'string',
|
|
48
56
|
label: 'Region',
|
|
49
|
-
description: 'Region of your audience.'
|
|
57
|
+
description: 'Region of your audience.',
|
|
58
|
+
default: 'US',
|
|
59
|
+
choices: [
|
|
60
|
+
{ label: 'US', value: 'US' },
|
|
61
|
+
{ label: 'EU', value: 'EU' },
|
|
62
|
+
{ label: 'APAC', value: 'APAC' }
|
|
63
|
+
]
|
|
50
64
|
}
|
|
51
65
|
},
|
|
52
66
|
audienceConfig: {
|
|
53
67
|
mode: {
|
|
54
68
|
type: 'synced',
|
|
55
|
-
full_audience_sync:
|
|
69
|
+
full_audience_sync: true
|
|
56
70
|
},
|
|
57
71
|
async createAudience(request, createAudienceInput) {
|
|
58
72
|
const audienceName = createAudienceInput.audienceName;
|
|
59
73
|
const advertiserId = createAudienceInput.settings.advertiser_id;
|
|
60
|
-
const authToken = createAudienceInput.settings.auth_token;
|
|
61
74
|
const region = createAudienceInput.audienceSettings?.region;
|
|
62
75
|
if (audienceName?.length == 0) {
|
|
63
76
|
throw new actions_core_1.IntegrationError('Missing audience name value', 'MISSING_REQUIRED_FIELD', 400);
|
|
64
77
|
}
|
|
65
78
|
const response = await request(`${BASE_URL}/crmdata/segment`, {
|
|
66
79
|
method: 'POST',
|
|
67
|
-
headers: {
|
|
68
|
-
'Content-Type': 'application/json',
|
|
69
|
-
'TTD-Auth': authToken
|
|
70
|
-
},
|
|
71
80
|
json: {
|
|
72
81
|
AdvertiserId: advertiserId,
|
|
73
82
|
SegmentName: audienceName,
|
|
74
83
|
Region: region
|
|
75
84
|
}
|
|
76
85
|
});
|
|
86
|
+
if (response.status !== 200) {
|
|
87
|
+
throw new actions_core_1.IntegrationError('Invalid response from create audience request', 'INVALID_RESPONSE', 400);
|
|
88
|
+
}
|
|
77
89
|
return {
|
|
78
90
|
externalId: response.data.CrmDataId
|
|
79
91
|
};
|
|
@@ -81,13 +93,8 @@ const destination = {
|
|
|
81
93
|
async getAudience(request, getAudienceInput) {
|
|
82
94
|
const crmDataId = getAudienceInput.externalId;
|
|
83
95
|
const advertiserId = getAudienceInput.settings.advertiser_id;
|
|
84
|
-
const authToken = getAudienceInput.settings.auth_token;
|
|
85
96
|
const response = await request(`${BASE_URL}/crmdata/segment/${advertiserId}/${crmDataId}`, {
|
|
86
|
-
method: 'GET'
|
|
87
|
-
headers: {
|
|
88
|
-
'Content-Type': 'application/json',
|
|
89
|
-
'TTD-Auth': authToken
|
|
90
|
-
}
|
|
97
|
+
method: 'GET'
|
|
91
98
|
});
|
|
92
99
|
if (response.status !== 200) {
|
|
93
100
|
throw new actions_core_1.IntegrationError('Invalid response from get audience request', 'INVALID_RESPONSE', 400);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/index.ts"],"names":[],"mappings":";;;;;AAEA,wDAAwD;AAExD,kEAAyC;AACzC,MAAM,WAAW,GAAG,IAAI,CAAA;AACxB,MAAM,QAAQ,GAAG,gCAAgC,WAAW,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { InputField } from '@segment/actions-core/destination-kit/types';
|
|
2
2
|
export declare const external_id: InputField;
|
|
3
|
+
export declare const name: InputField;
|
|
4
|
+
export declare const region: InputField;
|
|
3
5
|
export declare const pii_type: InputField;
|
|
4
6
|
export declare const email: InputField;
|
|
5
7
|
export declare const event_name: InputField;
|
|
6
8
|
export declare const enable_batching: InputField;
|
|
7
9
|
export declare const batch_size: InputField;
|
|
8
|
-
export declare const merge_mode: InputField;
|
|
@@ -1,14 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.batch_size = exports.enable_batching = exports.event_name = exports.email = exports.pii_type = exports.region = exports.name = exports.external_id = void 0;
|
|
4
4
|
exports.external_id = {
|
|
5
5
|
label: 'External Audience ID',
|
|
6
|
-
description: 'The CRM Data ID for The Trade Desk Segment.
|
|
7
|
-
type: '
|
|
8
|
-
required: true,
|
|
6
|
+
description: 'The CRM Data ID for The Trade Desk Segment.',
|
|
7
|
+
type: 'string',
|
|
9
8
|
default: {
|
|
10
9
|
'@path': '$.context.personas.external_audience_id'
|
|
11
|
-
}
|
|
10
|
+
},
|
|
11
|
+
unsafe_hidden: true
|
|
12
|
+
};
|
|
13
|
+
exports.name = {
|
|
14
|
+
label: 'Segment Name',
|
|
15
|
+
description: 'The name of The Trade Desk CRM Data Segment you want to sync. If the audience name does not exist Segment will create one.',
|
|
16
|
+
type: 'string',
|
|
17
|
+
required: true
|
|
18
|
+
};
|
|
19
|
+
exports.region = {
|
|
20
|
+
label: 'Region',
|
|
21
|
+
description: 'The geographical region of the CRM data segment based on the origin of PII.',
|
|
22
|
+
type: 'string',
|
|
23
|
+
default: 'US',
|
|
24
|
+
choices: [
|
|
25
|
+
{ label: 'US', value: 'US' },
|
|
26
|
+
{ label: 'EU', value: 'EU' },
|
|
27
|
+
{ label: 'APAC', value: 'APAC' }
|
|
28
|
+
]
|
|
12
29
|
};
|
|
13
30
|
exports.pii_type = {
|
|
14
31
|
label: 'PII Type',
|
|
@@ -23,7 +40,7 @@ exports.pii_type = {
|
|
|
23
40
|
exports.email = {
|
|
24
41
|
label: 'User Email',
|
|
25
42
|
description: "The user's email address to send to The Trade Desk.",
|
|
26
|
-
type: '
|
|
43
|
+
type: 'string',
|
|
27
44
|
default: {
|
|
28
45
|
'@path': '$.context.traits.email'
|
|
29
46
|
}
|
|
@@ -31,39 +48,25 @@ exports.email = {
|
|
|
31
48
|
exports.event_name = {
|
|
32
49
|
label: 'Event Name',
|
|
33
50
|
description: 'The name of the current Segment event.',
|
|
34
|
-
type: '
|
|
51
|
+
type: 'string',
|
|
35
52
|
default: {
|
|
36
53
|
'@path': '$.event'
|
|
37
|
-
}
|
|
54
|
+
},
|
|
55
|
+
unsafe_hidden: true
|
|
38
56
|
};
|
|
39
57
|
exports.enable_batching = {
|
|
40
58
|
label: 'Enable Batching',
|
|
41
59
|
description: 'Enable batching of requests to The Trade Desk CRM Segment.',
|
|
42
60
|
type: 'boolean',
|
|
43
|
-
default: true
|
|
61
|
+
default: true,
|
|
62
|
+
unsafe_hidden: true
|
|
44
63
|
};
|
|
45
64
|
exports.batch_size = {
|
|
46
65
|
label: 'Batch Size',
|
|
47
66
|
description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
|
|
48
67
|
type: 'number',
|
|
49
68
|
required: false,
|
|
50
|
-
default: 100000
|
|
51
|
-
|
|
52
|
-
exports.merge_mode = {
|
|
53
|
-
label: 'Merge Mode',
|
|
54
|
-
description: 'The merge mode to use when syncing data to The Trade Desk CRM Segment.',
|
|
55
|
-
type: 'string',
|
|
56
|
-
choices: [
|
|
57
|
-
{
|
|
58
|
-
label: 'Add',
|
|
59
|
-
value: 'Add'
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
label: 'Replace',
|
|
63
|
-
value: 'Replace'
|
|
64
|
-
}
|
|
65
|
-
],
|
|
66
|
-
default: 'Replace',
|
|
67
|
-
required: false
|
|
69
|
+
default: 100000,
|
|
70
|
+
unsafe_hidden: true
|
|
68
71
|
};
|
|
69
72
|
//# sourceMappingURL=properties.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/properties.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAAe;IACrC,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/properties.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAAe;IACrC,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,6CAA6C;IAC1D,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,yCAAyC;KACnD;IACD,aAAa,EAAE,IAAI;CACpB,CAAA;AAEY,QAAA,IAAI,GAAe;IAC9B,KAAK,EAAE,cAAc;IACrB,WAAW,EACT,4HAA4H;IAC9H,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,MAAM,GAAe;IAChC,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,6EAA6E;IAC1F,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,IAAI;IACb,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QAC5B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;KACjC;CACF,CAAA;AAEY,QAAA,QAAQ,GAAe;IAClC,KAAK,EAAE,UAAU;IACjB,WAAW,EAAE,wEAAwE;IACrF,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;QAClC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB,EAAE;KAC1D;IACD,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,KAAK,GAAe;IAC/B,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,qDAAqD;IAClE,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,wBAAwB;KAClC;CACF,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,wCAAwC;IACrD,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE;QACP,OAAO,EAAE,SAAS;KACnB;IACD,aAAa,EAAE,IAAI;CACpB,CAAA;AAEY,QAAA,eAAe,GAAe;IACzC,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,4DAA4D;IACzE,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;CACpB,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,qFAAqF;IAClG,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,IAAI;CACpB,CAAA"}
|