@bprotsyk/aso-core 2.1.118 → 2.1.120
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/lib/keitaro/keitaro-clo-geos.js +4 -2
- package/lib/network/keitaro/traffle/traffle-keitaro-service.js +6 -19
- package/lib/offers/list.d.ts +18 -18
- package/lib/templates/words.d.ts +2 -0
- package/lib/templates/words.js +68 -0
- package/lib/templates/words.ts +65 -0
- package/package.json +1 -1
- package/src/keitaro/keitaro-clo-geos.ts +4 -2
- package/src/network/keitaro/traffle/traffle-keitaro-service.ts +6 -22
- package/src/templates/words.ts +65 -0
- package/src/templates/words.txt +0 -212
|
@@ -199,7 +199,8 @@ async function syncKeitaroCLOGeosWithApps(apps) {
|
|
|
199
199
|
console.log(` App гео для платформи ${platform}: ${appGeos.join(', ')}`);
|
|
200
200
|
// Порівнюємо гео
|
|
201
201
|
const missingGeos = keitaroGeos.filter(geo => !appGeos.includes(geo));
|
|
202
|
-
const needsUpdate = missingGeos.length > 0
|
|
202
|
+
const needsUpdate = missingGeos.length > 0 || appGeos.length !== keitaroGeos.length ||
|
|
203
|
+
!appGeos.every(geo => keitaroGeos.includes(geo));
|
|
203
204
|
console.log(` Відсутні гео в app: ${missingGeos.join(', ')}`);
|
|
204
205
|
console.log(` Потребує оновлення: ${needsUpdate}`);
|
|
205
206
|
if (needsUpdate) {
|
|
@@ -270,7 +271,8 @@ async function getAppGeoSyncDetails(appId, platform, apps) {
|
|
|
270
271
|
const appGeos = platformData.geo || [];
|
|
271
272
|
// Порівнюємо гео
|
|
272
273
|
const missingGeos = keitaroGeos.filter(geo => !appGeos.includes(geo));
|
|
273
|
-
const needsUpdate = missingGeos.length > 0
|
|
274
|
+
const needsUpdate = missingGeos.length > 0 || appGeos.length !== keitaroGeos.length ||
|
|
275
|
+
!appGeos.every(geo => keitaroGeos.includes(geo));
|
|
274
276
|
return {
|
|
275
277
|
appId,
|
|
276
278
|
platform,
|
|
@@ -7,8 +7,7 @@ exports.TraffleKeitaroService = exports.ITraffleTrafficType = void 0;
|
|
|
7
7
|
const http_1 = __importDefault(require("./http"));
|
|
8
8
|
const app_1 = require("../../../app/app");
|
|
9
9
|
const openai_1 = require("../../../network/openai/openai");
|
|
10
|
-
const
|
|
11
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const words_1 = require("../../../templates/words");
|
|
12
11
|
async function getAllOffers() {
|
|
13
12
|
const { data: offers } = await http_1.default.get('offers');
|
|
14
13
|
return offers;
|
|
@@ -230,22 +229,10 @@ async function TrafleKeitaroParameters(parameters) {
|
|
|
230
229
|
}
|
|
231
230
|
async function generateLocalParameters() {
|
|
232
231
|
try {
|
|
233
|
-
//
|
|
234
|
-
const
|
|
235
|
-
const
|
|
236
|
-
const
|
|
237
|
-
if (words.length === 0) {
|
|
238
|
-
console.error("No words found in words.txt file");
|
|
239
|
-
return null;
|
|
240
|
-
}
|
|
241
|
-
// Генеруємо випадкові індекси
|
|
242
|
-
const namingIndex = Math.floor(Math.random() * words.length);
|
|
243
|
-
const advertisingIdIndex = Math.floor(Math.random() * words.length);
|
|
244
|
-
const appsflyerDeviceIdIndex = Math.floor(Math.random() * words.length);
|
|
245
|
-
// Отримуємо випадкові слова
|
|
246
|
-
const naming = words[namingIndex];
|
|
247
|
-
const advertisingid = words[advertisingIdIndex];
|
|
248
|
-
const appsflyerDeviceID = words[appsflyerDeviceIdIndex];
|
|
232
|
+
// Генеруємо випадкові слова використовуючи функцію getRandomWord
|
|
233
|
+
const naming = (0, words_1.getRandomWord)();
|
|
234
|
+
const advertisingid = (0, words_1.getRandomWord)();
|
|
235
|
+
const appsflyerDeviceID = (0, words_1.getRandomWord)();
|
|
249
236
|
return {
|
|
250
237
|
naming,
|
|
251
238
|
advertisingid,
|
|
@@ -253,7 +240,7 @@ async function generateLocalParameters() {
|
|
|
253
240
|
};
|
|
254
241
|
}
|
|
255
242
|
catch (error) {
|
|
256
|
-
console.error("Error
|
|
243
|
+
console.error("Error generating local parameters:", error);
|
|
257
244
|
return null;
|
|
258
245
|
}
|
|
259
246
|
}
|
package/lib/offers/list.d.ts
CHANGED
|
@@ -44,8 +44,6 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
44
44
|
name: string;
|
|
45
45
|
content: import("mongoose").Types.DocumentArray<{
|
|
46
46
|
prototype?: {
|
|
47
|
-
toString: {} | null;
|
|
48
|
-
valueOf: {} | null;
|
|
49
47
|
constructor: {
|
|
50
48
|
name?: unknown;
|
|
51
49
|
[Symbol.hasInstance]?: {} | null | undefined;
|
|
@@ -58,7 +56,9 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
58
56
|
call?: {} | null | undefined;
|
|
59
57
|
bind?: {} | null | undefined;
|
|
60
58
|
} | null;
|
|
59
|
+
toString: {} | null;
|
|
61
60
|
toLocaleString: {} | null;
|
|
61
|
+
valueOf: {} | null;
|
|
62
62
|
hasOwnProperty: {} | null;
|
|
63
63
|
isPrototypeOf: {} | null;
|
|
64
64
|
propertyIsEnumerable: {} | null;
|
|
@@ -87,8 +87,6 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
87
87
|
hasOwn?: {} | null | undefined;
|
|
88
88
|
}, import("mongoose").Types.Subdocument<import("mongoose").Types.ObjectId, any, {
|
|
89
89
|
prototype?: {
|
|
90
|
-
toString: {} | null;
|
|
91
|
-
valueOf: {} | null;
|
|
92
90
|
constructor: {
|
|
93
91
|
name?: unknown;
|
|
94
92
|
[Symbol.hasInstance]?: {} | null | undefined;
|
|
@@ -101,7 +99,9 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
101
99
|
call?: {} | null | undefined;
|
|
102
100
|
bind?: {} | null | undefined;
|
|
103
101
|
} | null;
|
|
102
|
+
toString: {} | null;
|
|
104
103
|
toLocaleString: {} | null;
|
|
104
|
+
valueOf: {} | null;
|
|
105
105
|
hasOwnProperty: {} | null;
|
|
106
106
|
isPrototypeOf: {} | null;
|
|
107
107
|
propertyIsEnumerable: {} | null;
|
|
@@ -130,8 +130,6 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
130
130
|
hasOwn?: {} | null | undefined;
|
|
131
131
|
}> & {
|
|
132
132
|
prototype?: {
|
|
133
|
-
toString: {} | null;
|
|
134
|
-
valueOf: {} | null;
|
|
135
133
|
constructor: {
|
|
136
134
|
name?: unknown;
|
|
137
135
|
[Symbol.hasInstance]?: {} | null | undefined;
|
|
@@ -144,7 +142,9 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
144
142
|
call?: {} | null | undefined;
|
|
145
143
|
bind?: {} | null | undefined;
|
|
146
144
|
} | null;
|
|
145
|
+
toString: {} | null;
|
|
147
146
|
toLocaleString: {} | null;
|
|
147
|
+
valueOf: {} | null;
|
|
148
148
|
hasOwnProperty: {} | null;
|
|
149
149
|
isPrototypeOf: {} | null;
|
|
150
150
|
propertyIsEnumerable: {} | null;
|
|
@@ -177,8 +177,6 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
177
177
|
name: string;
|
|
178
178
|
content: import("mongoose").Types.DocumentArray<{
|
|
179
179
|
prototype?: {
|
|
180
|
-
toString: {} | null;
|
|
181
|
-
valueOf: {} | null;
|
|
182
180
|
constructor: {
|
|
183
181
|
name?: unknown;
|
|
184
182
|
[Symbol.hasInstance]?: {} | null | undefined;
|
|
@@ -191,7 +189,9 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
191
189
|
call?: {} | null | undefined;
|
|
192
190
|
bind?: {} | null | undefined;
|
|
193
191
|
} | null;
|
|
192
|
+
toString: {} | null;
|
|
194
193
|
toLocaleString: {} | null;
|
|
194
|
+
valueOf: {} | null;
|
|
195
195
|
hasOwnProperty: {} | null;
|
|
196
196
|
isPrototypeOf: {} | null;
|
|
197
197
|
propertyIsEnumerable: {} | null;
|
|
@@ -220,8 +220,6 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
220
220
|
hasOwn?: {} | null | undefined;
|
|
221
221
|
}, import("mongoose").Types.Subdocument<import("mongoose").Types.ObjectId, any, {
|
|
222
222
|
prototype?: {
|
|
223
|
-
toString: {} | null;
|
|
224
|
-
valueOf: {} | null;
|
|
225
223
|
constructor: {
|
|
226
224
|
name?: unknown;
|
|
227
225
|
[Symbol.hasInstance]?: {} | null | undefined;
|
|
@@ -234,7 +232,9 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
234
232
|
call?: {} | null | undefined;
|
|
235
233
|
bind?: {} | null | undefined;
|
|
236
234
|
} | null;
|
|
235
|
+
toString: {} | null;
|
|
237
236
|
toLocaleString: {} | null;
|
|
237
|
+
valueOf: {} | null;
|
|
238
238
|
hasOwnProperty: {} | null;
|
|
239
239
|
isPrototypeOf: {} | null;
|
|
240
240
|
propertyIsEnumerable: {} | null;
|
|
@@ -263,8 +263,6 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
263
263
|
hasOwn?: {} | null | undefined;
|
|
264
264
|
}> & {
|
|
265
265
|
prototype?: {
|
|
266
|
-
toString: {} | null;
|
|
267
|
-
valueOf: {} | null;
|
|
268
266
|
constructor: {
|
|
269
267
|
name?: unknown;
|
|
270
268
|
[Symbol.hasInstance]?: {} | null | undefined;
|
|
@@ -277,7 +275,9 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
277
275
|
call?: {} | null | undefined;
|
|
278
276
|
bind?: {} | null | undefined;
|
|
279
277
|
} | null;
|
|
278
|
+
toString: {} | null;
|
|
280
279
|
toLocaleString: {} | null;
|
|
280
|
+
valueOf: {} | null;
|
|
281
281
|
hasOwnProperty: {} | null;
|
|
282
282
|
isPrototypeOf: {} | null;
|
|
283
283
|
propertyIsEnumerable: {} | null;
|
|
@@ -310,8 +310,6 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
310
310
|
name: string;
|
|
311
311
|
content: import("mongoose").Types.DocumentArray<{
|
|
312
312
|
prototype?: {
|
|
313
|
-
toString: {} | null;
|
|
314
|
-
valueOf: {} | null;
|
|
315
313
|
constructor: {
|
|
316
314
|
name?: unknown;
|
|
317
315
|
[Symbol.hasInstance]?: {} | null | undefined;
|
|
@@ -324,7 +322,9 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
324
322
|
call?: {} | null | undefined;
|
|
325
323
|
bind?: {} | null | undefined;
|
|
326
324
|
} | null;
|
|
325
|
+
toString: {} | null;
|
|
327
326
|
toLocaleString: {} | null;
|
|
327
|
+
valueOf: {} | null;
|
|
328
328
|
hasOwnProperty: {} | null;
|
|
329
329
|
isPrototypeOf: {} | null;
|
|
330
330
|
propertyIsEnumerable: {} | null;
|
|
@@ -353,8 +353,6 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
353
353
|
hasOwn?: {} | null | undefined;
|
|
354
354
|
}, import("mongoose").Types.Subdocument<import("mongoose").Types.ObjectId, any, {
|
|
355
355
|
prototype?: {
|
|
356
|
-
toString: {} | null;
|
|
357
|
-
valueOf: {} | null;
|
|
358
356
|
constructor: {
|
|
359
357
|
name?: unknown;
|
|
360
358
|
[Symbol.hasInstance]?: {} | null | undefined;
|
|
@@ -367,7 +365,9 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
367
365
|
call?: {} | null | undefined;
|
|
368
366
|
bind?: {} | null | undefined;
|
|
369
367
|
} | null;
|
|
368
|
+
toString: {} | null;
|
|
370
369
|
toLocaleString: {} | null;
|
|
370
|
+
valueOf: {} | null;
|
|
371
371
|
hasOwnProperty: {} | null;
|
|
372
372
|
isPrototypeOf: {} | null;
|
|
373
373
|
propertyIsEnumerable: {} | null;
|
|
@@ -396,8 +396,6 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
396
396
|
hasOwn?: {} | null | undefined;
|
|
397
397
|
}> & {
|
|
398
398
|
prototype?: {
|
|
399
|
-
toString: {} | null;
|
|
400
|
-
valueOf: {} | null;
|
|
401
399
|
constructor: {
|
|
402
400
|
name?: unknown;
|
|
403
401
|
[Symbol.hasInstance]?: {} | null | undefined;
|
|
@@ -410,7 +408,9 @@ export declare const SectionsListSchema: Schema<any, import("mongoose").Model<an
|
|
|
410
408
|
call?: {} | null | undefined;
|
|
411
409
|
bind?: {} | null | undefined;
|
|
412
410
|
} | null;
|
|
411
|
+
toString: {} | null;
|
|
413
412
|
toLocaleString: {} | null;
|
|
413
|
+
valueOf: {} | null;
|
|
414
414
|
hasOwnProperty: {} | null;
|
|
415
415
|
isPrototypeOf: {} | null;
|
|
416
416
|
propertyIsEnumerable: {} | null;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRandomWord = exports.words = void 0;
|
|
4
|
+
exports.words = [
|
|
5
|
+
"apple", "banana", "cherry", "dragon", "eagle", "forest", "garden", "hammer", "island", "jungle",
|
|
6
|
+
"kitten", "lemon", "mountain", "ocean", "pencil", "queen", "river", "sunset", "tiger", "umbrella",
|
|
7
|
+
"village", "window", "xylophone", "yellow", "zebra", "adventure", "beautiful", "creative", "delicious",
|
|
8
|
+
"excellent", "fantastic", "gorgeous", "handsome", "incredible", "joyful", "knowledge", "luminous",
|
|
9
|
+
"magnificent", "natural", "outstanding", "perfect", "quality", "radiant", "spectacular", "tremendous",
|
|
10
|
+
"ultimate", "valuable", "wonderful", "amazing", "brilliant", "charming", "delightful", "elegant",
|
|
11
|
+
"fascinating", "graceful", "harmonious", "inspiring", "jubilant", "kindhearted", "loving", "mysterious",
|
|
12
|
+
"nurturing", "optimistic", "peaceful", "quintessential", "radiant", "serene", "tranquil", "uplifting",
|
|
13
|
+
"vibrant", "whimsical", "abundant", "blessed", "cheerful", "dazzling", "energetic", "friendly",
|
|
14
|
+
"generous", "hopeful", "imaginative", "jovial", "knowledgeable", "lively", "majestic", "noble",
|
|
15
|
+
"outstanding", "passionate", "quintessential", "remarkable", "splendid", "treasured", "unique",
|
|
16
|
+
"valuable", "warmhearted", "authentic", "benevolent", "charismatic", "determined", "enthusiastic",
|
|
17
|
+
"faithful", "gracious", "humble", "inspiring", "joyful", "kind", "loyal", "magnificent", "nurturing",
|
|
18
|
+
"optimistic", "patient", "quintessential", "resilient", "sincere", "trustworthy", "understanding",
|
|
19
|
+
"virtuous", "wise", "zealous", "crystal", "diamond", "emerald", "ruby", "sapphire", "amethyst",
|
|
20
|
+
"opal", "pearl", "golden", "silver", "bronze", "platinum", "copper", "steel", "iron", "aluminum",
|
|
21
|
+
"titanium", "chrome", "nickel", "zinc", "mercury", "lead", "tin", "carbon", "nitrogen", "oxygen",
|
|
22
|
+
"hydrogen", "helium", "neon", "argon", "krypton", "xenon", "radon", "uranium", "plutonium", "thorium",
|
|
23
|
+
"beryllium", "lithium", "sodium", "potassium", "calcium", "magnesium", "strontium", "barium", "radium",
|
|
24
|
+
"francium", "cesium", "rubidium", "gallium", "indium", "thallium", "bismuth", "antimony", "arsenic",
|
|
25
|
+
"selenium", "tellurium", "polonium", "astatine", "fluorine", "chlorine", "bromine", "iodine",
|
|
26
|
+
"manganese", "cobalt", "nickel", "copper", "zinc", "cadmium", "mercury", "lead", "tin", "bismuth",
|
|
27
|
+
"antimony", "arsenic", "selenium", "tellurium", "polonium", "astatine", "radon", "francium",
|
|
28
|
+
"radium", "actinium", "thorium", "protactinium", "uranium", "neptunium", "plutonium", "americium",
|
|
29
|
+
"curium", "berkelium", "californium", "einsteinium", "fermium", "mendelevium", "nobelium", "lawrencium",
|
|
30
|
+
"rutherfordium", "dubnium", "seaborgium", "bohrium", "hassium", "meitnerium", "darmstadtium",
|
|
31
|
+
"roentgenium", "copernicium", "nihonium", "flerovium", "moscovium", "livermorium", "tennessine",
|
|
32
|
+
"oganesson", "phoenix", "griffin", "unicorn", "pegasus", "centaur", "minotaur", "sphinx", "hydra",
|
|
33
|
+
"chimera", "basilisk", "dragon", "wyvern", "kraken", "leviathan", "behemoth", "ziz", "roc", "simurgh",
|
|
34
|
+
"garuda", "fenghuang", "qilin", "long", "tengu", "kappa", "oni", "yuki-onna", "kitsune", "tanuki",
|
|
35
|
+
"baku", "shishi", "kirin", "harpy", "siren", "mermaid", "nymph", "dryad", "naiad", "oread", "hamadryad",
|
|
36
|
+
"satyr", "faun", "pan", "dionysus", "bacchus", "hermes", "apollo", "athena", "artemis", "aphrodite",
|
|
37
|
+
"hephaestus", "ares", "demeter", "hestia", "poseidon", "zeus", "hades", "persephone", "hebe", "iris",
|
|
38
|
+
"nemesis", "tyche", "nike", "bia", "kratos", "zelus", "helios", "selene", "eos", "astraeus", "pallas",
|
|
39
|
+
"atlas", "prometheus", "epimetheus", "menoetius", "iapetus", "coeus", "crius", "hyperion", "theia",
|
|
40
|
+
"rhea", "cronus", "phoebe", "themis", "mnemosyne", "leto", "maia", "electra", "taygete", "alcyone",
|
|
41
|
+
"sterope", "celeno", "merope", "asterope", "pleione", "atlas", "pleione", "merope", "celeno", "taygete",
|
|
42
|
+
"alcyone", "sterope", "electra", "maia", "calypso", "circe", "medea", "ariadne", "phaeedra", "helen",
|
|
43
|
+
"penelope", "andromeda", "cassandra", "clytemnestra", "jocasta", "antigone", "ismene", "polyxena",
|
|
44
|
+
"hector", "achilles", "odysseus", "ajax", "diomedes", "menelaus", "agamemnon", "nestor", "ulysses",
|
|
45
|
+
"aeneas", "romulus", "remus", "julius", "augustus", "tiberius", "caligula", "claudius", "nero", "galba",
|
|
46
|
+
"otho", "vitellius", "vespasian", "titus", "domitian", "nerva", "trajan", "hadrian", "antoninus", "marcus",
|
|
47
|
+
"commodus", "pertinax", "didius", "septimius", "caracalla", "geta", "macrinus", "elagabalus", "alexander",
|
|
48
|
+
"maximinus", "gordian", "philip", "decius", "gallus", "aemilianus", "valerian", "gallienus", "claudius",
|
|
49
|
+
"aurelian", "tacitus", "florian", "probus", "carus", "carinus", "numerian", "diocletian", "maximian",
|
|
50
|
+
"galerius", "constantius", "severus", "maxentius", "licinius", "constantine", "constantius", "constans",
|
|
51
|
+
"julian", "jovian", "valentinian", "valens", "gratian", "valentinian", "theodosius", "arcadius", "honorius",
|
|
52
|
+
"theodosius", "marcian", "leo", "zeno", "basiliscus", "anastasius", "justin", "justinian", "justin",
|
|
53
|
+
"tiberius", "maurice", "phocas", "heraclius", "constantine", "constans", "constantine", "justinian",
|
|
54
|
+
"leontios", "tiberios", "philipikos", "anastasios", "theodosios", "leo", "constantine", "artabasdos",
|
|
55
|
+
"leo", "constantine", "irene", "constantine", "nikephoros", "staurakios", "michael", "leo", "michael",
|
|
56
|
+
"theophilos", "michael", "basil", "leo", "alexander", "constantine", "romanos", "christopher", "constantine",
|
|
57
|
+
"romanos", "stephen", "constantine", "michael", "romanos", "michael", "isaac", "constantine", "michael",
|
|
58
|
+
"constantinos", "michael", "theodora", "michael", "basil", "leo", "alexander", "constantine", "romanos",
|
|
59
|
+
"christopher", "constantine", "romanos", "stephen", "constantine", "michael", "romanos", "michael",
|
|
60
|
+
"isaac", "constantine", "michael", "constantinos", "michael", "theodora", "michael", "basil", "leo",
|
|
61
|
+
"alexander", "constantine", "romanos", "christopher", "constantine", "romanos", "stephen", "constantine",
|
|
62
|
+
"michael", "romanos", "michael", "isaac", "constantine", "michael", "constantinos", "michael", "theodora"
|
|
63
|
+
];
|
|
64
|
+
function getRandomWord() {
|
|
65
|
+
const randomIndex = Math.floor(Math.random() * exports.words.length);
|
|
66
|
+
return exports.words[randomIndex];
|
|
67
|
+
}
|
|
68
|
+
exports.getRandomWord = getRandomWord;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export const words = [
|
|
2
|
+
"apple", "banana", "cherry", "dragon", "eagle", "forest", "garden", "hammer", "island", "jungle",
|
|
3
|
+
"kitten", "lemon", "mountain", "ocean", "pencil", "queen", "river", "sunset", "tiger", "umbrella",
|
|
4
|
+
"village", "window", "xylophone", "yellow", "zebra", "adventure", "beautiful", "creative", "delicious",
|
|
5
|
+
"excellent", "fantastic", "gorgeous", "handsome", "incredible", "joyful", "knowledge", "luminous",
|
|
6
|
+
"magnificent", "natural", "outstanding", "perfect", "quality", "radiant", "spectacular", "tremendous",
|
|
7
|
+
"ultimate", "valuable", "wonderful", "amazing", "brilliant", "charming", "delightful", "elegant",
|
|
8
|
+
"fascinating", "graceful", "harmonious", "inspiring", "jubilant", "kindhearted", "loving", "mysterious",
|
|
9
|
+
"nurturing", "optimistic", "peaceful", "quintessential", "radiant", "serene", "tranquil", "uplifting",
|
|
10
|
+
"vibrant", "whimsical", "abundant", "blessed", "cheerful", "dazzling", "energetic", "friendly",
|
|
11
|
+
"generous", "hopeful", "imaginative", "jovial", "knowledgeable", "lively", "majestic", "noble",
|
|
12
|
+
"outstanding", "passionate", "quintessential", "remarkable", "splendid", "treasured", "unique",
|
|
13
|
+
"valuable", "warmhearted", "authentic", "benevolent", "charismatic", "determined", "enthusiastic",
|
|
14
|
+
"faithful", "gracious", "humble", "inspiring", "joyful", "kind", "loyal", "magnificent", "nurturing",
|
|
15
|
+
"optimistic", "patient", "quintessential", "resilient", "sincere", "trustworthy", "understanding",
|
|
16
|
+
"virtuous", "wise", "zealous", "crystal", "diamond", "emerald", "ruby", "sapphire", "amethyst",
|
|
17
|
+
"opal", "pearl", "golden", "silver", "bronze", "platinum", "copper", "steel", "iron", "aluminum",
|
|
18
|
+
"titanium", "chrome", "nickel", "zinc", "mercury", "lead", "tin", "carbon", "nitrogen", "oxygen",
|
|
19
|
+
"hydrogen", "helium", "neon", "argon", "krypton", "xenon", "radon", "uranium", "plutonium", "thorium",
|
|
20
|
+
"beryllium", "lithium", "sodium", "potassium", "calcium", "magnesium", "strontium", "barium", "radium",
|
|
21
|
+
"francium", "cesium", "rubidium", "gallium", "indium", "thallium", "bismuth", "antimony", "arsenic",
|
|
22
|
+
"selenium", "tellurium", "polonium", "astatine", "fluorine", "chlorine", "bromine", "iodine",
|
|
23
|
+
"manganese", "cobalt", "nickel", "copper", "zinc", "cadmium", "mercury", "lead", "tin", "bismuth",
|
|
24
|
+
"antimony", "arsenic", "selenium", "tellurium", "polonium", "astatine", "radon", "francium",
|
|
25
|
+
"radium", "actinium", "thorium", "protactinium", "uranium", "neptunium", "plutonium", "americium",
|
|
26
|
+
"curium", "berkelium", "californium", "einsteinium", "fermium", "mendelevium", "nobelium", "lawrencium",
|
|
27
|
+
"rutherfordium", "dubnium", "seaborgium", "bohrium", "hassium", "meitnerium", "darmstadtium",
|
|
28
|
+
"roentgenium", "copernicium", "nihonium", "flerovium", "moscovium", "livermorium", "tennessine",
|
|
29
|
+
"oganesson", "phoenix", "griffin", "unicorn", "pegasus", "centaur", "minotaur", "sphinx", "hydra",
|
|
30
|
+
"chimera", "basilisk", "dragon", "wyvern", "kraken", "leviathan", "behemoth", "ziz", "roc", "simurgh",
|
|
31
|
+
"garuda", "fenghuang", "qilin", "long", "tengu", "kappa", "oni", "yuki-onna", "kitsune", "tanuki",
|
|
32
|
+
"baku", "shishi", "kirin", "harpy", "siren", "mermaid", "nymph", "dryad", "naiad", "oread", "hamadryad",
|
|
33
|
+
"satyr", "faun", "pan", "dionysus", "bacchus", "hermes", "apollo", "athena", "artemis", "aphrodite",
|
|
34
|
+
"hephaestus", "ares", "demeter", "hestia", "poseidon", "zeus", "hades", "persephone", "hebe", "iris",
|
|
35
|
+
"nemesis", "tyche", "nike", "bia", "kratos", "zelus", "helios", "selene", "eos", "astraeus", "pallas",
|
|
36
|
+
"atlas", "prometheus", "epimetheus", "menoetius", "iapetus", "coeus", "crius", "hyperion", "theia",
|
|
37
|
+
"rhea", "cronus", "phoebe", "themis", "mnemosyne", "leto", "maia", "electra", "taygete", "alcyone",
|
|
38
|
+
"sterope", "celeno", "merope", "asterope", "pleione", "atlas", "pleione", "merope", "celeno", "taygete",
|
|
39
|
+
"alcyone", "sterope", "electra", "maia", "calypso", "circe", "medea", "ariadne", "phaeedra", "helen",
|
|
40
|
+
"penelope", "andromeda", "cassandra", "clytemnestra", "jocasta", "antigone", "ismene", "polyxena",
|
|
41
|
+
"hector", "achilles", "odysseus", "ajax", "diomedes", "menelaus", "agamemnon", "nestor", "ulysses",
|
|
42
|
+
"aeneas", "romulus", "remus", "julius", "augustus", "tiberius", "caligula", "claudius", "nero", "galba",
|
|
43
|
+
"otho", "vitellius", "vespasian", "titus", "domitian", "nerva", "trajan", "hadrian", "antoninus", "marcus",
|
|
44
|
+
"commodus", "pertinax", "didius", "septimius", "caracalla", "geta", "macrinus", "elagabalus", "alexander",
|
|
45
|
+
"maximinus", "gordian", "philip", "decius", "gallus", "aemilianus", "valerian", "gallienus", "claudius",
|
|
46
|
+
"aurelian", "tacitus", "florian", "probus", "carus", "carinus", "numerian", "diocletian", "maximian",
|
|
47
|
+
"galerius", "constantius", "severus", "maxentius", "licinius", "constantine", "constantius", "constans",
|
|
48
|
+
"julian", "jovian", "valentinian", "valens", "gratian", "valentinian", "theodosius", "arcadius", "honorius",
|
|
49
|
+
"theodosius", "marcian", "leo", "zeno", "basiliscus", "anastasius", "justin", "justinian", "justin",
|
|
50
|
+
"tiberius", "maurice", "phocas", "heraclius", "constantine", "constans", "constantine", "justinian",
|
|
51
|
+
"leontios", "tiberios", "philipikos", "anastasios", "theodosios", "leo", "constantine", "artabasdos",
|
|
52
|
+
"leo", "constantine", "irene", "constantine", "nikephoros", "staurakios", "michael", "leo", "michael",
|
|
53
|
+
"theophilos", "michael", "basil", "leo", "alexander", "constantine", "romanos", "christopher", "constantine",
|
|
54
|
+
"romanos", "stephen", "constantine", "michael", "romanos", "michael", "isaac", "constantine", "michael",
|
|
55
|
+
"constantinos", "michael", "theodora", "michael", "basil", "leo", "alexander", "constantine", "romanos",
|
|
56
|
+
"christopher", "constantine", "romanos", "stephen", "constantine", "michael", "romanos", "michael",
|
|
57
|
+
"isaac", "constantine", "michael", "constantinos", "michael", "theodora", "michael", "basil", "leo",
|
|
58
|
+
"alexander", "constantine", "romanos", "christopher", "constantine", "romanos", "stephen", "constantine",
|
|
59
|
+
"michael", "romanos", "michael", "isaac", "constantine", "michael", "constantinos", "michael", "theodora"
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
export function getRandomWord(): string {
|
|
63
|
+
const randomIndex = Math.floor(Math.random() * words.length);
|
|
64
|
+
return words[randomIndex];
|
|
65
|
+
}
|
package/package.json
CHANGED
|
@@ -252,7 +252,8 @@ export async function syncKeitaroCLOGeosWithApps(apps: IApp[]): Promise<IGeoSync
|
|
|
252
252
|
|
|
253
253
|
// Порівнюємо гео
|
|
254
254
|
const missingGeos = keitaroGeos.filter(geo => !appGeos.includes(geo));
|
|
255
|
-
const needsUpdate = missingGeos.length > 0
|
|
255
|
+
const needsUpdate = missingGeos.length > 0 || appGeos.length !== keitaroGeos.length ||
|
|
256
|
+
!appGeos.every(geo => keitaroGeos.includes(geo));
|
|
256
257
|
|
|
257
258
|
console.log(` Відсутні гео в app: ${missingGeos.join(', ')}`);
|
|
258
259
|
console.log(` Потребує оновлення: ${needsUpdate}`);
|
|
@@ -337,7 +338,8 @@ export async function getAppGeoSyncDetails(appId: number, platform: string, apps
|
|
|
337
338
|
|
|
338
339
|
// Порівнюємо гео
|
|
339
340
|
const missingGeos = keitaroGeos.filter(geo => !appGeos.includes(geo));
|
|
340
|
-
const needsUpdate = missingGeos.length > 0
|
|
341
|
+
const needsUpdate = missingGeos.length > 0 || appGeos.length !== keitaroGeos.length ||
|
|
342
|
+
!appGeos.every(geo => keitaroGeos.includes(geo));
|
|
341
343
|
|
|
342
344
|
return {
|
|
343
345
|
appId,
|
|
@@ -11,8 +11,7 @@ import { IKeitaroClicksRequest, IKeitaroClicksRangeRequest, KeitaroClicksInterva
|
|
|
11
11
|
import { OpenAI } from "../../../network/openai/openai";
|
|
12
12
|
import { off } from "process";
|
|
13
13
|
import { IKeitaroCampaignParameters } from "../../../keitaro/keitaro-campaign";
|
|
14
|
-
import
|
|
15
|
-
import path from "path";
|
|
14
|
+
import { getRandomWord } from "../../../templates/words";
|
|
16
15
|
|
|
17
16
|
async function getAllOffers(): Promise<IKeitaroOffer[]> {
|
|
18
17
|
const { data: offers } = await keitaroApi.get<IKeitaroOffer[]>('offers')
|
|
@@ -305,25 +304,10 @@ async function TrafleKeitaroParameters(parameters: any) {
|
|
|
305
304
|
|
|
306
305
|
async function generateLocalParameters(): Promise<IParamsGenerationsOpenAIResponse | null> {
|
|
307
306
|
try {
|
|
308
|
-
//
|
|
309
|
-
const
|
|
310
|
-
const
|
|
311
|
-
const
|
|
312
|
-
|
|
313
|
-
if (words.length === 0) {
|
|
314
|
-
console.error("No words found in words.txt file");
|
|
315
|
-
return null;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
// Генеруємо випадкові індекси
|
|
319
|
-
const namingIndex = Math.floor(Math.random() * words.length);
|
|
320
|
-
const advertisingIdIndex = Math.floor(Math.random() * words.length);
|
|
321
|
-
const appsflyerDeviceIdIndex = Math.floor(Math.random() * words.length);
|
|
322
|
-
|
|
323
|
-
// Отримуємо випадкові слова
|
|
324
|
-
const naming = words[namingIndex];
|
|
325
|
-
const advertisingid = words[advertisingIdIndex];
|
|
326
|
-
const appsflyerDeviceID = words[appsflyerDeviceIdIndex];
|
|
307
|
+
// Генеруємо випадкові слова використовуючи функцію getRandomWord
|
|
308
|
+
const naming = getRandomWord();
|
|
309
|
+
const advertisingid = getRandomWord();
|
|
310
|
+
const appsflyerDeviceID = getRandomWord();
|
|
327
311
|
|
|
328
312
|
return {
|
|
329
313
|
naming,
|
|
@@ -331,7 +315,7 @@ async function generateLocalParameters(): Promise<IParamsGenerationsOpenAIRespon
|
|
|
331
315
|
appsflyerDeviceID
|
|
332
316
|
};
|
|
333
317
|
} catch (error) {
|
|
334
|
-
console.error("Error
|
|
318
|
+
console.error("Error generating local parameters:", error);
|
|
335
319
|
return null;
|
|
336
320
|
}
|
|
337
321
|
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export const words = [
|
|
2
|
+
"apple", "banana", "cherry", "dragon", "eagle", "forest", "garden", "hammer", "island", "jungle",
|
|
3
|
+
"kitten", "lemon", "mountain", "ocean", "pencil", "queen", "river", "sunset", "tiger", "umbrella",
|
|
4
|
+
"village", "window", "xylophone", "yellow", "zebra", "adventure", "beautiful", "creative", "delicious",
|
|
5
|
+
"excellent", "fantastic", "gorgeous", "handsome", "incredible", "joyful", "knowledge", "luminous",
|
|
6
|
+
"magnificent", "natural", "outstanding", "perfect", "quality", "radiant", "spectacular", "tremendous",
|
|
7
|
+
"ultimate", "valuable", "wonderful", "amazing", "brilliant", "charming", "delightful", "elegant",
|
|
8
|
+
"fascinating", "graceful", "harmonious", "inspiring", "jubilant", "kindhearted", "loving", "mysterious",
|
|
9
|
+
"nurturing", "optimistic", "peaceful", "quintessential", "radiant", "serene", "tranquil", "uplifting",
|
|
10
|
+
"vibrant", "whimsical", "abundant", "blessed", "cheerful", "dazzling", "energetic", "friendly",
|
|
11
|
+
"generous", "hopeful", "imaginative", "jovial", "knowledgeable", "lively", "majestic", "noble",
|
|
12
|
+
"outstanding", "passionate", "quintessential", "remarkable", "splendid", "treasured", "unique",
|
|
13
|
+
"valuable", "warmhearted", "authentic", "benevolent", "charismatic", "determined", "enthusiastic",
|
|
14
|
+
"faithful", "gracious", "humble", "inspiring", "joyful", "kind", "loyal", "magnificent", "nurturing",
|
|
15
|
+
"optimistic", "patient", "quintessential", "resilient", "sincere", "trustworthy", "understanding",
|
|
16
|
+
"virtuous", "wise", "zealous", "crystal", "diamond", "emerald", "ruby", "sapphire", "amethyst",
|
|
17
|
+
"opal", "pearl", "golden", "silver", "bronze", "platinum", "copper", "steel", "iron", "aluminum",
|
|
18
|
+
"titanium", "chrome", "nickel", "zinc", "mercury", "lead", "tin", "carbon", "nitrogen", "oxygen",
|
|
19
|
+
"hydrogen", "helium", "neon", "argon", "krypton", "xenon", "radon", "uranium", "plutonium", "thorium",
|
|
20
|
+
"beryllium", "lithium", "sodium", "potassium", "calcium", "magnesium", "strontium", "barium", "radium",
|
|
21
|
+
"francium", "cesium", "rubidium", "gallium", "indium", "thallium", "bismuth", "antimony", "arsenic",
|
|
22
|
+
"selenium", "tellurium", "polonium", "astatine", "fluorine", "chlorine", "bromine", "iodine",
|
|
23
|
+
"manganese", "cobalt", "nickel", "copper", "zinc", "cadmium", "mercury", "lead", "tin", "bismuth",
|
|
24
|
+
"antimony", "arsenic", "selenium", "tellurium", "polonium", "astatine", "radon", "francium",
|
|
25
|
+
"radium", "actinium", "thorium", "protactinium", "uranium", "neptunium", "plutonium", "americium",
|
|
26
|
+
"curium", "berkelium", "californium", "einsteinium", "fermium", "mendelevium", "nobelium", "lawrencium",
|
|
27
|
+
"rutherfordium", "dubnium", "seaborgium", "bohrium", "hassium", "meitnerium", "darmstadtium",
|
|
28
|
+
"roentgenium", "copernicium", "nihonium", "flerovium", "moscovium", "livermorium", "tennessine",
|
|
29
|
+
"oganesson", "phoenix", "griffin", "unicorn", "pegasus", "centaur", "minotaur", "sphinx", "hydra",
|
|
30
|
+
"chimera", "basilisk", "dragon", "wyvern", "kraken", "leviathan", "behemoth", "ziz", "roc", "simurgh",
|
|
31
|
+
"garuda", "fenghuang", "qilin", "long", "tengu", "kappa", "oni", "yuki-onna", "kitsune", "tanuki",
|
|
32
|
+
"baku", "shishi", "kirin", "harpy", "siren", "mermaid", "nymph", "dryad", "naiad", "oread", "hamadryad",
|
|
33
|
+
"satyr", "faun", "pan", "dionysus", "bacchus", "hermes", "apollo", "athena", "artemis", "aphrodite",
|
|
34
|
+
"hephaestus", "ares", "demeter", "hestia", "poseidon", "zeus", "hades", "persephone", "hebe", "iris",
|
|
35
|
+
"nemesis", "tyche", "nike", "bia", "kratos", "zelus", "helios", "selene", "eos", "astraeus", "pallas",
|
|
36
|
+
"atlas", "prometheus", "epimetheus", "menoetius", "iapetus", "coeus", "crius", "hyperion", "theia",
|
|
37
|
+
"rhea", "cronus", "phoebe", "themis", "mnemosyne", "leto", "maia", "electra", "taygete", "alcyone",
|
|
38
|
+
"sterope", "celeno", "merope", "asterope", "pleione", "atlas", "pleione", "merope", "celeno", "taygete",
|
|
39
|
+
"alcyone", "sterope", "electra", "maia", "calypso", "circe", "medea", "ariadne", "phaeedra", "helen",
|
|
40
|
+
"penelope", "andromeda", "cassandra", "clytemnestra", "jocasta", "antigone", "ismene", "polyxena",
|
|
41
|
+
"hector", "achilles", "odysseus", "ajax", "diomedes", "menelaus", "agamemnon", "nestor", "ulysses",
|
|
42
|
+
"aeneas", "romulus", "remus", "julius", "augustus", "tiberius", "caligula", "claudius", "nero", "galba",
|
|
43
|
+
"otho", "vitellius", "vespasian", "titus", "domitian", "nerva", "trajan", "hadrian", "antoninus", "marcus",
|
|
44
|
+
"commodus", "pertinax", "didius", "septimius", "caracalla", "geta", "macrinus", "elagabalus", "alexander",
|
|
45
|
+
"maximinus", "gordian", "philip", "decius", "gallus", "aemilianus", "valerian", "gallienus", "claudius",
|
|
46
|
+
"aurelian", "tacitus", "florian", "probus", "carus", "carinus", "numerian", "diocletian", "maximian",
|
|
47
|
+
"galerius", "constantius", "severus", "maxentius", "licinius", "constantine", "constantius", "constans",
|
|
48
|
+
"julian", "jovian", "valentinian", "valens", "gratian", "valentinian", "theodosius", "arcadius", "honorius",
|
|
49
|
+
"theodosius", "marcian", "leo", "zeno", "basiliscus", "anastasius", "justin", "justinian", "justin",
|
|
50
|
+
"tiberius", "maurice", "phocas", "heraclius", "constantine", "constans", "constantine", "justinian",
|
|
51
|
+
"leontios", "tiberios", "philipikos", "anastasios", "theodosios", "leo", "constantine", "artabasdos",
|
|
52
|
+
"leo", "constantine", "irene", "constantine", "nikephoros", "staurakios", "michael", "leo", "michael",
|
|
53
|
+
"theophilos", "michael", "basil", "leo", "alexander", "constantine", "romanos", "christopher", "constantine",
|
|
54
|
+
"romanos", "stephen", "constantine", "michael", "romanos", "michael", "isaac", "constantine", "michael",
|
|
55
|
+
"constantinos", "michael", "theodora", "michael", "basil", "leo", "alexander", "constantine", "romanos",
|
|
56
|
+
"christopher", "constantine", "romanos", "stephen", "constantine", "michael", "romanos", "michael",
|
|
57
|
+
"isaac", "constantine", "michael", "constantinos", "michael", "theodora", "michael", "basil", "leo",
|
|
58
|
+
"alexander", "constantine", "romanos", "christopher", "constantine", "romanos", "stephen", "constantine",
|
|
59
|
+
"michael", "romanos", "michael", "isaac", "constantine", "michael", "constantinos", "michael", "theodora"
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
export function getRandomWord(): string {
|
|
63
|
+
const randomIndex = Math.floor(Math.random() * words.length);
|
|
64
|
+
return words[randomIndex];
|
|
65
|
+
}
|
package/src/templates/words.txt
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
apple
|
|
2
|
-
banana
|
|
3
|
-
cherry
|
|
4
|
-
dragon
|
|
5
|
-
eagle
|
|
6
|
-
forest
|
|
7
|
-
garden
|
|
8
|
-
hammer
|
|
9
|
-
island
|
|
10
|
-
jungle
|
|
11
|
-
kitten
|
|
12
|
-
lemon
|
|
13
|
-
mountain
|
|
14
|
-
ocean
|
|
15
|
-
pencil
|
|
16
|
-
queen
|
|
17
|
-
river
|
|
18
|
-
sunset
|
|
19
|
-
tiger
|
|
20
|
-
umbrella
|
|
21
|
-
village
|
|
22
|
-
window
|
|
23
|
-
xylophone
|
|
24
|
-
yellow
|
|
25
|
-
zebra
|
|
26
|
-
adventure
|
|
27
|
-
beautiful
|
|
28
|
-
creative
|
|
29
|
-
delicious
|
|
30
|
-
excellent
|
|
31
|
-
fantastic
|
|
32
|
-
gorgeous
|
|
33
|
-
handsome
|
|
34
|
-
incredible
|
|
35
|
-
joyful
|
|
36
|
-
knowledge
|
|
37
|
-
luminous
|
|
38
|
-
magnificent
|
|
39
|
-
natural
|
|
40
|
-
outstanding
|
|
41
|
-
perfect
|
|
42
|
-
quality
|
|
43
|
-
radiant
|
|
44
|
-
spectacular
|
|
45
|
-
tremendous
|
|
46
|
-
ultimate
|
|
47
|
-
valuable
|
|
48
|
-
wonderful
|
|
49
|
-
amazing
|
|
50
|
-
brilliant
|
|
51
|
-
charming
|
|
52
|
-
delightful
|
|
53
|
-
elegant
|
|
54
|
-
fascinating
|
|
55
|
-
graceful
|
|
56
|
-
harmonious
|
|
57
|
-
inspiring
|
|
58
|
-
jubilant
|
|
59
|
-
kindhearted
|
|
60
|
-
loving
|
|
61
|
-
mysterious
|
|
62
|
-
nurturing
|
|
63
|
-
optimistic
|
|
64
|
-
peaceful
|
|
65
|
-
quintessential
|
|
66
|
-
radiant
|
|
67
|
-
serene
|
|
68
|
-
tranquil
|
|
69
|
-
uplifting
|
|
70
|
-
vibrant
|
|
71
|
-
whimsical
|
|
72
|
-
abundant
|
|
73
|
-
blessed
|
|
74
|
-
cheerful
|
|
75
|
-
dazzling
|
|
76
|
-
energetic
|
|
77
|
-
friendly
|
|
78
|
-
generous
|
|
79
|
-
hopeful
|
|
80
|
-
imaginative
|
|
81
|
-
jovial
|
|
82
|
-
knowledgeable
|
|
83
|
-
lively
|
|
84
|
-
majestic
|
|
85
|
-
noble
|
|
86
|
-
outstanding
|
|
87
|
-
passionate
|
|
88
|
-
quintessential
|
|
89
|
-
remarkable
|
|
90
|
-
splendid
|
|
91
|
-
treasured
|
|
92
|
-
unique
|
|
93
|
-
valuable
|
|
94
|
-
warmhearted
|
|
95
|
-
authentic
|
|
96
|
-
benevolent
|
|
97
|
-
charismatic
|
|
98
|
-
determined
|
|
99
|
-
enthusiastic
|
|
100
|
-
faithful
|
|
101
|
-
gracious
|
|
102
|
-
humble
|
|
103
|
-
inspiring
|
|
104
|
-
joyful
|
|
105
|
-
kind
|
|
106
|
-
loyal
|
|
107
|
-
magnificent
|
|
108
|
-
nurturing
|
|
109
|
-
optimistic
|
|
110
|
-
patient
|
|
111
|
-
quintessential
|
|
112
|
-
resilient
|
|
113
|
-
sincere
|
|
114
|
-
trustworthy
|
|
115
|
-
understanding
|
|
116
|
-
virtuous
|
|
117
|
-
wise
|
|
118
|
-
zealous
|
|
119
|
-
abundant
|
|
120
|
-
blessed
|
|
121
|
-
cheerful
|
|
122
|
-
dazzling
|
|
123
|
-
energetic
|
|
124
|
-
friendly
|
|
125
|
-
generous
|
|
126
|
-
hopeful
|
|
127
|
-
imaginative
|
|
128
|
-
jovial
|
|
129
|
-
knowledgeable
|
|
130
|
-
lively
|
|
131
|
-
majestic
|
|
132
|
-
noble
|
|
133
|
-
outstanding
|
|
134
|
-
passionate
|
|
135
|
-
quintessential
|
|
136
|
-
remarkable
|
|
137
|
-
splendid
|
|
138
|
-
treasured
|
|
139
|
-
unique
|
|
140
|
-
valuable
|
|
141
|
-
warmhearted
|
|
142
|
-
authentic
|
|
143
|
-
benevolent
|
|
144
|
-
charismatic
|
|
145
|
-
determined
|
|
146
|
-
enthusiastic
|
|
147
|
-
faithful
|
|
148
|
-
gracious
|
|
149
|
-
humble
|
|
150
|
-
inspiring
|
|
151
|
-
joyful
|
|
152
|
-
kind
|
|
153
|
-
loyal
|
|
154
|
-
magnificent
|
|
155
|
-
nurturing
|
|
156
|
-
optimistic
|
|
157
|
-
patient
|
|
158
|
-
quintessential
|
|
159
|
-
resilient
|
|
160
|
-
sincere
|
|
161
|
-
trustworthy
|
|
162
|
-
understanding
|
|
163
|
-
virtuous
|
|
164
|
-
wise
|
|
165
|
-
zealous
|
|
166
|
-
abundant
|
|
167
|
-
blessed
|
|
168
|
-
cheerful
|
|
169
|
-
dazzling
|
|
170
|
-
energetic
|
|
171
|
-
friendly
|
|
172
|
-
generous
|
|
173
|
-
hopeful
|
|
174
|
-
imaginative
|
|
175
|
-
jovial
|
|
176
|
-
knowledgeable
|
|
177
|
-
lively
|
|
178
|
-
majestic
|
|
179
|
-
noble
|
|
180
|
-
outstanding
|
|
181
|
-
passionate
|
|
182
|
-
quintessential
|
|
183
|
-
remarkable
|
|
184
|
-
splendid
|
|
185
|
-
treasured
|
|
186
|
-
unique
|
|
187
|
-
valuable
|
|
188
|
-
warmhearted
|
|
189
|
-
authentic
|
|
190
|
-
benevolent
|
|
191
|
-
charismatic
|
|
192
|
-
determined
|
|
193
|
-
enthusiastic
|
|
194
|
-
faithful
|
|
195
|
-
gracious
|
|
196
|
-
humble
|
|
197
|
-
inspiring
|
|
198
|
-
joyful
|
|
199
|
-
kind
|
|
200
|
-
loyal
|
|
201
|
-
magnificent
|
|
202
|
-
nurturing
|
|
203
|
-
optimistic
|
|
204
|
-
patient
|
|
205
|
-
quintessential
|
|
206
|
-
resilient
|
|
207
|
-
sincere
|
|
208
|
-
trustworthy
|
|
209
|
-
understanding
|
|
210
|
-
virtuous
|
|
211
|
-
wise
|
|
212
|
-
zealous
|