@zerotal/testing 1.0.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/src/data.ts ADDED
@@ -0,0 +1,4433 @@
1
+ export const firstNames = [
2
+ "John",
3
+ "Peter",
4
+ "David",
5
+ "Michael",
6
+ "James",
7
+ "William",
8
+ "Charles",
9
+ "George",
10
+ "Joseph",
11
+ "Richard",
12
+ "Edward",
13
+ "Thomas",
14
+ "Arthur",
15
+ "Robert",
16
+ "Henry",
17
+ "Harry",
18
+ "Frank",
19
+ "Albert",
20
+ "Walter",
21
+ "Harold",
22
+ "Mary",
23
+ "Elizabeth",
24
+ "Margaret",
25
+ "Sarah",
26
+ "Jane",
27
+ "Emily",
28
+ "Emma",
29
+ "Susan",
30
+ "Catherine",
31
+ "Ann",
32
+ "Florence",
33
+ "Alice",
34
+ "Annie",
35
+ "Ellen",
36
+ "Clara",
37
+ "Edith",
38
+ "Grace",
39
+ "Lily",
40
+ "Rose",
41
+ "Bessie",
42
+ "Jack",
43
+ "Oliver",
44
+ "Jacob",
45
+ "Charlie",
46
+ "Oscar",
47
+ "Amelia",
48
+ "Olivia",
49
+ "Isla",
50
+ "Poppy",
51
+ "Ava",
52
+ "Isabella",
53
+ "Jessica",
54
+ "Sophie",
55
+ "Johan",
56
+ "Pieter",
57
+ "Willem",
58
+ "Hendrik",
59
+ "Johannes",
60
+ "Christiaan",
61
+ "Charl",
62
+ "Francois",
63
+ "Jaco",
64
+ "Ruan",
65
+ "Morne",
66
+ "Cobus",
67
+ "Hennie",
68
+ "Barend",
69
+ "Stephan",
70
+ "Gerhard",
71
+ "Marius",
72
+ "Deon",
73
+ "Dawid",
74
+ "Ryno",
75
+ "Anzel",
76
+ "Annalie",
77
+ "Marinda",
78
+ "Liezel",
79
+ "Riana",
80
+ "Yolandi",
81
+ "Sunette",
82
+ "Elize",
83
+ "Corlia",
84
+ "Zelda",
85
+ "Dirk",
86
+ "Schalk",
87
+ "Lourens",
88
+ "Andries",
89
+ "Anton",
90
+ "Christo",
91
+ "Ettienne",
92
+ "Frikkie",
93
+ "Gerrit",
94
+ "Hugo",
95
+ "Ignatius",
96
+ "Jacques",
97
+ "Kobus",
98
+ "Leon",
99
+ "Nico",
100
+ "Ockert",
101
+ "Peet",
102
+ "Quintin",
103
+ "Riaan",
104
+ "Tiaan",
105
+ "Sipho",
106
+ "Thandi",
107
+ "Mandla",
108
+ "Sizwe",
109
+ "Lindiwe",
110
+ "Bongi",
111
+ "Nomsa",
112
+ "Zandile",
113
+ "Gugu",
114
+ "Zanele",
115
+ "Vusi",
116
+ "Jabu",
117
+ "Musa",
118
+ "Sfiso",
119
+ "Sibusiso",
120
+ "Bongani",
121
+ "Sandile",
122
+ "Ndumiso",
123
+ "Xolani",
124
+ "Nkosi",
125
+ "Mpumi",
126
+ "Buhle",
127
+ "Zizipho",
128
+ "Akhona",
129
+ "Yandisa",
130
+ "Liyema",
131
+ "Bandile",
132
+ "Olwethu",
133
+ "Amahle",
134
+ "Nontobeko",
135
+ "Phumzile",
136
+ "Nompumelelo",
137
+ "Nonhlanhla",
138
+ "Slindile",
139
+ "Hlengiwe",
140
+ "Zinhle",
141
+ "Nosipho",
142
+ "Noxolo",
143
+ "Nqobile",
144
+ "Sinenhlanhla",
145
+ "Nokuthula",
146
+ "Samkelisiwe",
147
+ "Nolwazi",
148
+ "Gugulethu",
149
+ "Gcinile",
150
+ "Celiwe",
151
+ "Busisiwe",
152
+ "Ayanda",
153
+ "Asanda",
154
+ "Aphiwe",
155
+ "Andisiwe",
156
+ "Alizwa",
157
+ "Babalwa",
158
+ "Bulelwa",
159
+ "Bongiwe",
160
+ "Bathandwa",
161
+ "Chuma",
162
+ "Cikizwa",
163
+ "Cwenga",
164
+ "Khanyisa",
165
+ "Kholeka",
166
+ "Khumbuzile",
167
+ "Lindelwa",
168
+ "Liyabona",
169
+ "Loyiso",
170
+ "Lulama",
171
+ "Lwazi",
172
+ "Mandisa",
173
+ "Mbalentle",
174
+ "Mihlali",
175
+ "Nwabisa",
176
+ "Ncediswa",
177
+ "Ndileka",
178
+ "Nomhle",
179
+ "Nonceba",
180
+ "Nondumiso",
181
+ "Nozuko",
182
+ "Phumla",
183
+ "Qaqamba",
184
+ "Sibabalwe",
185
+ "Siphokazi",
186
+ "Sisipho",
187
+ "Somikazi",
188
+ "Thobeka",
189
+ "Thumeka",
190
+ "Vuyelwa",
191
+ "Vuyiseka",
192
+ "Xabiso",
193
+ "Xoliswa",
194
+ "Yolisa",
195
+ "Thabo",
196
+ "Lerato",
197
+ "Kabelo",
198
+ "Tshepo",
199
+ "Lebo",
200
+ "Mpho",
201
+ "Nthabiseng",
202
+ "Refilwe",
203
+ "Kopano",
204
+ "Palesa",
205
+ "Kagiso",
206
+ "Katlego",
207
+ "Tshegofatso",
208
+ "Amogelang",
209
+ "Dikeledi",
210
+ "Khaya",
211
+ "Onalerona",
212
+ "Oarabile",
213
+ "Lesego",
214
+ "Bokamoso",
215
+ "Kgomotso",
216
+ "Kamogelo",
217
+ "Thato",
218
+ "Odirile",
219
+ "Neo",
220
+ "Rethabile",
221
+ "Tshepiso",
222
+ "Karabo",
223
+ "Teboho",
224
+ "Dimpho",
225
+ "Kutlwano",
226
+ "Reabetswe",
227
+ "Tumelo",
228
+ "Boitumelo",
229
+ "Ofentse",
230
+ "Gomolemo",
231
+ "Kganya",
232
+ "Mahlatse",
233
+ "Mologadi",
234
+ "Makgabo",
235
+ "Noko",
236
+ "Ngoako",
237
+ "Lesiba",
238
+ "Matome",
239
+ "Tlou",
240
+ "Tau",
241
+ "Koko",
242
+ "Mmakgabo",
243
+ "Puleng",
244
+ "Tumi",
245
+ "Ntsako",
246
+ "Rirhandzu",
247
+ "Xitshembiso",
248
+ "Vutlhari",
249
+ "Ntshembo",
250
+ "Tintswalo",
251
+ "Nyeleti",
252
+ "Hlulani",
253
+ "Akani",
254
+ "Kurhula",
255
+ "Masingita",
256
+ "Pfano",
257
+ "Khathu",
258
+ "Mutali",
259
+ "Tshilidzi",
260
+ "Rendani",
261
+ "Mashudu",
262
+ "Ndivhuwo",
263
+ "Rofhiwa",
264
+ "Takalani",
265
+ "Matthew",
266
+ "Anthony",
267
+ "Mark",
268
+ "Steven",
269
+ "Paul",
270
+ "Andrew",
271
+ "Kenneth",
272
+ "Joshua",
273
+ "Kevin",
274
+ "Brian",
275
+ "Timothy",
276
+ "Ronald",
277
+ "Jason",
278
+ "Jeffrey",
279
+ "Ryan",
280
+ "Gary",
281
+ "Nicholas",
282
+ "Eric",
283
+ "Stephen",
284
+ "Larry",
285
+ "Justin",
286
+ "Scott",
287
+ "Brandon",
288
+ "Benjamin",
289
+ "Samuel",
290
+ "Gregory",
291
+ "Alexander",
292
+ "Patrick",
293
+ "Raymond",
294
+ "Dennis",
295
+ "Jerry",
296
+ "Tyler",
297
+ "Aaron",
298
+ "Jose",
299
+ "Adam",
300
+ "Nathan",
301
+ "Douglas",
302
+ "Zachary",
303
+ "Kyle",
304
+ "Ethan",
305
+ "Noah",
306
+ "Jeremy",
307
+ "Christian",
308
+ "Keith",
309
+ "Roger",
310
+ "Terry",
311
+ "Gerald",
312
+ "Sean",
313
+ "Austin",
314
+ "Carl",
315
+ "Lawrence",
316
+ "Dylan",
317
+ "Jesse",
318
+ "Jordan",
319
+ "Bryan",
320
+ "Billy",
321
+ "Joe",
322
+ "Bruce",
323
+ "Gabriel",
324
+ "Logan",
325
+ "Willie",
326
+ "Alan",
327
+ "Juan",
328
+ "Wayne",
329
+ "Elijah",
330
+ "Randy",
331
+ "Roy",
332
+ "Vincent",
333
+ "Ralph",
334
+ "Eugene",
335
+ "Russell",
336
+ "Bobby",
337
+ "Mason",
338
+ "Philip",
339
+ "Louis",
340
+ "Patricia",
341
+ "Jennifer",
342
+ "Linda",
343
+ "Barbara",
344
+ "Karen",
345
+ "Lisa",
346
+ "Nancy",
347
+ "Betty",
348
+ "Sandra",
349
+ "Ashley",
350
+ "Kimberly",
351
+ "Donna",
352
+ "Michelle",
353
+ "Carol",
354
+ "Amanda",
355
+ "Dorothy",
356
+ "Melissa",
357
+ "Deborah",
358
+ "Stephanie",
359
+ "Rebecca",
360
+ "Sharon",
361
+ "Laura",
362
+ "Cynthia",
363
+ "Kathleen",
364
+ "Amy",
365
+ "Angela",
366
+ "Shirley",
367
+ "Anna",
368
+ "Brenda",
369
+ "Pamela",
370
+ "Nicole",
371
+ "Samantha",
372
+ "Katherine",
373
+ "Christine",
374
+ "Debra",
375
+ "Rachel",
376
+ "Carolyn",
377
+ "Janet",
378
+ "Maria",
379
+ "Heather",
380
+ "Diane",
381
+ "Ruth",
382
+ "Julie",
383
+ "Joyce",
384
+ "Virginia",
385
+ "Victoria",
386
+ "Kelly",
387
+ "Lauren",
388
+ "Christina",
389
+ "Joan",
390
+ "Evelyn",
391
+ "Judith",
392
+ "Megan",
393
+ "Andrea",
394
+ "Cheryl",
395
+ "Hannah",
396
+ "Jacqueline",
397
+ "Martha",
398
+ "Gloria",
399
+ "Teresa",
400
+ "Sara",
401
+ "Madison",
402
+ "Frances",
403
+ "Kathryn",
404
+ "Janice",
405
+ "Jean",
406
+ "Abigail",
407
+ "Julia",
408
+ "Judy",
409
+ "Sophia",
410
+ "Stephanus",
411
+ "Gert",
412
+ "Adriaan",
413
+ "Petrus",
414
+ "Karel",
415
+ "Lodewyk",
416
+ "Bernardus",
417
+ "Nicolaas",
418
+ "Jan",
419
+ "Johanna",
420
+ "Magdalena",
421
+ "Catharina",
422
+ "Susanna",
423
+ "Cornelia",
424
+ "Helena",
425
+ "Jacoba",
426
+ "Aletta",
427
+ "Margaretha",
428
+ "Siphesihle",
429
+ "Lethabo",
430
+ "Melokuhle",
431
+ "Banele",
432
+ "Lubabalo",
433
+ "Siyabonga",
434
+ "Thabiso",
435
+ "Lebogang",
436
+ "Tebogo",
437
+ "Itumeleng",
438
+ "Olebogeng",
439
+ "Otlhile",
440
+ "Kelebogile",
441
+ "Tshepang",
442
+ "Bontle",
443
+ "Keabetswe",
444
+ "Tlhalefang",
445
+ "Tshenolo",
446
+ "Onthatile",
447
+ "Rebaone",
448
+ "Gaopalelwe",
449
+ ];
450
+
451
+ export const lastNames = [
452
+ "Dlamini",
453
+ "Ndlovu",
454
+ "Khumalo",
455
+ "Sithole",
456
+ "Mokoena",
457
+ "Nkosi",
458
+ "Zungu",
459
+ "Zwane",
460
+ "Mkhize",
461
+ "Mthembu",
462
+ "Gumede",
463
+ "Mahlangu",
464
+ "Ngcobo",
465
+ "Maseko",
466
+ "Mabaso",
467
+ "Thabethe",
468
+ "Nzimande",
469
+ "Hadebe",
470
+ "Cele",
471
+ "Xaba",
472
+ "Sibiya",
473
+ "Mnguni",
474
+ "Buthelezi",
475
+ "Nxumalo",
476
+ "Shabalala",
477
+ "Zikalala",
478
+ "Makhanya",
479
+ "Nkabinde",
480
+ "Mzizi",
481
+ "Bhengu",
482
+ "Nyawo",
483
+ "Mchunu",
484
+ "Mvelase",
485
+ "Ntuli",
486
+ "Phungula",
487
+ "Mncube",
488
+ "Mdlalose",
489
+ "Luthuli",
490
+ "Mbuyisa",
491
+ "Ndimande",
492
+ "Shange",
493
+ "Majola",
494
+ "Zondi",
495
+ "Mbanjwa",
496
+ "Ndlela",
497
+ "Mlambo",
498
+ "Ngubane",
499
+ "Makhoba",
500
+ "Maphumulo",
501
+ "Masango",
502
+ "Shabangu",
503
+ "Mkhwanazi",
504
+ "Xulu",
505
+ "Zitha",
506
+ "Vilakazi",
507
+ "Zikhali",
508
+ "Hlatshwayo",
509
+ "Hlongwane",
510
+ "Nene",
511
+ "Mbatha",
512
+ "Mofokeng",
513
+ "Motloung",
514
+ "Motaung",
515
+ "Moloi",
516
+ "Letsoalo",
517
+ "Modise",
518
+ "Molefe",
519
+ "Moroke",
520
+ "Mphahlele",
521
+ "Phiri",
522
+ "Seabi",
523
+ "Sebokedi",
524
+ "Sekgobela",
525
+ "Tladi",
526
+ "Tshabalala",
527
+ "Mokgotha",
528
+ "Mokwena",
529
+ "Radebe",
530
+ "Mohlala",
531
+ "Phakathi",
532
+ "Kekana",
533
+ "Ledwaba",
534
+ "Makgoba",
535
+ "Mabunda",
536
+ "Baloyi",
537
+ "Maluleke",
538
+ "Chauke",
539
+ "Mathebula",
540
+ "Shirinda",
541
+ "Makhubela",
542
+ "Mahomed",
543
+ "Patel",
544
+ "Naidoo",
545
+ "Moodley",
546
+ "Govender",
547
+ "Pillay",
548
+ "Chetty",
549
+ "Reddy",
550
+ "Desai",
551
+ "Singh",
552
+ "Khan",
553
+ "Ismail",
554
+ "Moosa",
555
+ "Ebrahim",
556
+ "Saloojee",
557
+ "Mitha",
558
+ "Chohan",
559
+ "Seedat",
560
+ "Cassim",
561
+ "Mia",
562
+ "Allie",
563
+ "Abrahams",
564
+ "Hendricks",
565
+ "Jacobs",
566
+ "Petersen",
567
+ "Isaacs",
568
+ "Adams",
569
+ "Arendse",
570
+ "Cupido",
571
+ "Goliath",
572
+ "Jantjies",
573
+ "Klaaste",
574
+ "September",
575
+ "October",
576
+ "November",
577
+ "Fortuin",
578
+ "Boesak",
579
+ "Appel",
580
+ "Farao",
581
+ "Davids",
582
+ "Botha",
583
+ "Van Der Merwe",
584
+ "Van Zyl",
585
+ "Nel",
586
+ "Smit",
587
+ "Venter",
588
+ "Pretorius",
589
+ "Coetzee",
590
+ "Fourie",
591
+ "Louw",
592
+ "Van Niekerk",
593
+ "Steyn",
594
+ "Meyer",
595
+ "Du Plessis",
596
+ "Kruger",
597
+ "Barnard",
598
+ "Roux",
599
+ "Joubert",
600
+ "Cilliers",
601
+ "De Villiers",
602
+ "Boshoff",
603
+ "Bezuidenhout",
604
+ "Pienaar",
605
+ "Viljoen",
606
+ "Swanepoel",
607
+ "Strydom",
608
+ "Burger",
609
+ "Oosthuizen",
610
+ "Van Rooyen",
611
+ "Potgieter",
612
+ "Du Toit",
613
+ "De Klerk",
614
+ "Van Rensburg",
615
+ "Van Wyk",
616
+ "Olivier",
617
+ "Haasbroek",
618
+ "Bester",
619
+ "Grobler",
620
+ "Prinsloo",
621
+ "Steenkamp",
622
+ "Greyling",
623
+ "Groenewald",
624
+ "Van Heerden",
625
+ "Visagie",
626
+ "Swart",
627
+ "Myburgh",
628
+ "Engelbrecht",
629
+ "Malan",
630
+ "Van Jaarsveld",
631
+ "Rossouw",
632
+ "Theron",
633
+ "Labuschagne",
634
+ "Nienaber",
635
+ "Jonker",
636
+ "Claassen",
637
+ "Vorster",
638
+ "Els",
639
+ "Spies",
640
+ "Snyman",
641
+ "Visser",
642
+ "Smith",
643
+ "Johnson",
644
+ "Williams",
645
+ "Brown",
646
+ "Jones",
647
+ "Garcia",
648
+ "Miller",
649
+ "Davis",
650
+ "Rodriguez",
651
+ "Martinez",
652
+ "Hernandez",
653
+ "Lopez",
654
+ "Gonzalez",
655
+ "Wilson",
656
+ "Anderson",
657
+ "Thomas",
658
+ "Taylor",
659
+ "Moore",
660
+ "Jackson",
661
+ "Martin",
662
+ "Lee",
663
+ "Perez",
664
+ "Thompson",
665
+ "White",
666
+ "Harris",
667
+ "Sanchez",
668
+ "Clark",
669
+ "Ramirez",
670
+ "Lewis",
671
+ "Robinson",
672
+ "Walker",
673
+ "Young",
674
+ "Allen",
675
+ "King",
676
+ "Wright",
677
+ "Scott",
678
+ "Torres",
679
+ "Nguyen",
680
+ "Hill",
681
+ "Flores",
682
+ "Green",
683
+ "Nelson",
684
+ "Baker",
685
+ "Hall",
686
+ "Rivera",
687
+ "Campbell",
688
+ "Mitchell",
689
+ "Carter",
690
+ "Roberts",
691
+ "Gomez",
692
+ "Phillips",
693
+ "Evans",
694
+ "Turner",
695
+ "Diaz",
696
+ "Parker",
697
+ "Cruz",
698
+ "Edwards",
699
+ "Collins",
700
+ "Reyes",
701
+ "Stewart",
702
+ "Morris",
703
+ "Morales",
704
+ "Murphy",
705
+ "Cook",
706
+ "Rogers",
707
+ "Gutierrez",
708
+ "Ortiz",
709
+ "Morgan",
710
+ "Cooper",
711
+ "Peterson",
712
+ "Bailey",
713
+ "Reed",
714
+ "Kelly",
715
+ "Howard",
716
+ "Ramos",
717
+ "Kim",
718
+ "Cox",
719
+ "Ward",
720
+ "Richardson",
721
+ "Watson",
722
+ "Brooks",
723
+ "Chavez",
724
+ "Wood",
725
+ "James",
726
+ "Bennett",
727
+ "Gray",
728
+ "Mendoza",
729
+ "Ruiz",
730
+ "Hughes",
731
+ "Price",
732
+ "Alvarez",
733
+ "Castillo",
734
+ "Sanders",
735
+ "Myers",
736
+ "Long",
737
+ "Ross",
738
+ "Foster",
739
+ "Jimenez",
740
+ "Powell",
741
+ "Naik",
742
+ "Maharaj",
743
+ "Naicker",
744
+ "Kirsten",
745
+ "Pietersen",
746
+ "Klaasen",
747
+ "Van der Walt",
748
+ "Nortje",
749
+ "Coetzer",
750
+ "Lombard",
751
+ "Marais",
752
+ ];
753
+
754
+ export const cities = [
755
+ "Johannesburg",
756
+ "Cape Town",
757
+ "Durban",
758
+ "Pretoria",
759
+ "Port Elizabeth (Gqeberha)",
760
+ "Bloemfontein",
761
+ "East London",
762
+ "Pietermaritzburg",
763
+ "Kimberley",
764
+ "Polokwane",
765
+ "Nelspruit (Mbombela)",
766
+ "Rustenburg",
767
+ "Upington",
768
+ "George",
769
+ "Stellenbosch",
770
+ "Somerset West",
771
+ "Paarl",
772
+ "Worcester",
773
+ "Oudtshoorn",
774
+ "Mossel Bay",
775
+ "Knysna",
776
+ "Plettenberg Bay",
777
+ "Hermanus",
778
+ "Malmesbury",
779
+ "Saldanha",
780
+ "Vredenburg",
781
+ "Beaufort West",
782
+ "Graaff-Reinet",
783
+ "Cradock",
784
+ "Grahamstown (Makhanda)",
785
+ "Queenstown (Komani)",
786
+ "King William's Town (Qonce)",
787
+ "Uitenhage (Kariega)",
788
+ "Pinetown",
789
+ "Amanzimtoti",
790
+ "Umhlanga",
791
+ "Ballito",
792
+ "Richards Bay",
793
+ "Empangeni",
794
+ "Newcastle",
795
+ "Ladysmith",
796
+ "Dundee",
797
+ "Vryheid",
798
+ "Margate",
799
+ "Port Shepstone",
800
+ "Kokstad",
801
+ "Welkom",
802
+ "Kroonstad",
803
+ "Sasolburg",
804
+ "Parys",
805
+ "Bethlehem",
806
+ "Harrismith",
807
+ "Phuthaditjhaba",
808
+ "Ficksburg",
809
+ "Ladybrand",
810
+ "Aliwal North",
811
+ "De Aar",
812
+ "Colesberg",
813
+ "Springbok",
814
+ "Calvinia",
815
+ "Kuruman",
816
+ "Kathu",
817
+ "Vryburg",
818
+ "Mahikeng",
819
+ "Zeerust",
820
+ "Lichtenburg",
821
+ "Potchefstroom",
822
+ "Klerksdorp",
823
+ "Orkney",
824
+ "Vanderbijlpark",
825
+ "Vereeniging",
826
+ "Meyerton",
827
+ "Heidelberg",
828
+ "Springs",
829
+ "Brakpan",
830
+ "Benoni",
831
+ "Boksburg",
832
+ "Kempton Park",
833
+ "Germiston",
834
+ "Alberton",
835
+ "Roodepoort",
836
+ "Randburg",
837
+ "Sandton",
838
+ "Midrand",
839
+ "Centurion",
840
+ "Akasia",
841
+ "Mabopane",
842
+ "Soshanguve",
843
+ "Mamelodi",
844
+ "Atteridgeville",
845
+ "Tembisa",
846
+ "Vosloorus",
847
+ "Katlehong",
848
+ "Thokoza",
849
+ "Kagiso",
850
+ "Mohlakeng",
851
+ "Soweto",
852
+ "Alexandra",
853
+ "Diepsloot",
854
+ "Ivory Park",
855
+ "Orange Farm",
856
+ "Sebokeng",
857
+ "Evaton",
858
+ "Sharpeville",
859
+ "Boipatong",
860
+ "Bophelong",
861
+ "Duduza",
862
+ "Tsakane",
863
+ "KwaThema",
864
+ "Daveyton",
865
+ "Wattville",
866
+ "Etwatwa",
867
+ "Mhluzi",
868
+ "Emalahleni (Witbank)",
869
+ "Middelburg",
870
+ "Secunda",
871
+ "Bethal",
872
+ "Ermelo",
873
+ "Standerton",
874
+ "Piet Retief (eMkhondo)",
875
+ "Barberton",
876
+ "White River",
877
+ "Hazyview",
878
+ "Graskop",
879
+ "Sabie",
880
+ "Lydenburg (Mashishing)",
881
+ "Burgersfort",
882
+ "Steelpoort",
883
+ "Phalaborwa",
884
+ "Tzaneen",
885
+ "Giyani",
886
+ "Makhado (Louis Trichardt)",
887
+ "Musina",
888
+ "Thohoyandou",
889
+ "Malamulele",
890
+ "Siyabuswa",
891
+ "Dennilton",
892
+ "Bela-Bela",
893
+ "Modimolle",
894
+ "Mookgophong",
895
+ "Lephalale",
896
+ "Thabazimbi",
897
+ "Mokopane",
898
+ "Stanger",
899
+ "Tongaat",
900
+ "Verulam",
901
+ "Isipingo",
902
+ "Kingsburgh",
903
+ "Kloof",
904
+ "Hillcrest",
905
+ "Howick",
906
+ "Estcourt",
907
+ "Somerset East",
908
+ "Queenstown",
909
+ "Bisho",
910
+ "Zwelitsha",
911
+ "Mdantsane",
912
+ "Caledon",
913
+ "Swellendam",
914
+ "Robertson",
915
+ "Montagu",
916
+ "Villiersdorp",
917
+ "Ceres",
918
+ "Tulbagh",
919
+ "Wellington",
920
+ "Franschhoek",
921
+ "Laingsburg",
922
+ "Prince Albert",
923
+ "De Rust",
924
+ "Riversdale",
925
+ "Albertinia",
926
+ "Groot-Brakrivier",
927
+ "Virginia",
928
+ "Odendaalsrus",
929
+ "Hennenman",
930
+ "Ventersburg",
931
+ "Winburg",
932
+ "Brandfort",
933
+ "Theunissen",
934
+ "Senekal",
935
+ "Paul Roux",
936
+ "Warden",
937
+ "Villiers",
938
+ "Frankfort",
939
+ "Heilbron",
940
+ "Koppies",
941
+ "Mmabatho",
942
+ "Coligny",
943
+ "Ventersdorp",
944
+ "Stilfontein",
945
+ "Postmasburg",
946
+ "Keimoes",
947
+ "Kakamas",
948
+ "Port Nolloth",
949
+ "Alexander Bay",
950
+ "Hanover",
951
+ "Richmond",
952
+ "Victoria West",
953
+ "Carnarvon",
954
+ "Williston",
955
+ "Brandvlei",
956
+ "Kenhardt",
957
+ "Pofadder",
958
+ "Aggeneys",
959
+ "Prieska",
960
+ "Douglas",
961
+ "Barkly West",
962
+ "Warrenton",
963
+ "Christiana",
964
+ "Bloemhof",
965
+ ];
966
+
967
+ export const provinces = [
968
+ "Eastern Cape",
969
+ "Free State",
970
+ "Gauteng",
971
+ "KwaZulu-Natal",
972
+ "Limpopo",
973
+ "Mpumalanga",
974
+ "North West",
975
+ "Northern Cape",
976
+ "Western Cape",
977
+ ];
978
+
979
+ export const streetNames = [
980
+ "Mandela",
981
+ "Tambo",
982
+ "Sisulu",
983
+ "Biko",
984
+ "Luthuli",
985
+ "Kerk",
986
+ "Voortrekker",
987
+ "Church",
988
+ "Main",
989
+ "Paul Kruger",
990
+ "Vilakazi",
991
+ "Mbeki",
992
+ "Pretorius",
993
+ "Smit",
994
+ "Botha",
995
+ "Oxford",
996
+ "Adderley",
997
+ "Long",
998
+ "Bree",
999
+ "Commissioner",
1000
+ "Rivonia",
1001
+ "Jan Smuts",
1002
+ "William Nicol",
1003
+ "Beyers Naude",
1004
+ "Hendrik Potgieter",
1005
+ "Sol Plaatje",
1006
+ "Chris Hani",
1007
+ "Walter Sisulu",
1008
+ "Pixley Ka Seme",
1009
+ "Anton Lembede",
1010
+ "Mahatma Gandhi",
1011
+ "Albert Luthuli",
1012
+ "Govan Mbeki",
1013
+ "Steve Biko",
1014
+ "Ruth First",
1015
+ "Helen Joseph",
1016
+ "Lilian Ngoyi",
1017
+ "Charlotte Maxeke",
1018
+ "Makabongwe",
1019
+ "Nyalunga",
1020
+ "Mzilikazi",
1021
+ "Shaka",
1022
+ "Cetshwayo",
1023
+ "Dingane",
1024
+ "Moshoeshoe",
1025
+ "Sekhukhune",
1026
+ "Mampuru",
1027
+ "Makhado",
1028
+ "Ramabulana",
1029
+ "Oak",
1030
+ "Pine",
1031
+ "Maple",
1032
+ "Cedar",
1033
+ "Elm",
1034
+ "Willow",
1035
+ "Ash",
1036
+ "Birch",
1037
+ "Walnut",
1038
+ "Chestnut",
1039
+ "Sycamore",
1040
+ "Magnolia",
1041
+ "Spruce",
1042
+ "Hickory",
1043
+ "Poplar",
1044
+ "Washington",
1045
+ "Lincoln",
1046
+ "Jefferson",
1047
+ "Madison",
1048
+ "Jackson",
1049
+ "Monroe",
1050
+ "Roosevelt",
1051
+ "Kennedy",
1052
+ "Clinton",
1053
+ "Bush",
1054
+ "Obama",
1055
+ "Park",
1056
+ "Broad",
1057
+ "High",
1058
+ "Water",
1059
+ "School",
1060
+ "Mill",
1061
+ "Spring",
1062
+ "Court",
1063
+ "River",
1064
+ "Lake",
1065
+ "Forest",
1066
+ "Hill",
1067
+ "Valley",
1068
+ "Meadow",
1069
+ "Nelson Mandela",
1070
+ "Oliver Tambo",
1071
+ "Thabo Mbeki",
1072
+ "Robert Sobukwe",
1073
+ "Pixley ka Isaka Seme",
1074
+ "Bram Fischer",
1075
+ "Andries",
1076
+ "Schoeman",
1077
+ "Skinner",
1078
+ "Van der Walt",
1079
+ "Esselen",
1080
+ "Jeppe",
1081
+ "Plein",
1082
+ "Strand",
1083
+ "Loop",
1084
+ "Buitengracht",
1085
+ "Buitenkant",
1086
+ "Roeland",
1087
+ "Darling",
1088
+ "Wale",
1089
+ "Keerom",
1090
+ "Burg",
1091
+ "St Georges",
1092
+ "Malibongwe",
1093
+ "Witkoppen",
1094
+ "Watermeyer",
1095
+ "Lynnwood",
1096
+ "Atterbury",
1097
+ "Menlyn",
1098
+ "Justice Mahomed",
1099
+ "Florence Ribeiro",
1100
+ "Leyds",
1101
+ "Burnett",
1102
+ "Duxbury",
1103
+ "Hay",
1104
+ "Hilda",
1105
+ "Florence Nightingale",
1106
+ "Louis Pasteur",
1107
+ "Alexander Fleming",
1108
+ "Marie Curie",
1109
+ "Albert Einstein",
1110
+ "Isaac Newton",
1111
+ "Galileo Galilei",
1112
+ ];
1113
+
1114
+ export const streetTypes = [
1115
+ "Street",
1116
+ "Road",
1117
+ "Avenue",
1118
+ "Drive",
1119
+ "Boulevard",
1120
+ "Way",
1121
+ "Close",
1122
+ "Lane",
1123
+ "Crescent",
1124
+ "Place",
1125
+ "Straat",
1126
+ "Weg",
1127
+ "Rylaan",
1128
+ "Singel",
1129
+ "Steeg",
1130
+ "Laan",
1131
+ "Court",
1132
+ "Terrace",
1133
+ "Square",
1134
+ "Plaza",
1135
+ "Alley",
1136
+ "Trail",
1137
+ "Parkway",
1138
+ "Circle",
1139
+ "Highway",
1140
+ "Expressway",
1141
+ "Freeway",
1142
+ "Turnpike",
1143
+ "Tollway",
1144
+ "Bypass",
1145
+ "Route",
1146
+ "Path",
1147
+ "Track",
1148
+ "Walk",
1149
+ "Promenade",
1150
+ "Esplanade",
1151
+ "Parade",
1152
+ "Mews",
1153
+ "Grove",
1154
+ "Gardens",
1155
+ "View",
1156
+ "Heights",
1157
+ "Hill",
1158
+ "Mount",
1159
+ "Ridge",
1160
+ "Valley",
1161
+ "Glen",
1162
+ "Dale",
1163
+ "Meadow",
1164
+ "Wood",
1165
+ "Forest",
1166
+ "Park",
1167
+ "Green",
1168
+ "Common",
1169
+ "Heath",
1170
+ "Moor",
1171
+ "Downs",
1172
+ "Fields",
1173
+ "Acres",
1174
+ "Estate",
1175
+ "Manor",
1176
+ "Farm",
1177
+ "Grange",
1178
+ "Lodge",
1179
+ "Cottage",
1180
+ "Villa",
1181
+ "House",
1182
+ "Hall",
1183
+ ];
1184
+
1185
+ export const suburbs = [
1186
+ "Sandton",
1187
+ "Rosebank",
1188
+ "Soweto",
1189
+ "Mamelodi",
1190
+ "Umlazi",
1191
+ "Khayelitsha",
1192
+ "Mitchells Plain",
1193
+ "Centurion",
1194
+ "Randburg",
1195
+ "Roodepoort",
1196
+ "Kempton Park",
1197
+ "Boksburg",
1198
+ "Benoni",
1199
+ "Germiston",
1200
+ "Alberton",
1201
+ "Edenvale",
1202
+ "Bedfordview",
1203
+ "Fourways",
1204
+ "Bryanston",
1205
+ "Midrand",
1206
+ "Sunnyside",
1207
+ "Arcadia",
1208
+ "Brooklyn",
1209
+ "Hatfield",
1210
+ "Lynnwood",
1211
+ "Menlyn",
1212
+ "Waterkloof",
1213
+ "Garsfontein",
1214
+ "Faerie Glen",
1215
+ "Moreleta Park",
1216
+ "Equestria",
1217
+ "Silver Lakes",
1218
+ "Atteridgeville",
1219
+ "Soshanguve",
1220
+ "Garankuwa",
1221
+ "Mabopane",
1222
+ "Winterveld",
1223
+ "Hammanskraal",
1224
+ "Temba",
1225
+ "Kagiso",
1226
+ "Mohlakeng",
1227
+ "Bekkersdal",
1228
+ "Khutsong",
1229
+ "Evaton",
1230
+ "Sebokeng",
1231
+ "Sharpeville",
1232
+ "Boipatong",
1233
+ "Bophelong",
1234
+ "Rietvallei",
1235
+ "Azaadville",
1236
+ "Lenasia",
1237
+ "Eldorado Park",
1238
+ "Ennerdale",
1239
+ "Orange Farm",
1240
+ "Diepsloot",
1241
+ "Ivory Park",
1242
+ "Rondebosch",
1243
+ "Claremont",
1244
+ "Newlands",
1245
+ "Kenilworth",
1246
+ "Wynberg",
1247
+ "Plumstead",
1248
+ "Diep River",
1249
+ "Heathfield",
1250
+ "Retreat",
1251
+ "Steenberg",
1252
+ "Tokai",
1253
+ "Kirstenhof",
1254
+ "Muizenberg",
1255
+ "St James",
1256
+ "Kalk Bay",
1257
+ "Fish Hoek",
1258
+ "Simon's Town",
1259
+ "Kommetjie",
1260
+ "Noordhoek",
1261
+ "Hout Bay",
1262
+ "Llandudno",
1263
+ "Camps Bay",
1264
+ "Clifton",
1265
+ "Bantry Bay",
1266
+ "Sea Point",
1267
+ "Green Point",
1268
+ "Mouille Point",
1269
+ "Waterfront",
1270
+ "Foreshore",
1271
+ "City Bowl",
1272
+ "Gardens",
1273
+ "Oranjezicht",
1274
+ "Tamboerskloof",
1275
+ "Vredehoek",
1276
+ "Bo-Kaap",
1277
+ "De Waterkant",
1278
+ "Zonnebloem",
1279
+ "Woodstock",
1280
+ "Observatory",
1281
+ "Mowbray",
1282
+ "Pinelands",
1283
+ "Thornton",
1284
+ "Maitland",
1285
+ "Kensington",
1286
+ "Factreton",
1287
+ "Goodwood",
1288
+ "Parow",
1289
+ "Bellville",
1290
+ "Durbanville",
1291
+ "Brackenfell",
1292
+ "Kraaifontein",
1293
+ "Kuils River",
1294
+ "Milnerton",
1295
+ "Table View",
1296
+ "Bloubergstrand",
1297
+ "Melkbosstrand",
1298
+ "Atlantis",
1299
+ "Gugulethu",
1300
+ "Nyanga",
1301
+ "Langa",
1302
+ "Crossroads",
1303
+ "Philippi",
1304
+ "Delft",
1305
+ "Belhar",
1306
+ "Bishop Lavis",
1307
+ "Elsies River",
1308
+ "Ravensmead",
1309
+ "Uitsig",
1310
+ "Valhalla Park",
1311
+ "Hanover Park",
1312
+ "Manenberg",
1313
+ "Heideveld",
1314
+ "Guguletu",
1315
+ "Athlone",
1316
+ "Crawford",
1317
+ "Lansdowne",
1318
+ "Rylands",
1319
+ "Gatesville",
1320
+ "Sybrand Park",
1321
+ "Hazendal",
1322
+ "Kewtown",
1323
+ "Bridgetown",
1324
+ "Silvertown",
1325
+ "Vanguard",
1326
+ "Welcome",
1327
+ "Surrey Estate",
1328
+ "Penlyn Estate",
1329
+ "Belgravia",
1330
+ "Charlesville",
1331
+ "Montana",
1332
+ "Montevideo",
1333
+ "Kalksteenfontein",
1334
+ "Bonteheuwel",
1335
+ "Berea",
1336
+ "Morningside",
1337
+ "Musgrave",
1338
+ "Glenwood",
1339
+ "Umbilo",
1340
+ "Congella",
1341
+ "Rossburgh",
1342
+ "Sea View",
1343
+ "Bellair",
1344
+ "Hillary",
1345
+ "Malvern",
1346
+ "Queensburgh",
1347
+ "Escombe",
1348
+ "Northdene",
1349
+ "Chatsworth",
1350
+ "Isipingo",
1351
+ "Amanzimtoti",
1352
+ "Kingsburgh",
1353
+ "Winkelspruit",
1354
+ "Illovo Beach",
1355
+ "Karridene",
1356
+ "Umkomaas",
1357
+ "Scottburgh",
1358
+ "Park Rynie",
1359
+ "Kelso",
1360
+ "Pennington",
1361
+ "Sezela",
1362
+ "Bazley",
1363
+ "Ifafa",
1364
+ "Mtwalume",
1365
+ "Hibberdene",
1366
+ "Umzumbe",
1367
+ "Pumula",
1368
+ "Melville",
1369
+ "Banana Beach",
1370
+ "Sunwich Port",
1371
+ "Southport",
1372
+ "Sea Park",
1373
+ "Umtentweni",
1374
+ "Port Shepstone",
1375
+ "Oslo Beach",
1376
+ "Shelly Beach",
1377
+ "St Michaels on Sea",
1378
+ "Uvongo",
1379
+ "Margate",
1380
+ "Ramsgate",
1381
+ "Southbroom",
1382
+ "Marina Beach",
1383
+ "Trafalgar",
1384
+ "Palm Beach",
1385
+ "Munster",
1386
+ "Glenmore",
1387
+ "Leisure Bay",
1388
+ "Port Edward",
1389
+ "Westville",
1390
+ "Pinetown",
1391
+ "New Germany",
1392
+ "Kloof",
1393
+ "Gillitts",
1394
+ "Hillcrest",
1395
+ "Botha's Hill",
1396
+ "Assagay",
1397
+ "Alverstone",
1398
+ "Waterfall",
1399
+ "Crestholme",
1400
+ "Forest Hills",
1401
+ "Winston Park",
1402
+ "Everton",
1403
+ "Wyebank",
1404
+ "Kwandengezi",
1405
+ "Clermont",
1406
+ "KwaDabeka",
1407
+ "Molweni",
1408
+ "Inanda",
1409
+ "Ntuzuma",
1410
+ "KwaMashu",
1411
+ "Phoenix",
1412
+ "Verulam",
1413
+ "Tongaat",
1414
+ "Umdloti",
1415
+ "La Mercy",
1416
+ "Westbrook",
1417
+ "Seatides",
1418
+ "Desainagar",
1419
+ "Genazzano",
1420
+ "Boy's Town",
1421
+ "Tongaat Beach",
1422
+ "Blythedale",
1423
+ "Zinkwazi",
1424
+ "Darnall",
1425
+ "Tugela Mouth",
1426
+ "Mandeni",
1427
+ "Sundumbili",
1428
+ "Amatikulu",
1429
+ "Gingindlovu",
1430
+ "Mtunzini",
1431
+ "Richards Bay",
1432
+ "Empangeni",
1433
+ "Mzingazi",
1434
+ "Meerensee",
1435
+ "Arboretum",
1436
+ "Veldenvlei",
1437
+ "Birdswood",
1438
+ "Brackenham",
1439
+ "Aquadene",
1440
+ "Ngwelezane",
1441
+ "Esikhaleni",
1442
+ "Vulindlela",
1443
+ "Felixton",
1444
+ "Kwambonambi",
1445
+ ];
1446
+
1447
+ export const emailDomains = [
1448
+ "gmail.com",
1449
+ "yahoo.com",
1450
+ "hotmail.com",
1451
+ "outlook.com",
1452
+ "icloud.com",
1453
+ "webmail.co.za",
1454
+ "telkomsa.net",
1455
+ "mweb.co.za",
1456
+ "vodamail.co.za",
1457
+ "mtn.co.za",
1458
+ "cellc.co.za",
1459
+ "protonmail.com",
1460
+ "me.com",
1461
+ "ymail.com",
1462
+ "zoho.com",
1463
+ "yandex.com",
1464
+ "mail.com",
1465
+ "gmx.com",
1466
+ "fastmail.com",
1467
+ "tutanota.com",
1468
+ "hey.com",
1469
+ "pm.me",
1470
+ "corporate.co.za",
1471
+ "business.co.za",
1472
+ "enterprise.co.za",
1473
+ "company.co.za",
1474
+ "firm.co.za",
1475
+ "agency.co.za",
1476
+ "group.co.za",
1477
+ "holding.co.za",
1478
+ "investments.co.za",
1479
+ "capital.co.za",
1480
+ "partners.co.za",
1481
+ "associates.co.za",
1482
+ "consulting.co.za",
1483
+ "solutions.co.za",
1484
+ "services.co.za",
1485
+ "systems.co.za",
1486
+ "technologies.co.za",
1487
+ "innovations.co.za",
1488
+ "creatives.co.za",
1489
+ "designs.co.za",
1490
+ "media.co.za",
1491
+ "communications.co.za",
1492
+ "marketing.co.za",
1493
+ "advertising.co.za",
1494
+ "pr.co.za",
1495
+ "events.co.za",
1496
+ "productions.co.za",
1497
+ "studios.co.za",
1498
+ "entertainment.co.za",
1499
+ "music.co.za",
1500
+ "records.co.za",
1501
+ "films.co.za",
1502
+ "pictures.co.za",
1503
+ ];
1504
+
1505
+ /** SA mobile network prefixes — all 10-digit numbers starting with 0XX */
1506
+ export const mobileAreaCodes = [
1507
+ "060",
1508
+ "061",
1509
+ "062",
1510
+ "063",
1511
+ "064",
1512
+ "065",
1513
+ "066",
1514
+ "067",
1515
+ "071",
1516
+ "072",
1517
+ "073",
1518
+ "074",
1519
+ "076",
1520
+ "078",
1521
+ "079",
1522
+ "081",
1523
+ "082",
1524
+ "083",
1525
+ "084",
1526
+ ];
1527
+
1528
+ /** Realistic SA postal codes by area */
1529
+ export const postalCodes = [
1530
+ // Gauteng
1531
+ "0001",
1532
+ "0002",
1533
+ "0081",
1534
+ "0082",
1535
+ "1459",
1536
+ "1461",
1537
+ "1545",
1538
+ "1600",
1539
+ "1601",
1540
+ "1619",
1541
+ "1627",
1542
+ "1628",
1543
+ "1632",
1544
+ "1700",
1545
+ "1709",
1546
+ "2000",
1547
+ "2001",
1548
+ "2090",
1549
+ "2092",
1550
+ "2094",
1551
+ "2095",
1552
+ "2107",
1553
+ "2109",
1554
+ "2128",
1555
+ "2129",
1556
+ "2131",
1557
+ "2132",
1558
+ "2135",
1559
+ "2136",
1560
+ "2137",
1561
+ "2138",
1562
+ "2139",
1563
+ "2140",
1564
+ "2141",
1565
+ "2142",
1566
+ "2143",
1567
+ "2144",
1568
+ "2145",
1569
+ "2146",
1570
+ "2147",
1571
+ "2148",
1572
+ "2149",
1573
+ "2150",
1574
+ "2151",
1575
+ "2152",
1576
+ "2153",
1577
+ "2154",
1578
+ "2155",
1579
+ "2156",
1580
+ "2157",
1581
+ "2190",
1582
+ "2191",
1583
+ "2192",
1584
+ "2193",
1585
+ "2194",
1586
+ "2195",
1587
+ "2196",
1588
+ // Western Cape
1589
+ "7000",
1590
+ "7001",
1591
+ "7100",
1592
+ "7101",
1593
+ "7130",
1594
+ "7200",
1595
+ "7300",
1596
+ "7400",
1597
+ "7405",
1598
+ "7410",
1599
+ "7415",
1600
+ "7441",
1601
+ "7500",
1602
+ "7530",
1603
+ "7550",
1604
+ "7570",
1605
+ "7580",
1606
+ "7600",
1607
+ "7700",
1608
+ "7750",
1609
+ "7800",
1610
+ // KwaZulu-Natal
1611
+ "3200",
1612
+ "3201",
1613
+ "3204",
1614
+ "3270",
1615
+ "3280",
1616
+ "3290",
1617
+ "3300",
1618
+ "3610",
1619
+ "3620",
1620
+ "3630",
1621
+ "4000",
1622
+ "4001",
1623
+ "4051",
1624
+ "4052",
1625
+ "4091",
1626
+ "4092",
1627
+ "4093",
1628
+ "4320",
1629
+ "4321",
1630
+ // Other provinces
1631
+ "0699",
1632
+ "0700",
1633
+ "0731",
1634
+ "1039",
1635
+ "1200",
1636
+ "1201",
1637
+ "5200",
1638
+ "5201",
1639
+ "5210",
1640
+ "5216",
1641
+ "6000",
1642
+ "6001",
1643
+ "8000",
1644
+ "8001",
1645
+ "9300",
1646
+ "9301",
1647
+ ];
1648
+
1649
+ export const companies = [
1650
+ "Shoprite",
1651
+ "Woolworths",
1652
+ "Pick n Pay",
1653
+ "Spar",
1654
+ "Checkers",
1655
+ "Makro",
1656
+ "Game",
1657
+ "Builders",
1658
+ "Clicks",
1659
+ "Dis-Chem",
1660
+ "Standard Bank",
1661
+ "Absa",
1662
+ "First National Bank",
1663
+ "Nedbank",
1664
+ "Capitec",
1665
+ "Investec",
1666
+ "Discovery",
1667
+ "Sanlam",
1668
+ "Old Mutual",
1669
+ "Vodacom",
1670
+ "MTN",
1671
+ "Telkom",
1672
+ "Cell C",
1673
+ "Rain",
1674
+ "MultiChoice",
1675
+ "Naspers",
1676
+ "Sasol",
1677
+ "Eskom",
1678
+ "Transnet",
1679
+ "Mondi",
1680
+ "Sappi",
1681
+ "Anglo American",
1682
+ "BHP",
1683
+ "Gold Fields",
1684
+ "Sibanye-Stillwater",
1685
+ "Harmony Gold",
1686
+ "Implats",
1687
+ "Tiger Brands",
1688
+ "Pioneer Foods",
1689
+ "AVI",
1690
+ "RCL Foods",
1691
+ "Astral Foods",
1692
+ "Bidvest",
1693
+ "Barloworld",
1694
+ "Imperial",
1695
+ "Motus",
1696
+ "WeBuyCars",
1697
+ "OUTsurance",
1698
+ "Hollard",
1699
+ "Momentum",
1700
+ "Liberty",
1701
+ "Clientèle",
1702
+ "Amazon Web Services",
1703
+ "Microsoft South Africa",
1704
+ "Oracle",
1705
+ "SAP",
1706
+ "Dimension Data",
1707
+ "Google",
1708
+ "Apple",
1709
+ "Microsoft",
1710
+ "Amazon",
1711
+ "Meta",
1712
+ "Tesla",
1713
+ "Nvidia",
1714
+ "Netflix",
1715
+ "Alphabet",
1716
+ "Intel",
1717
+ "IBM",
1718
+ "Cisco",
1719
+ "Qualcomm",
1720
+ "Adobe",
1721
+ "Salesforce",
1722
+ "HP",
1723
+ "Dell",
1724
+ "VMware",
1725
+ "ServiceNow",
1726
+ "Takealot",
1727
+ "Superbalist",
1728
+ "Mr Price",
1729
+ "Foschini Group",
1730
+ "Truworths",
1731
+ "Edcon",
1732
+ "Pepkor",
1733
+ "Massmart",
1734
+ "DionWired",
1735
+ "Incredible Connection",
1736
+ "HiFi Corp",
1737
+ "RSC",
1738
+ "JD Group",
1739
+ "Midas",
1740
+ "AutoZone",
1741
+ "Tiger Wheel & Tyre",
1742
+ "Kwik Fit",
1743
+ "Supa Quick",
1744
+ "Battery Centre",
1745
+ "PG Glass",
1746
+ "Glasfit",
1747
+ "Autoboys",
1748
+ "Mekor",
1749
+ "CFAO",
1750
+ "Unitrans",
1751
+ "Super Group",
1752
+ "Grindrod",
1753
+ "PRASA",
1754
+ "ACSA",
1755
+ "SAA",
1756
+ "Comair",
1757
+ "Kulula",
1758
+ "Mango",
1759
+ "FlySafair",
1760
+ "Airlink",
1761
+ "CemAir",
1762
+ "LIFT",
1763
+ "Uber",
1764
+ "Bolt",
1765
+ "DiDi",
1766
+ "InDrive",
1767
+ "Zomato",
1768
+ "Uber Eats",
1769
+ "Mr D Food",
1770
+ "Checkers Sixty60",
1771
+ "Pick n Pay ASAP",
1772
+ "Woolworths Dash",
1773
+ "Spar2U",
1774
+ "PnP Groceries",
1775
+ "OneCart",
1776
+ "Yebo Fresh",
1777
+ "Zulzi",
1778
+ "Bottles",
1779
+ "NetFlorist",
1780
+ "Bidorbuy",
1781
+ "Gumtree",
1782
+ "OLX",
1783
+ "Facebook Marketplace",
1784
+ "AutoTrader",
1785
+ "Cars.co.za",
1786
+ "Webuycars",
1787
+ "Weelee",
1788
+ "CarZar",
1789
+ "GetWorth",
1790
+ "CarGet",
1791
+ "CarKing",
1792
+ "CarMarket",
1793
+ "CarPrice",
1794
+ "CarValue",
1795
+ "CarTrade",
1796
+ "CarDeal",
1797
+ ];
1798
+
1799
+ export const jobTitles = [
1800
+ "Software Engineer",
1801
+ "Senior Software Engineer",
1802
+ "Frontend Developer",
1803
+ "Backend Developer",
1804
+ "Full Stack Developer",
1805
+ "DevOps Engineer",
1806
+ "Site Reliability Engineer",
1807
+ "Cloud Architect",
1808
+ "Data Engineer",
1809
+ "Machine Learning Engineer",
1810
+ "Cybersecurity Analyst",
1811
+ "QA Engineer",
1812
+ "Mobile Developer",
1813
+ "Tech Lead",
1814
+ "Engineering Manager",
1815
+ "CTO",
1816
+ "Product Manager",
1817
+ "Senior Product Manager",
1818
+ "UX Designer",
1819
+ "UI Designer",
1820
+ "Product Designer",
1821
+ "UX Researcher",
1822
+ "Business Analyst",
1823
+ "Systems Analyst",
1824
+ "Data Analyst",
1825
+ "Data Scientist",
1826
+ "Business Intelligence Analyst",
1827
+ "Database Administrator",
1828
+ "Financial Analyst",
1829
+ "Accountant",
1830
+ "Chartered Accountant",
1831
+ "CFO",
1832
+ "Auditor",
1833
+ "Risk Manager",
1834
+ "Compliance Officer",
1835
+ "Actuarial Analyst",
1836
+ "Operations Manager",
1837
+ "Project Manager",
1838
+ "Programme Manager",
1839
+ "Scrum Master",
1840
+ "Agile Coach",
1841
+ "CEO",
1842
+ "COO",
1843
+ "General Manager",
1844
+ "Branch Manager",
1845
+ "Regional Manager",
1846
+ "Human Resources Manager",
1847
+ "Talent Acquisition Specialist",
1848
+ "Payroll Administrator",
1849
+ "Office Manager",
1850
+ "Executive Assistant",
1851
+ "Sales Manager",
1852
+ "Account Manager",
1853
+ "Marketing Manager",
1854
+ "Digital Marketing Specialist",
1855
+ "Content Creator",
1856
+ "Social Media Manager",
1857
+ "Brand Manager",
1858
+ "Legal Advisor",
1859
+ "Procurement Officer",
1860
+ "Supply Chain Manager",
1861
+ "Logistics Coordinator",
1862
+ "Customer Success Manager",
1863
+ "Technical Support Specialist",
1864
+ "Chief Executive Officer",
1865
+ "Chief Operating Officer",
1866
+ "Chief Financial Officer",
1867
+ "Chief Technology Officer",
1868
+ "Chief Marketing Officer",
1869
+ "Chief Information Officer",
1870
+ "Chief Data Officer",
1871
+ "Chief Product Officer",
1872
+ "Chief Human Resources Officer",
1873
+ "Chief Strategy Officer",
1874
+ "Chief Legal Officer",
1875
+ "Chief Security Officer",
1876
+ "Chief Risk Officer",
1877
+ "Chief Compliance Officer",
1878
+ "Chief Sustainability Officer",
1879
+ "Chief Diversity Officer",
1880
+ "Chief Revenue Officer",
1881
+ "Chief Customer Officer",
1882
+ "Chief Experience Officer",
1883
+ "Chief Design Officer",
1884
+ "Chief Innovation Officer",
1885
+ "Chief Transformation Officer",
1886
+ "Chief Digital Officer",
1887
+ "Chief Automation Officer",
1888
+ "Chief AI Officer",
1889
+ "Chief Cloud Officer",
1890
+ "Chief Architecture Officer",
1891
+ "Chief Engineering Officer",
1892
+ "Chief Infrastructure Officer",
1893
+ "Chief Network Officer",
1894
+ "Chief Systems Officer",
1895
+ "Chief Operations Officer",
1896
+ "Chief Service Officer",
1897
+ "Chief Support Officer",
1898
+ "Chief Success Officer",
1899
+ "Chief Quality Officer",
1900
+ "Chief Testing Officer",
1901
+ "Chief Release Officer",
1902
+ "Chief Deployment Officer",
1903
+ "Chief Delivery Officer",
1904
+ "Chief Implementation Officer",
1905
+ "Chief Integration Officer",
1906
+ "Chief Migration Officer",
1907
+ "Chief Upgrade Officer",
1908
+ "Chief Maintenance Officer",
1909
+ "Chief Reliability Officer",
1910
+ "Chief Availability Officer",
1911
+ "Chief Performance Officer",
1912
+ "Chief Optimization Officer",
1913
+ "Chief Scalability Officer",
1914
+ "Chief Resilience Officer",
1915
+ "Chief Continuity Officer",
1916
+ "Chief Disaster Recovery Officer",
1917
+ "Chief Backup Officer",
1918
+ "Chief Restore Officer",
1919
+ "Chief Storage Officer",
1920
+ "Chief Data Protection Officer",
1921
+ "Chief Privacy Officer",
1922
+ "Chief Governance Officer",
1923
+ "Chief Policy Officer",
1924
+ "Chief Audit Officer",
1925
+ "Chief Regulatory Officer",
1926
+ "Chief Legal Counsel",
1927
+ "General Counsel",
1928
+ "Senior Counsel",
1929
+ "Associate Counsel",
1930
+ "Corporate Counsel",
1931
+ "Legal Counsel",
1932
+ "Legal Consultant",
1933
+ "Legal Analyst",
1934
+ "Legal Assistant",
1935
+ "Paralegal",
1936
+ "Legal Secretary",
1937
+ "Legal Clerk",
1938
+ "Legal Intern",
1939
+ "Law Clerk",
1940
+ "Law Student",
1941
+ "Attorney",
1942
+ "Lawyer",
1943
+ "Solicitor",
1944
+ "Barrister",
1945
+ "Advocate",
1946
+ "Counselor",
1947
+ "Mediator",
1948
+ "Arbitrator",
1949
+ "Judge",
1950
+ "Magistrate",
1951
+ "Justice",
1952
+ "Clerk of Court",
1953
+ "Court Reporter",
1954
+ "Bailiff",
1955
+ "Sheriff",
1956
+ "Deputy",
1957
+ "Police Officer",
1958
+ "Detective",
1959
+ "Investigator",
1960
+ "Inspector",
1961
+ "Sergeant",
1962
+ "Lieutenant",
1963
+ "Captain",
1964
+ "Major",
1965
+ "Colonel",
1966
+ "General",
1967
+ "Admiral",
1968
+ "Commander",
1969
+ "Chief",
1970
+ "Director",
1971
+ "Commissioner",
1972
+ "Secretary",
1973
+ "Minister",
1974
+ "President",
1975
+ "Vice President",
1976
+ "Governor",
1977
+ "Mayor",
1978
+ "Council Member",
1979
+ "Senator",
1980
+ "Representative",
1981
+ "Member of Parliament",
1982
+ "Prime Minister",
1983
+ "Chancellor",
1984
+ "Premier",
1985
+ "Leader",
1986
+ "Head of State",
1987
+ "Head of Government",
1988
+ "Monarch",
1989
+ "King",
1990
+ "Queen",
1991
+ "Prince",
1992
+ "Princess",
1993
+ "Duke",
1994
+ "Duchess",
1995
+ "Marquis",
1996
+ "Marchioness",
1997
+ "Earl",
1998
+ "Countess",
1999
+ "Viscount",
2000
+ "Viscountess",
2001
+ "Baron",
2002
+ "Baroness",
2003
+ "Lord",
2004
+ "Lady",
2005
+ "Knight",
2006
+ "Dame",
2007
+ "Sir",
2008
+ "Madam",
2009
+ "Mr.",
2010
+ "Mrs.",
2011
+ "Ms.",
2012
+ "Miss",
2013
+ "Dr.",
2014
+ "Prof.",
2015
+ "Rev.",
2016
+ "Fr.",
2017
+ "Sr.",
2018
+ "Br.",
2019
+ "Rabbi",
2020
+ "Imam",
2021
+ "Sheikh",
2022
+ "Guru",
2023
+ "Master",
2024
+ "Sensei",
2025
+ "Sifu",
2026
+ "Coach",
2027
+ "Trainer",
2028
+ "Instructor",
2029
+ "Teacher",
2030
+ "Educator",
2031
+ "Professor",
2032
+ "Lecturer",
2033
+ "Tutor",
2034
+ "Mentor",
2035
+ "Guide",
2036
+ "Advisor",
2037
+ "Consultant",
2038
+ "Expert",
2039
+ "Specialist",
2040
+ "Professional",
2041
+ "Practitioner",
2042
+ "Technician",
2043
+ "Mechanic",
2044
+ "Engineer",
2045
+ "Architect",
2046
+ "Designer",
2047
+ "Developer",
2048
+ "Programmer",
2049
+ "Coder",
2050
+ "Hacker",
2051
+ "Creator",
2052
+ "Maker",
2053
+ "Builder",
2054
+ "Constructor",
2055
+ "Contractor",
2056
+ "Tradesperson",
2057
+ "Craftsperson",
2058
+ "Artisan",
2059
+ "Artist",
2060
+ "Musician",
2061
+ "Writer",
2062
+ "Author",
2063
+ "Poet",
2064
+ "Journalist",
2065
+ "Reporter",
2066
+ "Editor",
2067
+ "Publisher",
2068
+ "Broadcaster",
2069
+ "Presenter",
2070
+ "Host",
2071
+ "Anchor",
2072
+ "Actor",
2073
+ "Actress",
2074
+ "Performer",
2075
+ "Entertainer",
2076
+ "Comedian",
2077
+ "Dancer",
2078
+ "Singer",
2079
+ "Vocalist",
2080
+ "Instrumentalist",
2081
+ "Composer",
2082
+ "Arranger",
2083
+ "Producer",
2084
+ "Choreographer",
2085
+ "Stylist",
2086
+ "Makeup Artist",
2087
+ "Hair Stylist",
2088
+ "Wardrobe Consultant",
2089
+ "Costume Designer",
2090
+ "Set Designer",
2091
+ "Lighting Designer",
2092
+ "Sound Designer",
2093
+ "Audio Engineer",
2094
+ "Video Editor",
2095
+ "Animator",
2096
+ "Visual Effects Artist",
2097
+ "Graphic Designer",
2098
+ "Illustrator",
2099
+ "Photographer",
2100
+ "Videographer",
2101
+ "Cinematographer",
2102
+ "Camera Operator",
2103
+ "Grip",
2104
+ "Gaffer",
2105
+ "Best Boy",
2106
+ "Key Grip",
2107
+ "Dolly Grip",
2108
+ "Rigging Grip",
2109
+ "Construction Coordinator",
2110
+ "Prop Master",
2111
+ "Art Director",
2112
+ "Production Designer",
2113
+ "Location Manager",
2114
+ "Unit Production Manager",
2115
+ "Assistant Director",
2116
+ "Second Assistant Director",
2117
+ "Script Supervisor",
2118
+ "Continuity Editor",
2119
+ "Boom Operator",
2120
+ "Sound Mixer",
2121
+ "Foley Artist",
2122
+ "Dialogue Editor",
2123
+ "Sound Effects Editor",
2124
+ "Music Supervisor",
2125
+ "Conductor",
2126
+ "Orchestrator",
2127
+ "Copyist",
2128
+ "Music Editor",
2129
+ "Music Programmer",
2130
+ "Music Producer",
2131
+ "Recording Engineer",
2132
+ "Mixing Engineer",
2133
+ "Mastering Engineer",
2134
+ "Studio Manager",
2135
+ "A&R Representative",
2136
+ "Artist Manager",
2137
+ "Tour Manager",
2138
+ "Production Manager",
2139
+ "Stage Manager",
2140
+ "Lighting Director",
2141
+ "Sound Engineer",
2142
+ "Monitor Engineer",
2143
+ "Front of House Engineer",
2144
+ "Systems Engineer",
2145
+ "RF Technician",
2146
+ "Video Director",
2147
+ "Teleprompter Operator",
2148
+ "Graphics Operator",
2149
+ "Playback Operator",
2150
+ "Technical Director",
2151
+ "Executive Producer",
2152
+ "Showrunner",
2153
+ "Staff Writer",
2154
+ "Story Editor",
2155
+ "Executive Story Editor",
2156
+ "Co-Producer",
2157
+ "Supervising Producer",
2158
+ "Consulting Producer",
2159
+ "Line Producer",
2160
+ "Production Coordinator",
2161
+ "Production Assistant",
2162
+ "Runner",
2163
+ "Intern",
2164
+ "Apprentice",
2165
+ "Trainee",
2166
+ "Student",
2167
+ "Pupil",
2168
+ "Learner",
2169
+ "Scholar",
2170
+ "Fellow",
2171
+ "Researcher",
2172
+ "Scientist",
2173
+ "Analyst",
2174
+ "Observer",
2175
+ "Explorer",
2176
+ "Pioneer",
2177
+ "Innovator",
2178
+ "Inventor",
2179
+ "Discoverer",
2180
+ "Founder",
2181
+ "Co-Founder",
2182
+ "Owner",
2183
+ "Partner",
2184
+ "Principal",
2185
+ "Manager",
2186
+ "Supervisor",
2187
+ "Lead",
2188
+ "Head",
2189
+ "Executive",
2190
+ "Officer",
2191
+ "Administrator",
2192
+ "Coordinator",
2193
+ "Organizer",
2194
+ "Facilitator",
2195
+ "Moderator",
2196
+ "Negotiator",
2197
+ "Diplomat",
2198
+ "Ambassador",
2199
+ "Envoy",
2200
+ "Delegate",
2201
+ "Agent",
2202
+ "Broker",
2203
+ "Dealer",
2204
+ "Trader",
2205
+ "Merchant",
2206
+ "Vendor",
2207
+ "Seller",
2208
+ "Buyer",
2209
+ "Purchaser",
2210
+ "Consumer",
2211
+ "Customer",
2212
+ "Client",
2213
+ "Patron",
2214
+ "Guest",
2215
+ "Visitor",
2216
+ "Tourist",
2217
+ "Traveler",
2218
+ "Passenger",
2219
+ "Commuter",
2220
+ "Pedestrian",
2221
+ "Driver",
2222
+ "Pilot",
2223
+ "Navigator",
2224
+ "Operator",
2225
+ "Attendant",
2226
+ "Steward",
2227
+ "Hostess",
2228
+ "Waiter",
2229
+ "Waitress",
2230
+ "Server",
2231
+ "Bartender",
2232
+ "Barista",
2233
+ "Chef",
2234
+ "Cook",
2235
+ "Baker",
2236
+ "Butcher",
2237
+ "Fishmonger",
2238
+ "Greengrocer",
2239
+ "Grocer",
2240
+ "Shopkeeper",
2241
+ "Storekeeper",
2242
+ "Clerk",
2243
+ "Cashier",
2244
+ "Teller",
2245
+ "Receptionist",
2246
+ "Assistant",
2247
+ "Aide",
2248
+ "Helper",
2249
+ "Supporter",
2250
+ "Volunteer",
2251
+ "Donor",
2252
+ "Sponsor",
2253
+ "Benefactor",
2254
+ "Philanthropist",
2255
+ "Humanitarian",
2256
+ "Activist",
2257
+ "Campaigner",
2258
+ "Follower",
2259
+ "Member",
2260
+ "Participant",
2261
+ "Attendee",
2262
+ "Audience",
2263
+ "Spectator",
2264
+ "Fan",
2265
+ "Enthusiast",
2266
+ "Aficionado",
2267
+ "Connoisseur",
2268
+ "Authority",
2269
+ "Pundit",
2270
+ "Critic",
2271
+ "Reviewer",
2272
+ "Commentator",
2273
+ "Correspondent",
2274
+ "Columnist",
2275
+ "Blogger",
2276
+ "Vlogger",
2277
+ "Podcaster",
2278
+ "Streamer",
2279
+ "Influencer",
2280
+ "Planner",
2281
+ "Strategist",
2282
+ "Academic",
2283
+ "Intellectual",
2284
+ "Thinker",
2285
+ "Philosopher",
2286
+ "Theologian",
2287
+ "Historian",
2288
+ "Sociologist",
2289
+ "Psychologist",
2290
+ "Anthropologist",
2291
+ "Archaeologist",
2292
+ "Economist",
2293
+ "Political Scientist",
2294
+ "Geographer",
2295
+ "Demographer",
2296
+ "Statistician",
2297
+ "Mathematician",
2298
+ "Physicist",
2299
+ "Chemist",
2300
+ "Biologist",
2301
+ "Botanist",
2302
+ "Zoologist",
2303
+ "Ecologist",
2304
+ "Environmentalist",
2305
+ "Conservationist",
2306
+ "Astronomer",
2307
+ "Geologist",
2308
+ "Meteorologist",
2309
+ "Oceanographer",
2310
+ "Seismologist",
2311
+ "Volcanologist",
2312
+ "Paleontologist",
2313
+ "Linguist",
2314
+ "Philologist",
2315
+ "Etymologist",
2316
+ "Lexicographer",
2317
+ "Translator",
2318
+ "Interpreter",
2319
+ "Playwright",
2320
+ "Screenwriter",
2321
+ "Novelist",
2322
+ "Essayist",
2323
+ "Biographer",
2324
+ ];
2325
+
2326
+ export const departments = [
2327
+ "Engineering",
2328
+ "Product",
2329
+ "Design",
2330
+ "Data & Analytics",
2331
+ "Finance",
2332
+ "Human Resources",
2333
+ "Operations",
2334
+ "Marketing",
2335
+ "Sales",
2336
+ "Legal & Compliance",
2337
+ "Customer Success",
2338
+ "IT Infrastructure",
2339
+ "Supply Chain",
2340
+ "Research & Development",
2341
+ "Strategy",
2342
+ "Software Engineering",
2343
+ "Quality Assurance",
2344
+ "Information Technology",
2345
+ "Cloud Infrastructure",
2346
+ "DevOps",
2347
+ "Cybersecurity",
2348
+ "Data Science",
2349
+ "Machine Learning",
2350
+ "Artificial Intelligence",
2351
+ "Business Intelligence",
2352
+ "Analytics",
2353
+ "Product Management",
2354
+ "User Experience (UX)",
2355
+ "User Interface (UI)",
2356
+ "Graphic Design",
2357
+ "Industrial Design",
2358
+ "Digital Marketing",
2359
+ "Content Marketing",
2360
+ "Social Media",
2361
+ "Public Relations",
2362
+ "Corporate Communications",
2363
+ "Business Development",
2364
+ "Account Management",
2365
+ "Customer Support",
2366
+ "Technical Support",
2367
+ "Talent Acquisition",
2368
+ "Learning & Development",
2369
+ "Employee Engagement",
2370
+ "Diversity & Inclusion",
2371
+ "Payroll",
2372
+ "Benefits",
2373
+ "Accounting",
2374
+ "Financial Planning & Analysis (FP&A)",
2375
+ "Treasury",
2376
+ "Tax",
2377
+ "Audit",
2378
+ "Legal",
2379
+ "Compliance",
2380
+ "Risk Management",
2381
+ "Corporate Governance",
2382
+ "Logistics",
2383
+ "Procurement",
2384
+ "Facilities Management",
2385
+ "Real Estate",
2386
+ "Innovation",
2387
+ "Corporate Development",
2388
+ "Mergers & Acquisitions",
2389
+ "Investor Relations",
2390
+ "Executive Office",
2391
+ "Administration",
2392
+ ];
2393
+
2394
+ // ── Word pool for text generation ─────────────────────────────────────────────
2395
+
2396
+ /** Common nouns — SA business, community, tech, and general */
2397
+ export const loremNouns = [
2398
+ "system",
2399
+ "process",
2400
+ "solution",
2401
+ "platform",
2402
+ "service",
2403
+ "strategy",
2404
+ "approach",
2405
+ "framework",
2406
+ "model",
2407
+ "initiative",
2408
+ "project",
2409
+ "programme",
2410
+ "plan",
2411
+ "policy",
2412
+ "community",
2413
+ "township",
2414
+ "municipality",
2415
+ "province",
2416
+ "sector",
2417
+ "business",
2418
+ "enterprise",
2419
+ "organisation",
2420
+ "department",
2421
+ "team",
2422
+ "market",
2423
+ "economy",
2424
+ "development",
2425
+ "innovation",
2426
+ "technology",
2427
+ "network",
2428
+ "infrastructure",
2429
+ "application",
2430
+ "database",
2431
+ "resource",
2432
+ "opportunity",
2433
+ "challenge",
2434
+ "outcome",
2435
+ "impact",
2436
+ "partnership",
2437
+ "stakeholder",
2438
+ "access",
2439
+ "support",
2440
+ "capacity",
2441
+ "performance",
2442
+ "transformation",
2443
+ "empowerment",
2444
+ "growth",
2445
+ "delivery",
2446
+ "implementation",
2447
+ "compliance",
2448
+ "governance",
2449
+ "review",
2450
+ "report",
2451
+ "audit",
2452
+ "budget",
2453
+ "tender",
2454
+ "contract",
2455
+ "agreement",
2456
+ "tool",
2457
+ "workflow",
2458
+ "pipeline",
2459
+ "dashboard",
2460
+ "environment",
2461
+ "deployment",
2462
+ "release",
2463
+ "feature",
2464
+ "product",
2465
+ "prototype",
2466
+ "integration",
2467
+ "migration",
2468
+ "upgrade",
2469
+ "rollout",
2470
+ "update",
2471
+ "version",
2472
+ "patch",
2473
+ "fix",
2474
+ "test",
2475
+ "benchmark",
2476
+ "threshold",
2477
+ "target",
2478
+ "goal",
2479
+ "objective",
2480
+ "metric",
2481
+ "insight",
2482
+ "analysis",
2483
+ "research",
2484
+ "study",
2485
+ "survey",
2486
+ "feedback",
2487
+ "bursary",
2488
+ "clinic",
2489
+ "ward",
2490
+ "school",
2491
+ "campus",
2492
+ "graduate",
2493
+ "learner",
2494
+ "synergy",
2495
+ "paradigm",
2496
+ "KPI",
2497
+ "deliverable",
2498
+ "milestone",
2499
+ "roadmap",
2500
+ "lifecycle",
2501
+ "ecosystem",
2502
+ "architecture",
2503
+ "bandwidth",
2504
+ "scalability",
2505
+ "reliability",
2506
+ "availability",
2507
+ "optimization",
2508
+ "efficiency",
2509
+ "productivity",
2510
+ "profitability",
2511
+ "ROI",
2512
+ "TCO",
2513
+ "revenue",
2514
+ "margin",
2515
+ "expansion",
2516
+ "segment",
2517
+ "demographic",
2518
+ "audience",
2519
+ "customer",
2520
+ "client",
2521
+ "user",
2522
+ "consumer",
2523
+ "buyer",
2524
+ "shopper",
2525
+ "visitor",
2526
+ "guest",
2527
+ "member",
2528
+ "subscriber",
2529
+ "follower",
2530
+ "fan",
2531
+ "supporter",
2532
+ "advocate",
2533
+ "promoter",
2534
+ "influencer",
2535
+ "ambassador",
2536
+ "partner",
2537
+ "affiliate",
2538
+ "sponsor",
2539
+ "donor",
2540
+ "investor",
2541
+ "shareholder",
2542
+ "board",
2543
+ "committee",
2544
+ "council",
2545
+ "assembly",
2546
+ "forum",
2547
+ "panel",
2548
+ "symposium",
2549
+ "conference",
2550
+ "summit",
2551
+ "convention",
2552
+ "exhibition",
2553
+ "trade show",
2554
+ "fair",
2555
+ "festival",
2556
+ "carnival",
2557
+ "parade",
2558
+ "celebration",
2559
+ "event",
2560
+ "occasion",
2561
+ "function",
2562
+ "gathering",
2563
+ "meeting",
2564
+ "session",
2565
+ "workshop",
2566
+ "seminar",
2567
+ "webinar",
2568
+ "course",
2569
+ "class",
2570
+ "lesson",
2571
+ "tutorial",
2572
+ "lecture",
2573
+ "presentation",
2574
+ "speech",
2575
+ "talk",
2576
+ "address",
2577
+ "keynote",
2578
+ "briefing",
2579
+ "statement",
2580
+ "announcement",
2581
+ "press release",
2582
+ "newsletter",
2583
+ "bulletin",
2584
+ "journal",
2585
+ "magazine",
2586
+ "newspaper",
2587
+ "article",
2588
+ "blog post",
2589
+ "social media post",
2590
+ "tweet",
2591
+ "comment",
2592
+ "rating",
2593
+ "poll",
2594
+ "questionnaire",
2595
+ "interview",
2596
+ "focus group",
2597
+ "evaluation",
2598
+ "assessment",
2599
+ "inspection",
2600
+ "examination",
2601
+ "trial",
2602
+ "experiment",
2603
+ "pilot",
2604
+ "beta",
2605
+ "alpha",
2606
+ "launch",
2607
+ "resolution",
2608
+ "workaround",
2609
+ "enhancement",
2610
+ "functionality",
2611
+ "capability",
2612
+ "benefit",
2613
+ "value",
2614
+ "advantage",
2615
+ "edge",
2616
+ "competitiveness",
2617
+ "differentiation",
2618
+ "positioning",
2619
+ "branding",
2620
+ "identity",
2621
+ "image",
2622
+ "reputation",
2623
+ "perception",
2624
+ "awareness",
2625
+ "recognition",
2626
+ "loyalty",
2627
+ "trust",
2628
+ "confidence",
2629
+ "satisfaction",
2630
+ "delight",
2631
+ "happiness",
2632
+ "joy",
2633
+ "pleasure",
2634
+ "enjoyment",
2635
+ "fun",
2636
+ "entertainment",
2637
+ "amusement",
2638
+ "recreation",
2639
+ "leisure",
2640
+ "relaxation",
2641
+ "rest",
2642
+ "break",
2643
+ "holiday",
2644
+ "vacation",
2645
+ "trip",
2646
+ "journey",
2647
+ "tour",
2648
+ "expedition",
2649
+ "adventure",
2650
+ "quest",
2651
+ "mission",
2652
+ "aim",
2653
+ "purpose",
2654
+ "intent",
2655
+ "vision",
2656
+ "values",
2657
+ "principles",
2658
+ "beliefs",
2659
+ "culture",
2660
+ "ethos",
2661
+ "spirit",
2662
+ "vibe",
2663
+ "atmosphere",
2664
+ "mood",
2665
+ "feeling",
2666
+ "emotion",
2667
+ "sentiment",
2668
+ "attitude",
2669
+ "perspective",
2670
+ "viewpoint",
2671
+ "opinion",
2672
+ "belief",
2673
+ "thought",
2674
+ "idea",
2675
+ "concept",
2676
+ "notion",
2677
+ "theory",
2678
+ "hypothesis",
2679
+ "assumption",
2680
+ "premise",
2681
+ "argument",
2682
+ "point",
2683
+ "claim",
2684
+ "assertion",
2685
+ "fact",
2686
+ "truth",
2687
+ "reality",
2688
+ "actuality",
2689
+ "existence",
2690
+ "presence",
2691
+ "absence",
2692
+ "lack",
2693
+ "shortage",
2694
+ "scarcity",
2695
+ "deficiency",
2696
+ "weakness",
2697
+ "flaw",
2698
+ "defect",
2699
+ "error",
2700
+ "mistake",
2701
+ "fault",
2702
+ "failure",
2703
+ "breakdown",
2704
+ "crash",
2705
+ "outage",
2706
+ "downtime",
2707
+ "interruption",
2708
+ "disruption",
2709
+ "delay",
2710
+ "lag",
2711
+ "latency",
2712
+ "bottleneck",
2713
+ "constraint",
2714
+ "limitation",
2715
+ "restriction",
2716
+ "barrier",
2717
+ "obstacle",
2718
+ "hurdle",
2719
+ "difficulty",
2720
+ "problem",
2721
+ "issue",
2722
+ "trouble",
2723
+ "concern",
2724
+ "worry",
2725
+ "anxiety",
2726
+ "stress",
2727
+ "pressure",
2728
+ "tension",
2729
+ "conflict",
2730
+ "dispute",
2731
+ "disagreement",
2732
+ "controversy",
2733
+ "debate",
2734
+ "discussion",
2735
+ "conversation",
2736
+ "dialogue",
2737
+ "chat",
2738
+ "gossip",
2739
+ "rumor",
2740
+ "speculation",
2741
+ "guess",
2742
+ "estimate",
2743
+ "calculation",
2744
+ "computation",
2745
+ "measurement",
2746
+ "reading",
2747
+ "number",
2748
+ "figure",
2749
+ "statistic",
2750
+ "data",
2751
+ "information",
2752
+ "knowledge",
2753
+ "wisdom",
2754
+ "understanding",
2755
+ "comprehension",
2756
+ "consciousness",
2757
+ "mindfulness",
2758
+ "attention",
2759
+ "focus",
2760
+ "concentration",
2761
+ "distraction",
2762
+ "disturbance",
2763
+ "noise",
2764
+ "interference",
2765
+ "static",
2766
+ "echo",
2767
+ "reverb",
2768
+ "resonance",
2769
+ "vibration",
2770
+ "frequency",
2771
+ "wave",
2772
+ "signal",
2773
+ "pulse",
2774
+ "beat",
2775
+ "rhythm",
2776
+ "tempo",
2777
+ "pace",
2778
+ "speed",
2779
+ "velocity",
2780
+ "acceleration",
2781
+ "momentum",
2782
+ "inertia",
2783
+ "force",
2784
+ "power",
2785
+ "energy",
2786
+ "strength",
2787
+ "might",
2788
+ "potency",
2789
+ "ability",
2790
+ "skill",
2791
+ "talent",
2792
+ "gift",
2793
+ "knack",
2794
+ "flair",
2795
+ "genius",
2796
+ "brilliance",
2797
+ "intelligence",
2798
+ "smartness",
2799
+ "cleverness",
2800
+ "shrewdness",
2801
+ "cunning",
2802
+ "craftiness",
2803
+ "slyness",
2804
+ "trickery",
2805
+ "deception",
2806
+ "fraud",
2807
+ "scam",
2808
+ "hoax",
2809
+ "fake",
2810
+ "forgery",
2811
+ "counterfeit",
2812
+ "copy",
2813
+ "replica",
2814
+ "clone",
2815
+ "duplicate",
2816
+ "imitation",
2817
+ "mock-up",
2818
+ "simulation",
2819
+ "pattern",
2820
+ "template",
2821
+ "design",
2822
+ "layout",
2823
+ "structure",
2824
+ "format",
2825
+ "arrangement",
2826
+ "organization",
2827
+ "method",
2828
+ "procedure",
2829
+ "practice",
2830
+ "routine",
2831
+ "habit",
2832
+ "custom",
2833
+ "tradition",
2834
+ "ritual",
2835
+ "ceremony",
2836
+ "observance",
2837
+ "anniversary",
2838
+ "birthday",
2839
+ "wedding",
2840
+ "funeral",
2841
+ "graduation",
2842
+ "prom",
2843
+ "dance",
2844
+ "party",
2845
+ "sermon",
2846
+ "homily",
2847
+ "eulogy",
2848
+ "toast",
2849
+ "tribute",
2850
+ "salute",
2851
+ "cheer",
2852
+ "applause",
2853
+ "ovation",
2854
+ "boo",
2855
+ "hiss",
2856
+ "jeer",
2857
+ "taunt",
2858
+ "insult",
2859
+ "slur",
2860
+ "curse",
2861
+ "swear",
2862
+ "profanity",
2863
+ "obscenity",
2864
+ "vulgarity",
2865
+ "indecency",
2866
+ "impropriety",
2867
+ "misconduct",
2868
+ "misbehavior",
2869
+ "wrongdoing",
2870
+ "crime",
2871
+ "offense",
2872
+ "felony",
2873
+ "misdemeanor",
2874
+ "infraction",
2875
+ "violation",
2876
+ "breach",
2877
+ "transgression",
2878
+ "sin",
2879
+ "vice",
2880
+ "evil",
2881
+ "wickedness",
2882
+ "corruption",
2883
+ "depravity",
2884
+ "immorality",
2885
+ "unethicality",
2886
+ "dishonesty",
2887
+ "deceit",
2888
+ ];
2889
+
2890
+ /** Common adjectives — SA English formal and informal */
2891
+ export const loremAdjectives = [
2892
+ "sustainable",
2893
+ "innovative",
2894
+ "critical",
2895
+ "robust",
2896
+ "effective",
2897
+ "comprehensive",
2898
+ "integrated",
2899
+ "dynamic",
2900
+ "strategic",
2901
+ "inclusive",
2902
+ "diverse",
2903
+ "local",
2904
+ "national",
2905
+ "digital",
2906
+ "rural",
2907
+ "urban",
2908
+ "modern",
2909
+ "traditional",
2910
+ "essential",
2911
+ "fundamental",
2912
+ "significant",
2913
+ "positive",
2914
+ "meaningful",
2915
+ "impactful",
2916
+ "collaborative",
2917
+ "responsive",
2918
+ "transparent",
2919
+ "accountable",
2920
+ "viable",
2921
+ "scalable",
2922
+ "flexible",
2923
+ "reliable",
2924
+ "secure",
2925
+ "advanced",
2926
+ "specialised",
2927
+ "dedicated",
2928
+ "qualified",
2929
+ "experienced",
2930
+ "skilled",
2931
+ "capable",
2932
+ "competitive",
2933
+ "successful",
2934
+ "operational",
2935
+ "functional",
2936
+ "technical",
2937
+ "financial",
2938
+ "commercial",
2939
+ "public",
2940
+ "private",
2941
+ "provincial",
2942
+ "municipal",
2943
+ "proactive",
2944
+ "agile",
2945
+ "resilient",
2946
+ "streamlined",
2947
+ "automated",
2948
+ "optimised",
2949
+ "unified",
2950
+ "distributed",
2951
+ "cloud-based",
2952
+ "open-source",
2953
+ "real-time",
2954
+ "data-driven",
2955
+ "user-friendly",
2956
+ "disruptive",
2957
+ "cutting-edge",
2958
+ "bleeding-edge",
2959
+ "next-generation",
2960
+ "state-of-the-art",
2961
+ "world-class",
2962
+ "best-in-class",
2963
+ "industry-leading",
2964
+ "market-leading",
2965
+ "award-winning",
2966
+ "top-tier",
2967
+ "premium",
2968
+ "exclusive",
2969
+ "elite",
2970
+ "luxury",
2971
+ "high-end",
2972
+ "boutique",
2973
+ "custom",
2974
+ "bespoke",
2975
+ "tailored",
2976
+ "personalized",
2977
+ "individualized",
2978
+ "unique",
2979
+ "distinctive",
2980
+ "original",
2981
+ "creative",
2982
+ "imaginative",
2983
+ "visionary",
2984
+ "forward-thinking",
2985
+ "progressive",
2986
+ "contemporary",
2987
+ "current",
2988
+ "up-to-date",
2989
+ "latest",
2990
+ "newest",
2991
+ "fresh",
2992
+ "novel",
2993
+ "groundbreaking",
2994
+ "revolutionary",
2995
+ "transformative",
2996
+ "game-changing",
2997
+ "paradigm-shifting",
2998
+ "radical",
2999
+ "extreme",
3000
+ "drastic",
3001
+ "severe",
3002
+ "intense",
3003
+ "fierce",
3004
+ "aggressive",
3005
+ "cutthroat",
3006
+ "ruthless",
3007
+ "merciless",
3008
+ "relentless",
3009
+ "unstoppable",
3010
+ "invincible",
3011
+ "unbeatable",
3012
+ "undefeated",
3013
+ "champion",
3014
+ "victorious",
3015
+ "triumphant",
3016
+ "prosperous",
3017
+ "thriving",
3018
+ "flourishing",
3019
+ "booming",
3020
+ "growing",
3021
+ "expanding",
3022
+ "scaling",
3023
+ "soaring",
3024
+ "skyrocketing",
3025
+ "exploding",
3026
+ "bursting",
3027
+ "overflowing",
3028
+ "abundant",
3029
+ "plentiful",
3030
+ "copious",
3031
+ "profuse",
3032
+ "bountiful",
3033
+ "generous",
3034
+ "liberal",
3035
+ "lavish",
3036
+ "extravagant",
3037
+ "luxurious",
3038
+ "opulent",
3039
+ "sumptuous",
3040
+ "magnificent",
3041
+ "grand",
3042
+ "majestic",
3043
+ "splendid",
3044
+ "glorious",
3045
+ "fabulous",
3046
+ "fantastic",
3047
+ "marvelous",
3048
+ "wonderful",
3049
+ "amazing",
3050
+ "astonishing",
3051
+ "astounding",
3052
+ "incredible",
3053
+ "unbelievable",
3054
+ "mind-blowing",
3055
+ "breathtaking",
3056
+ "stunning",
3057
+ "striking",
3058
+ "arresting",
3059
+ "captivating",
3060
+ "fascinating",
3061
+ "compelling",
3062
+ "engaging",
3063
+ "absorbing",
3064
+ "enthralling",
3065
+ "spellbinding",
3066
+ "hypnotic",
3067
+ "mesmerizing",
3068
+ "enchanting",
3069
+ "charming",
3070
+ "delightful",
3071
+ "pleasing",
3072
+ "appealing",
3073
+ "attractive",
3074
+ "alluring",
3075
+ "tempting",
3076
+ "enticing",
3077
+ "seductive",
3078
+ "irresistible",
3079
+ "magnetic",
3080
+ "charismatic",
3081
+ "energetic",
3082
+ "vigorous",
3083
+ "sturdy",
3084
+ "strong",
3085
+ "powerful",
3086
+ "mighty",
3087
+ "potent",
3088
+ "forceful",
3089
+ "influential",
3090
+ "persuasive",
3091
+ "convincing",
3092
+ "cogent",
3093
+ "sound",
3094
+ "valid",
3095
+ "logical",
3096
+ "rational",
3097
+ "reasonable",
3098
+ "sensible",
3099
+ "practical",
3100
+ "pragmatic",
3101
+ "realistic",
3102
+ "down-to-earth",
3103
+ "grounded",
3104
+ "level-headed",
3105
+ "balanced",
3106
+ "even-tempered",
3107
+ "calm",
3108
+ "cool",
3109
+ "collected",
3110
+ "composed",
3111
+ "unruffled",
3112
+ "unflappable",
3113
+ "serene",
3114
+ "tranquil",
3115
+ "peaceful",
3116
+ "quiet",
3117
+ "still",
3118
+ "silent",
3119
+ "hushed",
3120
+ "muted",
3121
+ "subdued",
3122
+ "understated",
3123
+ "subtle",
3124
+ "nuanced",
3125
+ "delicate",
3126
+ "refined",
3127
+ "elegant",
3128
+ "graceful",
3129
+ "sophisticated",
3130
+ "polished",
3131
+ "sleek",
3132
+ "smooth",
3133
+ "seamless",
3134
+ "flawless",
3135
+ "perfect",
3136
+ "impeccable",
3137
+ "spotless",
3138
+ "stainless",
3139
+ "pristine",
3140
+ "pure",
3141
+ "unblemished",
3142
+ "untarnished",
3143
+ "unsullied",
3144
+ "unspoiled",
3145
+ "untouched",
3146
+ "virgin",
3147
+ "new",
3148
+ "raw",
3149
+ "unprocessed",
3150
+ "unrefined",
3151
+ "crude",
3152
+ "coarse",
3153
+ "rough",
3154
+ "harsh",
3155
+ "abrasive",
3156
+ "grating",
3157
+ "jarring",
3158
+ "discordant",
3159
+ "dissonant",
3160
+ "cacophonous",
3161
+ "loud",
3162
+ "noisy",
3163
+ "deafening",
3164
+ "thundering",
3165
+ "roaring",
3166
+ "howling",
3167
+ "screaming",
3168
+ "shrieking",
3169
+ "piercing",
3170
+ "shrill",
3171
+ "high-pitched",
3172
+ "squeaky",
3173
+ "creaky",
3174
+ "scratchy",
3175
+ "raspy",
3176
+ "hoarse",
3177
+ "husky",
3178
+ "gruff",
3179
+ "gravelly",
3180
+ "deep",
3181
+ "low",
3182
+ "bass",
3183
+ "baritone",
3184
+ "tenor",
3185
+ "alto",
3186
+ "soprano",
3187
+ "vocal",
3188
+ "instrumental",
3189
+ "musical",
3190
+ "melodic",
3191
+ "harmonic",
3192
+ "rhythmic",
3193
+ "syncopated",
3194
+ "upbeat",
3195
+ "downbeat",
3196
+ "fast",
3197
+ "slow",
3198
+ "moderate",
3199
+ "brisk",
3200
+ "rapid",
3201
+ "swift",
3202
+ "quick",
3203
+ "speedy",
3204
+ "hasty",
3205
+ "hurried",
3206
+ "rushed",
3207
+ "frantic",
3208
+ "frenetic",
3209
+ "hectic",
3210
+ "chaotic",
3211
+ "disorganized",
3212
+ "messy",
3213
+ "untidy",
3214
+ "sloppy",
3215
+ "careless",
3216
+ "negligent",
3217
+ "reckless",
3218
+ "rash",
3219
+ "impulsive",
3220
+ "spontaneous",
3221
+ "unplanned",
3222
+ "unpremeditated",
3223
+ "extemporaneous",
3224
+ "impromptu",
3225
+ "ad-lib",
3226
+ "off-the-cuff",
3227
+ "unscripted",
3228
+ "unrehearsed",
3229
+ "natural",
3230
+ "authentic",
3231
+ "genuine",
3232
+ "real",
3233
+ "true",
3234
+ "factual",
3235
+ "accurate",
3236
+ "correct",
3237
+ "right",
3238
+ "proper",
3239
+ "appropriate",
3240
+ "fitting",
3241
+ "suitable",
3242
+ "apt",
3243
+ "relevant",
3244
+ "pertinent",
3245
+ "applicable",
3246
+ "germane",
3247
+ "related",
3248
+ "connected",
3249
+ "associated",
3250
+ "linked",
3251
+ "tied",
3252
+ "bound",
3253
+ "attached",
3254
+ "joined",
3255
+ "united",
3256
+ "combined",
3257
+ "merged",
3258
+ "incorporated",
3259
+ "assimilated",
3260
+ "absorbed",
3261
+ "digested",
3262
+ "understood",
3263
+ "comprehended",
3264
+ "grasped",
3265
+ "realized",
3266
+ "recognized",
3267
+ "acknowledged",
3268
+ "accepted",
3269
+ "admitted",
3270
+ "confessed",
3271
+ "revealed",
3272
+ "disclosed",
3273
+ "uncovered",
3274
+ "exposed",
3275
+ "unveiled",
3276
+ "unmasked",
3277
+ "bared",
3278
+ "naked",
3279
+ "nude",
3280
+ "stripped",
3281
+ "denuded",
3282
+ "divested",
3283
+ "deprived",
3284
+ "bereft",
3285
+ "destitute",
3286
+ "poor",
3287
+ "impoverished",
3288
+ "needy",
3289
+ "indigent",
3290
+ "penniless",
3291
+ "broke",
3292
+ "bankrupt",
3293
+ "insolvent",
3294
+ "ruined",
3295
+ "destroyed",
3296
+ "devastated",
3297
+ "demolished",
3298
+ "wrecked",
3299
+ "smashed",
3300
+ "shattered",
3301
+ "broken",
3302
+ "fractured",
3303
+ "cracked",
3304
+ "split",
3305
+ "torn",
3306
+ "ripped",
3307
+ "shredded",
3308
+ "frayed",
3309
+ "worn",
3310
+ "tattered",
3311
+ "ragged",
3312
+ "shabby",
3313
+ "dilapidated",
3314
+ "derelict",
3315
+ "abandoned",
3316
+ "deserted",
3317
+ "empty",
3318
+ "vacant",
3319
+ "bare",
3320
+ "blank",
3321
+ "void",
3322
+ "null",
3323
+ "invalid",
3324
+ "worthless",
3325
+ "useless",
3326
+ "futile",
3327
+ "vain",
3328
+ "fruitless",
3329
+ "unproductive",
3330
+ "barren",
3331
+ "sterile",
3332
+ "infertile",
3333
+ "impotent",
3334
+ "powerless",
3335
+ "weak",
3336
+ "feeble",
3337
+ "frail",
3338
+ "fragile",
3339
+ "brittle",
3340
+ "crisp",
3341
+ "crunchy",
3342
+ "chewy",
3343
+ "soft",
3344
+ "mushy",
3345
+ "squishy",
3346
+ "spongy",
3347
+ "springy",
3348
+ "bouncy",
3349
+ "elastic",
3350
+ "pliable",
3351
+ "supple",
3352
+ "yielding",
3353
+ "compliant",
3354
+ "obedient",
3355
+ "submissive",
3356
+ "docile",
3357
+ "tame",
3358
+ "domesticated",
3359
+ "wild",
3360
+ "feral",
3361
+ "savage",
3362
+ "vicious",
3363
+ "cruel",
3364
+ "brutal",
3365
+ "barbaric",
3366
+ "inhuman",
3367
+ "monstrous",
3368
+ "hideous",
3369
+ "ugly",
3370
+ "repulsive",
3371
+ "revolting",
3372
+ "disgusting",
3373
+ "sickening",
3374
+ "nauseating",
3375
+ "appalling",
3376
+ "horrifying",
3377
+ "terrifying",
3378
+ "frightening",
3379
+ "scary",
3380
+ "creepy",
3381
+ "spooky",
3382
+ "eerie",
3383
+ "weird",
3384
+ "strange",
3385
+ "odd",
3386
+ "peculiar",
3387
+ "bizarre",
3388
+ "eccentric",
3389
+ "quirky",
3390
+ "unconventional",
3391
+ "unorthodox",
3392
+ "heterodox",
3393
+ "heretical",
3394
+ "blasphemous",
3395
+ "sacrilegious",
3396
+ "profane",
3397
+ "secular",
3398
+ "worldly",
3399
+ "earthly",
3400
+ "mundane",
3401
+ "ordinary",
3402
+ "common",
3403
+ "average",
3404
+ "normal",
3405
+ "typical",
3406
+ "standard",
3407
+ "regular",
3408
+ "routine",
3409
+ "everyday",
3410
+ "daily",
3411
+ "weekly",
3412
+ "monthly",
3413
+ "yearly",
3414
+ "annual",
3415
+ "perennial",
3416
+ "eternal",
3417
+ "everlasting",
3418
+ "immortal",
3419
+ "infinite",
3420
+ "boundless",
3421
+ "limitless",
3422
+ "endless",
3423
+ "ceaseless",
3424
+ "incessant",
3425
+ "continuous",
3426
+ "constant",
3427
+ "perpetual",
3428
+ "permanent",
3429
+ "lasting",
3430
+ "enduring",
3431
+ "abiding",
3432
+ "stable",
3433
+ "steady",
3434
+ "firm",
3435
+ "solid",
3436
+ "hard",
3437
+ "tough",
3438
+ "rigid",
3439
+ "stiff",
3440
+ "inflexible",
3441
+ "unyielding",
3442
+ "unbending",
3443
+ "uncompromising",
3444
+ "stubborn",
3445
+ "obstinate",
3446
+ "headstrong",
3447
+ "willful",
3448
+ "determined",
3449
+ "resolute",
3450
+ "steadfast",
3451
+ "unwavering",
3452
+ "unfaltering",
3453
+ "unflinching",
3454
+ "fearless",
3455
+ "brave",
3456
+ "courageous",
3457
+ "valiant",
3458
+ "heroic",
3459
+ "gallant",
3460
+ "chivalrous",
3461
+ "noble",
3462
+ "honorable",
3463
+ "upright",
3464
+ "righteous",
3465
+ "virtuous",
3466
+ "moral",
3467
+ "ethical",
3468
+ "principled",
3469
+ "scrupulous",
3470
+ "conscientious",
3471
+ "meticulous",
3472
+ "fastidious",
3473
+ "exacting",
3474
+ "demanding",
3475
+ "strict",
3476
+ "stern",
3477
+ "punishing",
3478
+ "grueling",
3479
+ "exhausting",
3480
+ "tiring",
3481
+ "fatiguing",
3482
+ "wearisome",
3483
+ "tedious",
3484
+ "boring",
3485
+ "dull",
3486
+ "uninteresting",
3487
+ "monotonous",
3488
+ "repetitive",
3489
+ "predictable",
3490
+ "expected",
3491
+ "anticipated",
3492
+ "foreseen",
3493
+ "known",
3494
+ "familiar",
3495
+ "recognizable",
3496
+ "identifiable",
3497
+ "distinguishable",
3498
+ "noticeable",
3499
+ "obvious",
3500
+ "evident",
3501
+ "apparent",
3502
+ "clear",
3503
+ "plain",
3504
+ "simple",
3505
+ "easy",
3506
+ "effortless",
3507
+ "facile",
3508
+ "fluid",
3509
+ "flowing",
3510
+ "cultured",
3511
+ "civilized",
3512
+ "polite",
3513
+ "courteous",
3514
+ "respectful",
3515
+ "deferential",
3516
+ "reverent",
3517
+ "devout",
3518
+ "pious",
3519
+ "religious",
3520
+ "spiritual",
3521
+ "holy",
3522
+ "sacred",
3523
+ "divine",
3524
+ "heavenly",
3525
+ "celestial",
3526
+ "angelic",
3527
+ "seraphic",
3528
+ "cherubic",
3529
+ "innocent",
3530
+ "chaste",
3531
+ "virginal",
3532
+ "modest",
3533
+ "humble",
3534
+ "meek",
3535
+ "mild",
3536
+ "gentle",
3537
+ "tender",
3538
+ "kind",
3539
+ "compassionate",
3540
+ "sympathetic",
3541
+ "empathetic",
3542
+ "understanding",
3543
+ "forgiving",
3544
+ "merciful",
3545
+ "lenient",
3546
+ "tolerant",
3547
+ "broad-minded",
3548
+ "open-minded",
3549
+ "receptive",
3550
+ "amenable",
3551
+ "agreeable",
3552
+ "pleasant",
3553
+ "friendly",
3554
+ "amiable",
3555
+ "affable",
3556
+ "genial",
3557
+ "sociable",
3558
+ "outgoing",
3559
+ "extroverted",
3560
+ "gregarious",
3561
+ "talkative",
3562
+ "chatty",
3563
+ "loquacious",
3564
+ "garrulous",
3565
+ "voluble",
3566
+ "articulate",
3567
+ "eloquent",
3568
+ "fluent",
3569
+ "expressive",
3570
+ "communicative",
3571
+ "informative",
3572
+ "educational",
3573
+ "instructive",
3574
+ "enlightening",
3575
+ "illuminating",
3576
+ "revealing",
3577
+ "telling",
3578
+ "important",
3579
+ "crucial",
3580
+ "vital",
3581
+ "indispensable",
3582
+ "necessary",
3583
+ "required",
3584
+ "mandatory",
3585
+ "compulsory",
3586
+ "obligatory",
3587
+ "binding",
3588
+ "irrevocable",
3589
+ "irreversible",
3590
+ "final",
3591
+ "ultimate",
3592
+ "absolute",
3593
+ "total",
3594
+ "complete",
3595
+ "exhaustive",
3596
+ "thorough",
3597
+ "detailed",
3598
+ "minute",
3599
+ "precise",
3600
+ "exact",
3601
+ "legitimate",
3602
+ ];
3603
+
3604
+ /** Common verbs (base form, also used for varied inflections) */
3605
+ export const loremVerbs = [
3606
+ "provide",
3607
+ "support",
3608
+ "enable",
3609
+ "facilitate",
3610
+ "ensure",
3611
+ "deliver",
3612
+ "develop",
3613
+ "implement",
3614
+ "transform",
3615
+ "address",
3616
+ "manage",
3617
+ "strengthen",
3618
+ "improve",
3619
+ "enhance",
3620
+ "build",
3621
+ "create",
3622
+ "establish",
3623
+ "promote",
3624
+ "drive",
3625
+ "accelerate",
3626
+ "deploy",
3627
+ "launch",
3628
+ "achieve",
3629
+ "complete",
3630
+ "expand",
3631
+ "coordinate",
3632
+ "align",
3633
+ "integrate",
3634
+ "optimise",
3635
+ "streamline",
3636
+ "monitor",
3637
+ "analyse",
3638
+ "evaluate",
3639
+ "assess",
3640
+ "identify",
3641
+ "resolve",
3642
+ "mitigate",
3643
+ "reduce",
3644
+ "increase",
3645
+ "maintain",
3646
+ "synthesize",
3647
+ "synergize",
3648
+ "leverage",
3649
+ "optimize",
3650
+ "maximize",
3651
+ "minimize",
3652
+ "automate",
3653
+ "release",
3654
+ "ship",
3655
+ "execute",
3656
+ "install",
3657
+ "configure",
3658
+ "setup",
3659
+ "initialize",
3660
+ "boot",
3661
+ "restart",
3662
+ "reboot",
3663
+ "shutdown",
3664
+ "close",
3665
+ "open",
3666
+ "start",
3667
+ "stop",
3668
+ "pause",
3669
+ "resume",
3670
+ "play",
3671
+ "record",
3672
+ "save",
3673
+ "load",
3674
+ "import",
3675
+ "export",
3676
+ "upload",
3677
+ "download",
3678
+ "sync",
3679
+ "backup",
3680
+ "restore",
3681
+ "recover",
3682
+ "repair",
3683
+ "fix",
3684
+ "patch",
3685
+ "update",
3686
+ "upgrade",
3687
+ "migrate",
3688
+ "transfer",
3689
+ "move",
3690
+ "copy",
3691
+ "paste",
3692
+ "cut",
3693
+ "delete",
3694
+ "remove",
3695
+ "destroy",
3696
+ "erase",
3697
+ "wipe",
3698
+ "clean",
3699
+ "clear",
3700
+ "format",
3701
+ "partition",
3702
+ "allocate",
3703
+ "assign",
3704
+ "delegate",
3705
+ "distribute",
3706
+ "share",
3707
+ "publish",
3708
+ "broadcast",
3709
+ "transmit",
3710
+ "receive",
3711
+ "send",
3712
+ "forward",
3713
+ "reply",
3714
+ "answer",
3715
+ "respond",
3716
+ "react",
3717
+ "interact",
3718
+ "engage",
3719
+ "communicate",
3720
+ "collaborate",
3721
+ "cooperate",
3722
+ "participate",
3723
+ "join",
3724
+ "leave",
3725
+ "quit",
3726
+ "exit",
3727
+ "enter",
3728
+ "login",
3729
+ "logout",
3730
+ "register",
3731
+ "signup",
3732
+ "subscribe",
3733
+ "unsubscribe",
3734
+ "follow",
3735
+ "unfollow",
3736
+ "like",
3737
+ "dislike",
3738
+ "upvote",
3739
+ "downvote",
3740
+ "rate",
3741
+ "review",
3742
+ "comment",
3743
+ "post",
3744
+ "tweet",
3745
+ "pin",
3746
+ "tag",
3747
+ "mention",
3748
+ "message",
3749
+ "chat",
3750
+ "call",
3751
+ "video",
3752
+ "stream",
3753
+ "watch",
3754
+ "view",
3755
+ "read",
3756
+ "write",
3757
+ "edit",
3758
+ "design",
3759
+ "construct",
3760
+ "assemble",
3761
+ "manufacture",
3762
+ "produce",
3763
+ "generate",
3764
+ "fabricate",
3765
+ "invent",
3766
+ "discover",
3767
+ "explore",
3768
+ "research",
3769
+ "investigate",
3770
+ "analyze",
3771
+ "measure",
3772
+ "test",
3773
+ "verify",
3774
+ "validate",
3775
+ "certify",
3776
+ "approve",
3777
+ "reject",
3778
+ "deny",
3779
+ "refuse",
3780
+ "accept",
3781
+ "agree",
3782
+ "disagree",
3783
+ "argue",
3784
+ "debate",
3785
+ "discuss",
3786
+ "negotiate",
3787
+ "compromise",
3788
+ "settle",
3789
+ "solve",
3790
+ "mend",
3791
+ "heal",
3792
+ "cure",
3793
+ "treat",
3794
+ "care",
3795
+ "help",
3796
+ "assist",
3797
+ "aid",
3798
+ "guide",
3799
+ "lead",
3800
+ "direct",
3801
+ "supervise",
3802
+ "oversee",
3803
+ "control",
3804
+ "regulate",
3805
+ "govern",
3806
+ "rule",
3807
+ "command",
3808
+ "order",
3809
+ "instruct",
3810
+ "teach",
3811
+ "educate",
3812
+ "train",
3813
+ "coach",
3814
+ "mentor",
3815
+ "advise",
3816
+ "consult",
3817
+ "counsel",
3818
+ "recommend",
3819
+ "suggest",
3820
+ "propose",
3821
+ "pitch",
3822
+ "present",
3823
+ "show",
3824
+ "demonstrate",
3825
+ "display",
3826
+ "exhibit",
3827
+ "reveal",
3828
+ "disclose",
3829
+ "uncover",
3830
+ "expose",
3831
+ "unveil",
3832
+ "unmask",
3833
+ "hide",
3834
+ "conceal",
3835
+ "cover",
3836
+ "mask",
3837
+ "camouflage",
3838
+ "disguise",
3839
+ "obscure",
3840
+ "blur",
3841
+ "fade",
3842
+ "disappear",
3843
+ "vanish",
3844
+ "evaporate",
3845
+ "dissolve",
3846
+ "melt",
3847
+ "freeze",
3848
+ "solidify",
3849
+ "harden",
3850
+ "soften",
3851
+ "liquefy",
3852
+ "vaporize",
3853
+ "condense",
3854
+ "compress",
3855
+ "stretch",
3856
+ "shrink",
3857
+ "contract",
3858
+ "grow",
3859
+ "evolve",
3860
+ "mature",
3861
+ "age",
3862
+ "die",
3863
+ "perish",
3864
+ "expire",
3865
+ "decay",
3866
+ "rot",
3867
+ "decompose",
3868
+ "disintegrate",
3869
+ "crumble",
3870
+ "collapse",
3871
+ "fall",
3872
+ "drop",
3873
+ "sink",
3874
+ "plunge",
3875
+ "dive",
3876
+ "crash",
3877
+ "smash",
3878
+ "break",
3879
+ "shatter",
3880
+ "crack",
3881
+ "split",
3882
+ "tear",
3883
+ "rip",
3884
+ "shred",
3885
+ "slice",
3886
+ "chop",
3887
+ "dice",
3888
+ "mince",
3889
+ "grate",
3890
+ "peel",
3891
+ "skin",
3892
+ "shell",
3893
+ "husk",
3894
+ "core",
3895
+ "seed",
3896
+ "pit",
3897
+ "bone",
3898
+ "fillet",
3899
+ "carve",
3900
+ "roast",
3901
+ "bake",
3902
+ "broil",
3903
+ "grill",
3904
+ "fry",
3905
+ "saute",
3906
+ "boil",
3907
+ "simmer",
3908
+ "stew",
3909
+ "steam",
3910
+ "poach",
3911
+ "blanch",
3912
+ "scald",
3913
+ "scorch",
3914
+ "burn",
3915
+ "char",
3916
+ "toast",
3917
+ "warm",
3918
+ "heat",
3919
+ "cool",
3920
+ "chill",
3921
+ "thaw",
3922
+ "mix",
3923
+ "blend",
3924
+ "stir",
3925
+ "whisk",
3926
+ "beat",
3927
+ "whip",
3928
+ "fold",
3929
+ "knead",
3930
+ "roll",
3931
+ "press",
3932
+ "squeeze",
3933
+ "crush",
3934
+ "mash",
3935
+ "puree",
3936
+ "strain",
3937
+ "filter",
3938
+ "sift",
3939
+ "pour",
3940
+ "spill",
3941
+ "splash",
3942
+ "sprinkle",
3943
+ "scatter",
3944
+ "spread",
3945
+ "smear",
3946
+ "daub",
3947
+ "paint",
3948
+ "draw",
3949
+ "sketch",
3950
+ "trace",
3951
+ "outline",
3952
+ "color",
3953
+ "shade",
3954
+ "tint",
3955
+ "dye",
3956
+ "stain",
3957
+ "bleach",
3958
+ "wash",
3959
+ "scrub",
3960
+ "scour",
3961
+ "dust",
3962
+ "sweep",
3963
+ "mop",
3964
+ "vacuum",
3965
+ "polish",
3966
+ "shine",
3967
+ "wax",
3968
+ "buff",
3969
+ "rub",
3970
+ "massage",
3971
+ "stroke",
3972
+ "pet",
3973
+ "pat",
3974
+ "tap",
3975
+ "knock",
3976
+ "hit",
3977
+ "strike",
3978
+ "punch",
3979
+ "slap",
3980
+ "smack",
3981
+ "spank",
3982
+ "kick",
3983
+ "bite",
3984
+ "chew",
3985
+ "swallow",
3986
+ "digest",
3987
+ "absorb",
3988
+ "assimilate",
3989
+ "incorporate",
3990
+ "merge",
3991
+ "combine",
3992
+ "unite",
3993
+ "connect",
3994
+ "link",
3995
+ "attach",
3996
+ "fasten",
3997
+ "tie",
3998
+ "bind",
3999
+ "secure",
4000
+ "lock",
4001
+ "unlock",
4002
+ "shut",
4003
+ "seal",
4004
+ "pack",
4005
+ "unpack",
4006
+ "unload",
4007
+ "fill",
4008
+ "empty",
4009
+ "drain",
4010
+ "pump",
4011
+ "siphon",
4012
+ "suck",
4013
+ "blow",
4014
+ "puff",
4015
+ "pant",
4016
+ "gasp",
4017
+ "breathe",
4018
+ "inhale",
4019
+ "exhale",
4020
+ "sigh",
4021
+ "yawn",
4022
+ "cough",
4023
+ "sneeze",
4024
+ "hiccup",
4025
+ "burp",
4026
+ "belch",
4027
+ "fart",
4028
+ "spit",
4029
+ "drool",
4030
+ "sweat",
4031
+ "perspire",
4032
+ "bleed",
4033
+ "cry",
4034
+ "weep",
4035
+ "sob",
4036
+ "wail",
4037
+ "howl",
4038
+ "scream",
4039
+ "shriek",
4040
+ "yell",
4041
+ "shout",
4042
+ "sing",
4043
+ "hum",
4044
+ "whistle",
4045
+ "whisper",
4046
+ "mutter",
4047
+ "mumble",
4048
+ "grumble",
4049
+ "growl",
4050
+ "snarl",
4051
+ "bark",
4052
+ "meow",
4053
+ "purr",
4054
+ "moo",
4055
+ "baa",
4056
+ "oink",
4057
+ "cluck",
4058
+ "quack",
4059
+ "chirp",
4060
+ "squawk",
4061
+ "roar",
4062
+ "bellow",
4063
+ "trumpet",
4064
+ "neigh",
4065
+ "whinny",
4066
+ "snort",
4067
+ "bray",
4068
+ "hoot",
4069
+ "screech",
4070
+ ];
4071
+
4072
+ /** Connectors and filler words for natural-looking text */
4073
+ export const loremFillers = [
4074
+ "and",
4075
+ "but",
4076
+ "while",
4077
+ "as well as",
4078
+ "alongside",
4079
+ "however",
4080
+ "therefore",
4081
+ "thus",
4082
+ "furthermore",
4083
+ "additionally",
4084
+ "consequently",
4085
+ "particularly",
4086
+ "especially",
4087
+ "significantly",
4088
+ "effectively",
4089
+ "successfully",
4090
+ "consistently",
4091
+ "progressively",
4092
+ "increasingly",
4093
+ "collectively",
4094
+ "nationally",
4095
+ "locally",
4096
+ "in order to",
4097
+ "so that",
4098
+ "which means",
4099
+ "resulting in",
4100
+ "based on",
4101
+ "in line with",
4102
+ "in response to",
4103
+ "due to",
4104
+ "moreover",
4105
+ "nevertheless",
4106
+ "nonetheless",
4107
+ "notwithstanding",
4108
+ "conversely",
4109
+ "meanwhile",
4110
+ "subsequently",
4111
+ "eventually",
4112
+ "ultimately",
4113
+ "finally",
4114
+ "initially",
4115
+ "primarily",
4116
+ "principally",
4117
+ "chiefly",
4118
+ "mainly",
4119
+ "mostly",
4120
+ "largely",
4121
+ "predominantly",
4122
+ "generally",
4123
+ "typically",
4124
+ "usually",
4125
+ "normally",
4126
+ "regularly",
4127
+ "frequently",
4128
+ "often",
4129
+ "sometimes",
4130
+ "occasionally",
4131
+ "rarely",
4132
+ "seldom",
4133
+ "hardly",
4134
+ "scarcely",
4135
+ "barely",
4136
+ "almost",
4137
+ "nearly",
4138
+ "virtually",
4139
+ "practically",
4140
+ "essentially",
4141
+ "fundamentally",
4142
+ "basically",
4143
+ "literally",
4144
+ "truly",
4145
+ "really",
4146
+ "actually",
4147
+ "in fact",
4148
+ "indeed",
4149
+ "certainly",
4150
+ "surely",
4151
+ "definitely",
4152
+ "absolutely",
4153
+ "positively",
4154
+ "undeniably",
4155
+ "unquestionably",
4156
+ "without a doubt",
4157
+ "of course",
4158
+ "naturally",
4159
+ "obviously",
4160
+ "evidently",
4161
+ "apparently",
4162
+ "seemingly",
4163
+ "supposedly",
4164
+ "allegedly",
4165
+ "presumably",
4166
+ "arguably",
4167
+ "conceivably",
4168
+ "possibly",
4169
+ "perhaps",
4170
+ "maybe",
4171
+ "probably",
4172
+ "likely",
4173
+ "unlikely",
4174
+ "hopefully",
4175
+ "thankfully",
4176
+ "fortunately",
4177
+ "unfortunately",
4178
+ "sadly",
4179
+ "regrettably",
4180
+ "alas",
4181
+ "surprisingly",
4182
+ "astonishingly",
4183
+ "amazingly",
4184
+ "incredibly",
4185
+ "unbelievably",
4186
+ "ironically",
4187
+ "paradoxically",
4188
+ "funnily enough",
4189
+ "strangely",
4190
+ "oddly",
4191
+ "curiously",
4192
+ "interestingly",
4193
+ "fascinatingly",
4194
+ "importantly",
4195
+ "crucially",
4196
+ "vitally",
4197
+ "critically",
4198
+ "notably",
4199
+ "specifically",
4200
+ "namely",
4201
+ "for example",
4202
+ "for instance",
4203
+ "such as",
4204
+ "including",
4205
+ "like",
4206
+ "along with",
4207
+ "together with",
4208
+ "coupled with",
4209
+ "combined with",
4210
+ "in addition to",
4211
+ "besides",
4212
+ "apart from",
4213
+ "aside from",
4214
+ "except for",
4215
+ "excluding",
4216
+ "other than",
4217
+ "instead of",
4218
+ "rather than",
4219
+ "in place of",
4220
+ "as opposed to",
4221
+ "unlike",
4222
+ "contrary to",
4223
+ "in contrast to",
4224
+ "compared to",
4225
+ "relative to",
4226
+ "in relation to",
4227
+ "with regard to",
4228
+ "with respect to",
4229
+ "concerning",
4230
+ "regarding",
4231
+ "about",
4232
+ "on the subject of",
4233
+ "in connection with",
4234
+ "associated with",
4235
+ "related to",
4236
+ "pertaining to",
4237
+ "in terms of",
4238
+ "from the perspective of",
4239
+ "from the point of view of",
4240
+ "in the context of",
4241
+ "in light of",
4242
+ "given",
4243
+ "considering",
4244
+ "taking into account",
4245
+ "bearing in mind",
4246
+ "keeping in mind",
4247
+ "assuming",
4248
+ "presuming",
4249
+ "supposing",
4250
+ "provided that",
4251
+ "on the condition that",
4252
+ "as long as",
4253
+ "so long as",
4254
+ "if",
4255
+ "unless",
4256
+ "even if",
4257
+ "whether",
4258
+ "or not",
4259
+ "in case",
4260
+ "just in case",
4261
+ "in the event that",
4262
+ "should",
4263
+ "would",
4264
+ "could",
4265
+ "might",
4266
+ "may",
4267
+ "can",
4268
+ "will",
4269
+ "shall",
4270
+ "must",
4271
+ "ought to",
4272
+ "have to",
4273
+ "need to",
4274
+ "be able to",
4275
+ "be going to",
4276
+ "be about to",
4277
+ "be likely to",
4278
+ "be supposed to",
4279
+ "be expected to",
4280
+ "be meant to",
4281
+ "be bound to",
4282
+ "be sure to",
4283
+ "be certain to",
4284
+ "be destined to",
4285
+ "be fated to",
4286
+ "be doomed to",
4287
+ ];
4288
+
4289
+ /** Pre-built realistic article/post title fragments */
4290
+ export const titlePhrases = [
4291
+ "Building Scalable Systems",
4292
+ "Introduction to Cloud-Native Architecture",
4293
+ "Understanding Database Performance",
4294
+ "A Guide to API Design",
4295
+ "Improving Team Productivity",
4296
+ "Digital Transformation in Africa",
4297
+ "Security Best Practices",
4298
+ "DevOps for Growing Teams",
4299
+ "Data-Driven Decision Making",
4300
+ "The Future of Remote Work",
4301
+ "Managing Technical Debt",
4302
+ "Microservices vs Monolith",
4303
+ "Testing Strategies for Modern Apps",
4304
+ "Building Inclusive Products",
4305
+ "Performance Optimisation Techniques",
4306
+ "Infrastructure as Code",
4307
+ "Observability and Monitoring",
4308
+ "Sustainable Software Development",
4309
+ "Community-Driven Innovation",
4310
+ "Access to Technology in Rural Areas",
4311
+ "Mobile-First Development",
4312
+ "Open Source in the Enterprise",
4313
+ "From MVP to Production",
4314
+ "Continuous Delivery Pipelines",
4315
+ "Lessons from Scaling Startups",
4316
+ "The Cost of Poor Architecture",
4317
+ "Mentorship in the Tech Industry",
4318
+ "Women in Technology South Africa",
4319
+ "Agile Beyond the Buzzword",
4320
+ "How to Run Effective Retrospectives",
4321
+ "Designing for Low-Bandwidth Users",
4322
+ "Localisation and Internationalisation",
4323
+ "Building with TypeScript",
4324
+ "Real-Time Data Streaming",
4325
+ "Machine Learning in Production",
4326
+ "The Art of Code Review",
4327
+ "Documentation That Developers Actually Read",
4328
+ "Debugging Production Issues",
4329
+ "Zero-Downtime Deployments",
4330
+ "Kubernetes for Small Teams",
4331
+ "Advanced Patterns in React",
4332
+ "Mastering State Management",
4333
+ "Server-Side Rendering Explained",
4334
+ "Static Site Generation vs SSR",
4335
+ "The Ultimate Guide to Next.js",
4336
+ "Building Resilient Microservices",
4337
+ "Event-Driven Architecture Deep Dive",
4338
+ "GraphQL best practices",
4339
+ "REST vs GraphQL",
4340
+ "Building a Design System",
4341
+ "Component-Driven UI",
4342
+ "Automated Testing for Frontends",
4343
+ "E2E Testing with Cypress",
4344
+ "Unit Testing with Jest",
4345
+ "Mocking APIs for Tests",
4346
+ "Test-Driven Development (TDD) Guide",
4347
+ "CI/CD Pipelines with GitHub Actions",
4348
+ "Deploying Node.js Apps",
4349
+ "Containerization with Docker",
4350
+ "Kubernetes for Beginners",
4351
+ "Scaling Node.js Applications",
4352
+ "Performance Tuning in V8",
4353
+ "Memory Management in JavaScript",
4354
+ "Asynchronous Programming Patterns",
4355
+ "Promises vs Async/Await",
4356
+ "RxJS and Reactive Programming",
4357
+ "Functional Programming in TypeScript",
4358
+ "Object-Oriented Design Principles",
4359
+ "SOLID Principles Explained",
4360
+ "Design Patterns in Practice",
4361
+ "Refactoring Legacy Code",
4362
+ "Code Smells and How to Fix Them",
4363
+ "Writing Clean Code",
4364
+ "The Pragmatic Programmer's Guide",
4365
+ "Agile Methodologies in Software",
4366
+ "Scrum vs Kanban",
4367
+ "Effective Code Reviews",
4368
+ "Pair Programming Benefits",
4369
+ "Remote Team Collaboration",
4370
+ "Open Source Contribution Guide",
4371
+ "Monorepo Management with Turborepo",
4372
+ "Microfrontends Architecture",
4373
+ "WebAssembly and the Future",
4374
+ "Serverless Computing Concepts",
4375
+ "AWS Lambda Deep Dive",
4376
+ "Cloud Functions vs Lambda",
4377
+ "Database Indexing Strategies",
4378
+ "SQL vs NoSQL",
4379
+ "PostgreSQL Advanced Features",
4380
+ "MongoDB Aggregation Pipeline",
4381
+ "Redis Caching Strategies",
4382
+ "Elasticsearch Full-Text Search",
4383
+ "Message Queues with RabbitMQ",
4384
+ "Kafka Event Streaming",
4385
+ "WebSockets for Real-Time Apps",
4386
+ "Progressive Web Apps (PWA)",
4387
+ "Offline-First Development",
4388
+ "Web Accessibility (A11y) Guide",
4389
+ "SEO Best Practices for SPAs",
4390
+ "Web Vitals and Performance",
4391
+ "CSS Grid vs Flexbox",
4392
+ "Tailwind CSS Utility Classes",
4393
+ "CSS-in-JS Solutions",
4394
+ "Styled Components vs Emotion",
4395
+ "Framer Motion Animations",
4396
+ "Three.js and 3D on the Web",
4397
+ "WebGL Shaders Explained",
4398
+ "Machine Learning in the Browser",
4399
+ "TensorFlow.js Introduction",
4400
+ "Natural Language Processing Basics",
4401
+ "Computer Vision with OpenCV",
4402
+ "Blockchain and Smart Contracts",
4403
+ "Web3 Development Guide",
4404
+ "Solidity Programming for Ethereum",
4405
+ "NFT Marketplaces Architecture",
4406
+ "Cybersecurity Basics for Developers",
4407
+ "OWASP Top 10 Vulnerabilities",
4408
+ "Authentication and Authorization",
4409
+ "OAuth 2.0 and OpenID Connect",
4410
+ "JWT (JSON Web Tokens) Explained",
4411
+ "Cryptography Basics",
4412
+ "Hashing vs Encryption",
4413
+ "Digital Signatures Explained",
4414
+ "HTTPS and TLS/SSL",
4415
+ "CORS (Cross-Origin Resource Sharing)",
4416
+ "Content Security Policy (CSP)",
4417
+ "XSS and CSRF Prevention",
4418
+ "SQL Injection Vulnerabilities",
4419
+ "Rate Limiting Strategies",
4420
+ "API Gateway Architecture",
4421
+ "Service Mesh with Istio",
4422
+ "Infrastructure as Code (IaC)",
4423
+ "Terraform vs CloudFormation",
4424
+ "Ansible Configuration Management",
4425
+ "Prometheus and Grafana Monitoring",
4426
+ "ELK Stack for Logging",
4427
+ "Datadog Observability",
4428
+ "New Relic APM",
4429
+ "Sentry Error Tracking",
4430
+ "Incident Response Playbook",
4431
+ "Site Reliability Engineering (SRE)",
4432
+ "Chaos Engineering Practices",
4433
+ ];