mimic-data 1.0.2 → 1.1.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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/random.ts","../src/core/mimic.ts","../src/core/registry.ts","../src/locales/en_US.ts","../src/locales/ja_JP.ts","../src/locales/id_ID.ts","../src/locales/de_DE.ts","../src/locales/fr_FR.ts","../src/locales/pt_BR.ts","../src/locales/ko_KR.ts","../src/locales/en_AU.ts","../src/locales/zh_CN.ts","../src/locales/en_IN.ts","../src/locales/es_MX.ts","../src/locales/it_IT.ts","../src/locales/es_ES.ts","../src/locales/nl_NL.ts","../src/locales/en_CA.ts","../src/locales/en_GB.ts","../src/locales/ru_RU.ts","../src/locales/pl_PL.ts","../src/locales/tr_TR.ts","../src/locales/sv_SE.ts","../src/locales/nb_NO.ts","../src/locales/da_DK.ts","../src/locales/fi_FI.ts","../src/locales/es_AR.ts","../src/locales/es_CL.ts","../src/locales/th_TH.ts","../src/locales/vi_VN.ts","../src/locales/ms_MY.ts","../src/locales/en_SG.ts","../src/locales/en_PH.ts","../src/locales/en_NZ.ts","../src/locales/en_ZA.ts","../src/locales/pt_PT.ts","../src/locales/el_GR.ts","../src/locales/cs_CZ.ts","../src/locales/de_AT.ts","../src/locales/de_CH.ts","../src/locales/nl_BE.ts","../src/locales/hu_HU.ts","../src/locales/ro_RO.ts","../src/locales/ar_AE.ts","../src/locales/ar_SA.ts","../src/locales/ar_EG.ts","../src/locales/he_IL.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["/**\r\n * Random utility functions using native Math.random()\r\n */\r\nexport class Random {\r\n /**\r\n * Get random element from array\r\n */\r\n static pick<T>(array: T[]): T {\r\n return array[Math.floor(Math.random() * array.length)];\r\n }\r\n\r\n /**\r\n * Get random integer between min and max (inclusive)\r\n */\r\n static int(min: number, max: number): number {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n\r\n /**\r\n * Get random float between min and max\r\n */\r\n static float(min: number, max: number, decimals: number = 2): number {\r\n const value = Math.random() * (max - min) + min;\r\n return Number(value.toFixed(decimals));\r\n }\r\n\r\n /**\r\n * Get random boolean\r\n */\r\n static boolean(): boolean {\r\n return Math.random() >= 0.5;\r\n }\r\n\r\n /**\r\n * Shuffle array (Fisher-Yates algorithm)\r\n */\r\n static shuffle<T>(array: T[]): T[] {\r\n const result = [...array];\r\n for (let i = result.length - 1; i > 0; i--) {\r\n const j = Math.floor(Math.random() * (i + 1));\r\n [result[i], result[j]] = [result[j], result[i]];\r\n }\r\n return result;\r\n }\r\n}","import { LocaleDefinition, Gender, PersonData, AddressData, PhysicalData, WorkData, AgeRange } from '../types';\r\nimport { Random } from './random';\r\n\r\nexport class Mimic {\r\n private locale: LocaleDefinition;\r\n\r\n constructor(locale: LocaleDefinition) {\r\n this.locale = locale;\r\n }\r\n\r\n /**\r\n * Update the locale\r\n */\r\n setLocale(locale: LocaleDefinition): void {\r\n this.locale = locale;\r\n }\r\n\r\n /**\r\n * Identity generator\r\n */\r\n get identity() {\r\n return {\r\n firstName: (gender?: Gender): string => {\r\n const genderChoice = gender || Random.pick(['male', 'female'] as Gender[]);\r\n return genderChoice === 'male' \r\n ? Random.pick(this.locale.firstNamesMale)\r\n : Random.pick(this.locale.firstNamesFemale);\r\n },\r\n\r\n lastName: (): string => {\r\n return Random.pick(this.locale.lastNames);\r\n },\r\n\r\n fullName: (gender?: Gender): string => {\r\n const genderChoice = gender || Random.pick(['male', 'female'] as Gender[]);\r\n const firstName = genderChoice === 'male'\r\n ? Random.pick(this.locale.firstNamesMale)\r\n : Random.pick(this.locale.firstNamesFemale);\r\n const lastName = Random.pick(this.locale.lastNames);\r\n return this.locale.formatFullName(firstName, lastName);\r\n },\r\n\r\n gender: (): Gender => {\r\n return Random.pick(['male', 'female'] as Gender[]);\r\n },\r\n\r\n age: (range?: AgeRange): number => {\r\n const min = range?.min ?? 18;\r\n const max = range?.max ?? 65;\r\n return Random.int(min, max);\r\n },\r\n\r\n dateOfBirth: (range?: AgeRange): Date => {\r\n const age = this.identity.age(range);\r\n const currentYear = new Date().getFullYear();\r\n const birthYear = currentYear - age;\r\n const month = Random.int(0, 11);\r\n const day = Random.int(1, 28);\r\n return new Date(birthYear, month, day);\r\n },\r\n\r\n person: (gender?: Gender, ageRange?: AgeRange): PersonData => {\r\n const genderChoice = gender || Random.pick(['male', 'female'] as Gender[]);\r\n const firstName = genderChoice === 'male'\r\n ? Random.pick(this.locale.firstNamesMale)\r\n : Random.pick(this.locale.firstNamesFemale);\r\n const lastName = Random.pick(this.locale.lastNames);\r\n const age = this.identity.age(ageRange);\r\n const currentYear = new Date().getFullYear();\r\n const birthYear = currentYear - age;\r\n const month = Random.int(0, 11);\r\n const day = Random.int(1, 28);\r\n\r\n return {\r\n firstName,\r\n lastName,\r\n fullName: this.locale.formatFullName(firstName, lastName),\r\n gender: genderChoice,\r\n age,\r\n dateOfBirth: new Date(birthYear, month, day)\r\n };\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Location generator\r\n */\r\n get location() {\r\n return {\r\n street: (): string => {\r\n return Random.pick(this.locale.streets);\r\n },\r\n\r\n city: (): string => {\r\n return Random.pick(this.locale.cities);\r\n },\r\n\r\n state: (): string => {\r\n return Random.pick(this.locale.states);\r\n },\r\n\r\n zipCode: (): string => {\r\n return this.locale.generateZipCode();\r\n },\r\n\r\n fullAddress: (): string => {\r\n const street = Random.pick(this.locale.streets);\r\n const city = Random.pick(this.locale.cities);\r\n const state = Random.pick(this.locale.states);\r\n const zipCode = this.locale.generateZipCode();\r\n return this.locale.formatAddress(street, city, state, zipCode);\r\n },\r\n\r\n address: (): AddressData => {\r\n const street = Random.pick(this.locale.streets);\r\n const city = Random.pick(this.locale.cities);\r\n const state = Random.pick(this.locale.states);\r\n const zipCode = this.locale.generateZipCode();\r\n\r\n return {\r\n street,\r\n city,\r\n state,\r\n zipCode,\r\n fullAddress: this.locale.formatAddress(street, city, state, zipCode)\r\n };\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Physical data generator\r\n */\r\n get physical() {\r\n return {\r\n height: (): PhysicalData => {\r\n if (this.locale.metricSystem === 'metric') {\r\n // Tinggi dalam cm (150-190 cm)\r\n const height = Random.int(150, 190);\r\n return {\r\n height,\r\n weight: 0,\r\n heightUnit: 'cm',\r\n weightUnit: 'kg'\r\n };\r\n } else {\r\n // Tinggi dalam feet (4.9 - 6.3 ft)\r\n const height = Random.float(4.9, 6.3, 1);\r\n return {\r\n height,\r\n weight: 0,\r\n heightUnit: 'ft',\r\n weightUnit: 'lb'\r\n };\r\n }\r\n },\r\n\r\n weight: (): PhysicalData => {\r\n if (this.locale.metricSystem === 'metric') {\r\n // Berat dalam kg (45-100 kg)\r\n const weight = Random.int(45, 100);\r\n return {\r\n height: 0,\r\n weight,\r\n heightUnit: 'cm',\r\n weightUnit: 'kg'\r\n };\r\n } else {\r\n // Berat dalam lb (100-220 lb)\r\n const weight = Random.int(100, 220);\r\n return {\r\n height: 0,\r\n weight,\r\n heightUnit: 'ft',\r\n weightUnit: 'lb'\r\n };\r\n }\r\n },\r\n\r\n data: (): PhysicalData => {\r\n if (this.locale.metricSystem === 'metric') {\r\n return {\r\n height: Random.int(150, 190),\r\n weight: Random.int(45, 100),\r\n heightUnit: 'cm',\r\n weightUnit: 'kg'\r\n };\r\n } else {\r\n return {\r\n height: Random.float(4.9, 6.3, 1),\r\n weight: Random.int(100, 220),\r\n heightUnit: 'ft',\r\n weightUnit: 'lb'\r\n };\r\n }\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * Work data generator\r\n */\r\n get work() {\r\n return {\r\n jobTitle: (): string => {\r\n return Random.pick(this.locale.jobTitles);\r\n },\r\n\r\n department: (): string => {\r\n return Random.pick(this.locale.departments);\r\n },\r\n\r\n data: (): WorkData => {\r\n return {\r\n jobTitle: Random.pick(this.locale.jobTitles),\r\n department: Random.pick(this.locale.departments)\r\n };\r\n }\r\n };\r\n }\r\n}","import { LocaleDefinition } from '../types';\r\n\r\n/**\r\n * Locale Registry untuk manajemen locale yang efisien\r\n * Mendukung lazy loading dan auto-registration\r\n */\r\nclass LocaleRegistry {\r\n private locales: Map<string, LocaleDefinition> = new Map();\r\n private aliases: Map<string, string> = new Map();\r\n\r\n /**\r\n * Register locale baru\r\n * @param code - Kode locale utama (contoh: 'en_US')\r\n * @param definition - Definisi locale\r\n * @param aliasesArray - Array alias untuk locale ini (contoh: ['en', 'us'])\r\n */\r\n register(\r\n code: string,\r\n definition: LocaleDefinition,\r\n aliasesArray: string[] = []\r\n ): void {\r\n this.locales.set(code, definition);\r\n \r\n // Register aliases\r\n for (const alias of aliasesArray) {\r\n this.aliases.set(alias, code);\r\n }\r\n }\r\n\r\n /**\r\n * Get locale definition\r\n * @param code - Kode locale atau alias\r\n * @returns LocaleDefinition atau undefined\r\n */\r\n get(code: string): LocaleDefinition | undefined {\r\n // Cek langsung di locales\r\n if (this.locales.has(code)) {\r\n return this.locales.get(code);\r\n }\r\n \r\n // Cek di aliases\r\n const mainCode = this.aliases.get(code);\r\n if (mainCode) {\r\n return this.locales.get(mainCode);\r\n }\r\n \r\n return undefined;\r\n }\r\n\r\n /**\r\n * Check apakah locale tersedia\r\n */\r\n has(code: string): boolean {\r\n return this.locales.has(code) || this.aliases.has(code);\r\n }\r\n\r\n /**\r\n * Get semua locale yang tersedia\r\n */\r\n getAvailableLocales(): string[] {\r\n return Array.from(this.locales.keys());\r\n }\r\n\r\n /**\r\n * Get semua aliases yang tersedia\r\n */\r\n getAvailableAliases(): string[] {\r\n return Array.from(this.aliases.keys());\r\n }\r\n\r\n /**\r\n * Get semua kode (locale + aliases)\r\n */\r\n getAllCodes(): string[] {\r\n return [\r\n ...this.getAvailableLocales(),\r\n ...this.getAvailableAliases()\r\n ];\r\n }\r\n}\r\n\r\n// Singleton instance\r\nexport const localeRegistry = new LocaleRegistry();","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_US: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'James', 'John', 'Robert', 'Michael', 'William', 'David', 'Richard', 'Joseph',\r\n 'Thomas', 'Christopher', 'Daniel', 'Matthew', 'Anthony', 'Mark', 'Donald',\r\n 'Steven', 'Andrew', 'Paul', 'Joshua', 'Kenneth', 'Kevin', 'Brian', 'George',\r\n 'Timothy', 'Ronald', 'Edward', 'Jason', 'Jeffrey', 'Ryan', 'Jacob', 'Gary',\r\n 'Nicholas', 'Eric', 'Jonathan', 'Stephen', 'Larry', 'Justin', 'Scott', 'Brandon',\r\n 'Benjamin', 'Samuel', 'Raymond', 'Gregory', 'Alexander', 'Patrick', 'Frank',\r\n 'Dennis', 'Jerry', 'Tyler', 'Aaron', 'Jose', 'Adam', 'Nathan', 'Douglas',\r\n 'Zachary', 'Peter', 'Kyle', 'Noah', 'Ethan', 'Jeremy', 'Christian', 'Walter'\r\n ],\r\n firstNamesFemale: [\r\n 'Mary', 'Patricia', 'Jennifer', 'Linda', 'Barbara', 'Elizabeth', 'Susan',\r\n 'Jessica', 'Sarah', 'Karen', 'Lisa', 'Nancy', 'Betty', 'Margaret', 'Sandra',\r\n 'Ashley', 'Kimberly', 'Emily', 'Donna', 'Michelle', 'Carol', 'Amanda', 'Dorothy',\r\n 'Melissa', 'Deborah', 'Stephanie', 'Rebecca', 'Sharon', 'Laura', 'Cynthia',\r\n 'Kathleen', 'Amy', 'Angela', 'Shirley', 'Anna', 'Brenda', 'Pamela', 'Emma',\r\n 'Nicole', 'Helen', 'Samantha', 'Katherine', 'Christine', 'Debra', 'Rachel',\r\n 'Carolyn', 'Janet', 'Catherine', 'Maria', 'Heather', 'Diane', 'Ruth', 'Julie',\r\n 'Olivia', 'Joyce', 'Virginia', 'Victoria', 'Kelly', 'Lauren', 'Christina'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Johnson', 'Williams', 'Brown', 'Jones', 'Garcia', 'Miller', 'Davis',\r\n 'Rodriguez', 'Martinez', 'Hernandez', 'Lopez', 'Gonzalez', 'Wilson', 'Anderson',\r\n 'Thomas', 'Taylor', 'Moore', 'Jackson', 'Martin', 'Lee', 'Perez', 'Thompson',\r\n 'White', 'Harris', 'Sanchez', 'Clark', 'Ramirez', 'Lewis', 'Robinson', 'Walker',\r\n 'Young', 'Allen', 'King', 'Wright', 'Scott', 'Torres', 'Nguyen', 'Hill', 'Flores',\r\n 'Green', 'Adams', 'Nelson', 'Baker', 'Hall', 'Rivera', 'Campbell', 'Mitchell',\r\n 'Carter', 'Roberts', 'Gomez', 'Phillips', 'Evans', 'Turner', 'Diaz', 'Parker',\r\n 'Cruz', 'Edwards', 'Collins', 'Reyes', 'Stewart', 'Morris', 'Morales', 'Murphy'\r\n ],\r\n streets: [\r\n 'Main Street', 'Oak Avenue', 'Maple Drive', 'Cedar Lane', 'Elm Street',\r\n 'Washington Boulevard', 'Lake View Drive', 'Park Avenue', 'Hill Road',\r\n 'Forest Lane', 'River Road', 'Sunset Boulevard', 'First Avenue', 'Second Street',\r\n 'Third Avenue', 'Pine Street', 'Walnut Avenue', 'Cherry Lane', 'Spring Street',\r\n 'Church Road', 'Market Street', 'Broadway', 'Madison Avenue', 'Lincoln Street',\r\n 'Jefferson Avenue', 'Franklin Street', 'Highland Avenue', 'Prospect Street',\r\n 'Valley Road', 'Ridge Road', 'Summit Avenue', 'Grove Street', 'Pearl Street'\r\n ],\r\n cities: [\r\n 'New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix', 'Philadelphia',\r\n 'San Antonio', 'San Diego', 'Dallas', 'San Jose', 'Austin', 'Jacksonville',\r\n 'Fort Worth', 'Columbus', 'Charlotte', 'San Francisco', 'Indianapolis', 'Seattle',\r\n 'Denver', 'Boston', 'Nashville', 'Detroit', 'Portland', 'Las Vegas', 'Memphis',\r\n 'Louisville', 'Baltimore', 'Milwaukee', 'Albuquerque', 'Tucson', 'Fresno',\r\n 'Sacramento', 'Kansas City', 'Mesa', 'Atlanta', 'Omaha', 'Colorado Springs',\r\n 'Raleigh', 'Miami', 'Long Beach', 'Virginia Beach', 'Oakland', 'Minneapolis'\r\n ],\r\n states: [\r\n 'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado',\r\n 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho',\r\n 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana',\r\n 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi',\r\n 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey',\r\n 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma',\r\n 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota',\r\n 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington',\r\n 'West Virginia', 'Wisconsin', 'Wyoming'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'Human Resources Manager', 'Designer',\r\n 'Operations Manager', 'Business Analyst', 'Financial Analyst', 'Product Manager',\r\n 'Systems Administrator', 'Customer Service Representative', 'Quality Assurance Engineer',\r\n 'Technical Writer', 'Database Administrator', 'Network Engineer', 'UX Designer',\r\n 'Content Writer', 'Executive Assistant', 'Account Manager', 'DevOps Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\r\n ],\r\n metricSystem: 'imperial',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 9999);\r\n return `${houseNumber} ${street}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ja_JP: LocaleDefinition = {\r\n // Nama keluarga Jepang (姓)\r\n lastNames: [\r\n 'Satou', 'Suzuki', 'Takahashi', 'Tanaka', 'Watanabe', 'Itou', 'Yamamoto',\r\n 'Nakamura', 'Kobayashi', 'Katou', 'Yoshida', 'Yamada', 'Sasaki', 'Yamaguchi',\r\n 'Matsumoto', 'Inoue', 'Kimura', 'Hayashi', 'Shimizu', 'Yamazaki', 'Mori',\r\n 'Abe', 'Ikeda', 'Hashimoto', 'Yamashita', 'Ishikawa', 'Nakajima', 'Maeda',\r\n 'Fujita', 'Ogawa', 'Gotou', 'Okada', 'Hasegawa', 'Murakami', 'Kondou',\r\n 'Ishii', 'Saitou', 'Sakamoto', 'Endou', 'Fujii', 'Nishimura', 'Fukuda',\r\n 'Ootani', 'Miura', 'Okamoto', 'Matsuda', 'Nakano', 'Harada'\r\n ],\r\n // Nama depan pria (男性名)\r\n firstNamesMale: [\r\n 'Hiroshi', 'Takeshi', 'Kenji', 'Kazuo', 'Masao', 'Toshio', 'Minoru',\r\n 'Makoto', 'Satoshi', 'Yuji', 'Koji', 'Takashi', 'Shinji', 'Hideki',\r\n 'Masashi', 'Kenichi', 'Yuki', 'Haruki', 'Daiki', 'Ryouta', 'Shou',\r\n 'Kaito', 'Hayato', 'Souta', 'Yuuto', 'Kouki', 'Ren', 'Haruto',\r\n 'Akira', 'Ryuu', 'Tatsuya', 'Daisuke', 'Naoki', 'Tomoya', 'Shun',\r\n 'Ryousuke', 'Kenta', 'Yousuke', 'Taichi', 'Yuuma', 'Shouta', 'Riku'\r\n ],\r\n // Nama depan wanita (女性名)\r\n firstNamesFemale: [\r\n 'Yuko', 'Keiko', 'Kumiko', 'Sachiko', 'Yoshiko', 'Kazuko', 'Michiko',\r\n 'Akiko', 'Noriko', 'Yuki', 'Emi', 'Aiko', 'Mayumi', 'Naoko', 'Tomoko',\r\n 'Yuka', 'Ayumi', 'Haruka', 'Miho', 'Maki', 'Sakura', 'Hana', 'Yui',\r\n 'Rina', 'Nana', 'Ami', 'Mei', 'Momoka', 'Hina', 'Aoi', 'Mio',\r\n 'Nanami', 'Riko', 'Kana', 'Ayaka', 'Akari', 'Yuna', 'Sara', 'Miyu',\r\n 'Honoka', 'Koharu', 'Himari', 'Miku', 'Rin', 'Saki', 'Hinata'\r\n ],\r\n streets: [\r\n 'Chuo-dori', 'Sakura-dori', 'Midori-cho', 'Higashi-cho', 'Nishi-cho',\r\n 'Minami-cho', 'Kita-cho', 'Honcho', 'Miyuki-dori', 'Ekimae-dori',\r\n 'Showa-dori', 'Taisho-dori', 'Heisei-dori', 'Reiwa-dori', 'Yanagi-cho',\r\n 'Matsu-cho', 'Take-cho', 'Ume-cho', 'Momo-cho', 'Kiku-cho', 'Tsubaki-cho',\r\n 'Fuji-cho', 'Asahi-cho', 'Hoshi-cho', 'Tsuki-cho', 'Sora-cho', 'Umi-cho'\r\n ],\r\n cities: [\r\n 'Tokyo', 'Yokohama', 'Osaka', 'Nagoya', 'Sapporo', 'Fukuoka', 'Kobe',\r\n 'Kyoto', 'Kawasaki', 'Saitama', 'Hiroshima', 'Sendai', 'Chiba', 'Kitakyushu',\r\n 'Sakai', 'Niigata', 'Hamamatsu', 'Kumamoto', 'Sagamihara', 'Shizuoka',\r\n 'Okayama', 'Kagoshima', 'Hachioji', 'Matsuyama', 'Utsunomiya', 'Matsudo'\r\n ],\r\n // Prefektur Jepang (都道府県)\r\n states: [\r\n 'Tokyo', 'Osaka', 'Kyoto', 'Hokkaido', 'Aichi', 'Fukuoka', 'Kanagawa',\r\n 'Saitama', 'Chiba', 'Hyogo', 'Hiroshima', 'Miyagi', 'Niigata', 'Shizuoka',\r\n 'Okayama', 'Kumamoto', 'Kagoshima', 'Nagano', 'Gifu', 'Fukushima', 'Gunma',\r\n 'Ibaraki', 'Tochigi', 'Mie', 'Nara', 'Wakayama', 'Shiga', 'Yamanashi',\r\n 'Ishikawa', 'Toyama', 'Fukui', 'Yamaguchi', 'Ehime', 'Kagawa', 'Tokushima',\r\n 'Kochi', 'Saga', 'Nagasaki', 'Oita', 'Miyazaki', 'Okinawa', 'Aomori',\r\n 'Iwate', 'Akita', 'Yamagata', 'Tottori', 'Shimane'\r\n ],\r\n zipCodePattern: '###-####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Sales Manager', 'Accountant',\r\n 'HR Manager', 'Marketing Specialist', 'Data Analyst', 'Designer',\r\n 'Operations Manager', 'Business Analyst', 'System Administrator',\r\n 'Product Manager', 'Customer Support', 'Quality Assurance Engineer',\r\n 'Technical Writer', 'Database Administrator', 'Network Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Sales', 'Marketing', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Administration', 'Quality Assurance'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n // Format Jepang: Nama Keluarga + Nama Depan\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n // Format alamat Jepang: 〒Kode Pos, Prefektur, Kota, Jalan, Nomor\r\n const choume = Random.int(1, 5);\r\n const banchi = Random.int(1, 20);\r\n const gou = Random.int(1, 30);\r\n return `〒${zipCode} ${state}, ${city}, ${street} ${choume}-${banchi}-${gou}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(100, 999));\r\n const part2 = String(Random.int(1000, 9999));\r\n return `${part1}-${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const id_ID: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Budi', 'Ahmad', 'Agus', 'Andi', 'Bambang', 'Dedi', 'Eko', 'Hadi',\r\n 'Iwan', 'Joko', 'Rudi', 'Slamet', 'Teguh', 'Wawan', 'Yudi', 'Rizki',\r\n 'Fajar', 'Bayu', 'Dimas', 'Arif', 'Indra', 'Gunawan', 'Hendra', 'Firman',\r\n 'Aditya', 'Putra', 'Gilang', 'Yoga', 'Rama', 'Satria', 'Wahyu', 'Rizal',\r\n 'Firdaus', 'Ilham', 'Ridwan', 'Surya', 'Akbar', 'Pratama', 'Nugroho'\r\n ],\r\n firstNamesFemale: [\r\n 'Siti', 'Dewi', 'Ani', 'Sri', 'Ratna', 'Rina', 'Endang', 'Fitri',\r\n 'Diah', 'Yuni', 'Wati', 'Ayu', 'Indah', 'Maya', 'Lestari', 'Putri',\r\n 'Sari', 'Rini', 'Tuti', 'Nur', 'Lia', 'Dian', 'Ika', 'Nia', 'Mega',\r\n 'Andini', 'Citra', 'Kartika', 'Puspita', 'Cahaya', 'Anggraini', 'Permata',\r\n 'Safitri', 'Rahayu', 'Maharani', 'Pratiwi', 'Kusuma', 'Melati', 'Zahra'\r\n ],\r\n lastNames: [\r\n 'Santoso', 'Wijaya', 'Susanto', 'Pranowo', 'Saputra', 'Kurniawan', 'Wibowo',\r\n 'Prasetyo', 'Hidayat', 'Setiawan', 'Nugroho', 'Hakim', 'Gunawan', 'Firmansyah',\r\n 'Budiman', 'Hermawan', 'Putra', 'Cahyadi', 'Utomo', 'Suharto', 'Handoko',\r\n 'Kusuma', 'Rahmat', 'Irawan', 'Sinaga', 'Sitorus', 'Sihotang', 'Simanjuntak',\r\n 'Tampubolon', 'Nababan', 'Manurung', 'Siregar', 'Panjaitan', 'Pasaribu',\r\n 'Hasibuan', 'Sembiring', 'Tarigan', 'Lubis', 'Nasution', 'Situmorang',\r\n 'Pardede', 'Simbolon', 'Silalahi', 'Aritonang', 'Simatupang', 'Hutapea'\r\n ],\r\n streets: [\r\n 'Jl. Merdeka', 'Jl. Sudirman', 'Jl. Gatot Subroto', 'Jl. Ahmad Yani',\r\n 'Jl. Diponegoro', 'Jl. Veteran', 'Jl. Pahlawan', 'Jl. Hayam Wuruk',\r\n 'Jl. Gajah Mada', 'Jl. Kartini', 'Jl. Proklamasi', 'Jl. Kemerdekaan',\r\n 'Jl. Imam Bonjol', 'Jl. Pemuda', 'Jl. Pattimura', 'Jl. Sisingamangaraja',\r\n 'Jl. Thamrin', 'Jl. Rasuna Said', 'Jl. MT Haryono', 'Jl. Basuki Rahmat',\r\n 'Jl. Wolter Monginsidi', 'Jl. Teuku Umar', 'Jl. Cut Nyak Dien', 'Jl. Majapahit'\r\n ],\r\n cities: [\r\n 'Jakarta', 'Surabaya', 'Bandung', 'Medan', 'Semarang', 'Makassar', 'Palembang',\r\n 'Tangerang', 'Depok', 'Bekasi', 'Bogor', 'Yogyakarta', 'Malang', 'Batam',\r\n 'Pekanbaru', 'Bandar Lampung', 'Padang', 'Denpasar', 'Samarinda', 'Banjarmasin',\r\n 'Pontianak', 'Balikpapan', 'Jambi', 'Manado', 'Mataram', 'Kupang', 'Ambon'\r\n ],\r\n states: [\r\n 'DKI Jakarta', 'Jawa Barat', 'Jawa Tengah', 'Jawa Timur', 'Banten',\r\n 'Sumatera Utara', 'Sumatera Barat', 'Sumatera Selatan', 'Riau', 'Lampung',\r\n 'Kepulauan Riau', 'Bangka Belitung', 'Jambi', 'Bengkulu', 'Aceh',\r\n 'Kalimantan Barat', 'Kalimantan Tengah', 'Kalimantan Selatan', 'Kalimantan Timur',\r\n 'Kalimantan Utara', 'Sulawesi Utara', 'Sulawesi Tengah', 'Sulawesi Selatan',\r\n 'Sulawesi Tenggara', 'Gorontalo', 'Sulawesi Barat', 'Bali', 'Nusa Tenggara Barat',\r\n 'Nusa Tenggara Timur', 'Maluku', 'Maluku Utara', 'Papua', 'Papua Barat',\r\n 'DI Yogyakarta'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Akuntan', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Financial Analyst', 'Product Manager', 'System Administrator',\r\n 'Customer Service', 'Quality Assurance Engineer', 'Technical Writer',\r\n 'Database Administrator', 'Network Engineer', 'Content Writer', 'Account Manager'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const rt = Random.int(1, 20);\r\n const rw = Random.int(1, 15);\r\n return `${street} No. ${number}, RT ${rt}/RW ${rw}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const de_DE: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Lukas', 'Leon', 'Tim', 'Paul', 'Jonas', 'Finn', 'Noah', 'Felix',\r\n 'Elias', 'Ben', 'Luca', 'Maximilian', 'Jan', 'Niklas', 'Tom', 'Moritz',\r\n 'Max', 'Julian', 'David', 'Alexander', 'Simon', 'Fabian', 'Tobias',\r\n 'Sebastian', 'Philipp', 'Florian', 'Kevin', 'Christian', 'Daniel',\r\n 'Michael', 'Stefan', 'Thomas', 'Andreas', 'Matthias', 'Markus', 'Peter',\r\n 'Klaus', 'Wolfgang', 'Jürgen', 'Hans', 'Dieter', 'Helmut', 'Werner'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Mia', 'Hannah', 'Sofia', 'Anna', 'Emilia', 'Lina', 'Marie',\r\n 'Sophia', 'Lena', 'Lea', 'Leonie', 'Amelie', 'Laura', 'Lisa', 'Luisa',\r\n 'Sarah', 'Julia', 'Katharina', 'Nina', 'Jana', 'Michelle', 'Christina',\r\n 'Vanessa', 'Jessica', 'Jennifer', 'Sandra', 'Stefanie', 'Melanie',\r\n 'Andrea', 'Petra', 'Sabine', 'Susanne', 'Martina', 'Monika', 'Birgit',\r\n 'Claudia', 'Karin', 'Angelika', 'Ingrid', 'Helga', 'Gisela', 'Ursula'\r\n ],\r\n lastNames: [\r\n 'Müller', 'Schmidt', 'Schneider', 'Fischer', 'Weber', 'Meyer', 'Wagner',\r\n 'Becker', 'Schulz', 'Hoffmann', 'Schäfer', 'Koch', 'Bauer', 'Richter',\r\n 'Klein', 'Wolf', 'Schröder', 'Neumann', 'Schwarz', 'Zimmermann', 'Braun',\r\n 'Krüger', 'Hofmann', 'Hartmann', 'Lange', 'Schmitt', 'Werner', 'Schmitz',\r\n 'Krause', 'Meier', 'Lehmann', 'Schmid', 'Schulze', 'Maier', 'Köhler',\r\n 'Herrmann', 'König', 'Walter', 'Mayer', 'Huber', 'Kaiser', 'Fuchs',\r\n 'Peters', 'Lang', 'Scholz', 'Möller', 'Weiß', 'Jung', 'Hahn', 'Schubert'\r\n ],\r\n streets: [\r\n 'Hauptstraße', 'Bahnhofstraße', 'Gartenstraße', 'Schulstraße', 'Dorfstraße',\r\n 'Kirchstraße', 'Bergstraße', 'Waldstraße', 'Schillerstraße', 'Goethestraße',\r\n 'Lindenstraße', 'Parkstraße', 'Mozartstraße', 'Beethovenstraße', 'Bachstraße',\r\n 'Kantstraße', 'Lessingstraße', 'Fichtestraße', 'Schubertstraße', 'Brahmsstraße',\r\n 'Friedrichstraße', 'Wilhelmstraße', 'Marktstraße', 'Kaiserstraße', 'Poststraße',\r\n 'Ringstraße', 'Am Markt', 'Rosenstraße', 'Birkenweg', 'Ahornweg'\r\n ],\r\n cities: [\r\n 'Berlin', 'Hamburg', 'München', 'Köln', 'Frankfurt', 'Stuttgart', 'Düsseldorf',\r\n 'Dortmund', 'Essen', 'Leipzig', 'Bremen', 'Dresden', 'Hannover', 'Nürnberg',\r\n 'Duisburg', 'Bochum', 'Wuppertal', 'Bielefeld', 'Bonn', 'Münster', 'Karlsruhe',\r\n 'Mannheim', 'Augsburg', 'Wiesbaden', 'Gelsenkirchen', 'Mönchengladbach',\r\n 'Braunschweig', 'Chemnitz', 'Kiel', 'Aachen', 'Halle', 'Magdeburg', 'Freiburg',\r\n 'Krefeld', 'Lübeck', 'Oberhausen', 'Erfurt', 'Mainz', 'Rostock', 'Kassel'\r\n ],\r\n states: [\r\n 'Baden-Württemberg', 'Bayern', 'Berlin', 'Brandenburg', 'Bremen',\r\n 'Hamburg', 'Hessen', 'Mecklenburg-Vorpommern', 'Niedersachsen',\r\n 'Nordrhein-Westfalen', 'Rheinland-Pfalz', 'Saarland', 'Sachsen',\r\n 'Sachsen-Anhalt', 'Schleswig-Holstein', 'Thüringen'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Projektmanager', 'Datenanalyst', 'Marketing Manager',\r\n 'Vertriebsmitarbeiter', 'Buchhalter', 'Personalleiter', 'Designer',\r\n 'Betriebsleiter', 'Business Analyst', 'Finanzanalyst', 'Produktmanager',\r\n 'Systemadministrator', 'Kundenbetreuer', 'Quality Assurance Engineer',\r\n 'Technischer Redakteur', 'Datenbankadministrator', 'Netzwerkingenieur'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Vertrieb', 'Personalwesen', 'Finanzen',\r\n 'Betrieb', 'Kundenservice', 'IT', 'Forschung und Entwicklung',\r\n 'Recht', 'Produktmanagement', 'Design', 'Qualitätssicherung', 'Verwaltung'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 200);\r\n return `${street} ${houseNumber}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const fr_FR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Gabriel', 'Raphaël', 'Léo', 'Louis', 'Lucas', 'Adam', 'Arthur', 'Hugo',\r\n 'Jules', 'Maël', 'Noah', 'Tom', 'Nathan', 'Ethan', 'Paul', 'Théo',\r\n 'Pierre', 'Jean', 'Marc', 'François', 'Michel', 'Nicolas', 'Antoine',\r\n 'Philippe', 'Jacques', 'Christophe', 'Olivier', 'Julien', 'David',\r\n 'Alexandre', 'Sébastien', 'Laurent', 'Guillaume', 'Maxime', 'Benjamin',\r\n 'Thomas', 'Vincent', 'Daniel', 'Patrick', 'Christian', 'Bernard', 'André'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Léa', 'Chloé', 'Manon', 'Camille', 'Zoé', 'Sarah', 'Lola',\r\n 'Inès', 'Jade', 'Louise', 'Lina', 'Rose', 'Alice', 'Juliette', 'Clara',\r\n 'Marie', 'Sophie', 'Isabelle', 'Julie', 'Nathalie', 'Caroline', 'Laura',\r\n 'Émilie', 'Pauline', 'Charlotte', 'Lucie', 'Céline', 'Marine', 'Sandra',\r\n 'Valérie', 'Sylvie', 'Catherine', 'Martine', 'Christine', 'Françoise',\r\n 'Monique', 'Nicole', 'Véronique', 'Brigitte', 'Dominique', 'Anne', 'Claire'\r\n ],\r\n lastNames: [\r\n 'Martin', 'Bernard', 'Thomas', 'Petit', 'Robert', 'Richard', 'Durand',\r\n 'Dubois', 'Moreau', 'Laurent', 'Simon', 'Michel', 'Lefebvre', 'Leroy',\r\n 'Roux', 'David', 'Bertrand', 'Morel', 'Fournier', 'Girard', 'Bonnet',\r\n 'Dupont', 'Lambert', 'Fontaine', 'Rousseau', 'Vincent', 'Muller', 'Lefevre',\r\n 'Faure', 'Andre', 'Mercier', 'Blanc', 'Guerin', 'Boyer', 'Garnier',\r\n 'Chevalier', 'Francois', 'Legrand', 'Gauthier', 'Garcia', 'Perrin',\r\n 'Robin', 'Clement', 'Morin', 'Nicolas', 'Henry', 'Roussel', 'Matthieu'\r\n ],\r\n streets: [\r\n 'Rue de la Paix', 'Avenue des Champs-Élysées', 'Boulevard Haussmann',\r\n 'Rue de Rivoli', 'Rue Saint-Honoré', 'Avenue Montaigne', 'Rue du Faubourg',\r\n 'Boulevard Saint-Germain', 'Rue de Vaugirard', 'Avenue Victor Hugo',\r\n 'Rue Lafayette', 'Boulevard Voltaire', 'Rue de la République', 'Place de la Concorde',\r\n 'Rue Nationale', 'Avenue Jean Jaurès', 'Rue Pasteur', 'Boulevard Gambetta',\r\n 'Rue du Général de Gaulle', 'Avenue de la Liberté', 'Rue Carnot', 'Place du Marché',\r\n 'Rue Victor Hugo', 'Boulevard de la Mer', 'Rue des Écoles', 'Avenue du Président'\r\n ],\r\n cities: [\r\n 'Paris', 'Marseille', 'Lyon', 'Toulouse', 'Nice', 'Nantes', 'Strasbourg',\r\n 'Montpellier', 'Bordeaux', 'Lille', 'Rennes', 'Reims', 'Le Havre', 'Saint-Étienne',\r\n 'Toulon', 'Grenoble', 'Dijon', 'Angers', 'Nîmes', 'Villeurbanne', 'Saint-Denis',\r\n 'Le Mans', 'Aix-en-Provence', 'Clermont-Ferrand', 'Brest', 'Limoges', 'Tours',\r\n 'Amiens', 'Perpignan', 'Metz', 'Besançon', 'Boulogne-Billancourt', 'Orléans',\r\n 'Mulhouse', 'Rouen', 'Caen', 'Nancy', 'Argenteuil', 'Montreuil', 'Saint-Paul'\r\n ],\r\n states: [\r\n 'Île-de-France', 'Provence-Alpes-Côte d\\'Azur', 'Auvergne-Rhône-Alpes',\r\n 'Nouvelle-Aquitaine', 'Occitanie', 'Hauts-de-France', 'Pays de la Loire',\r\n 'Bretagne', 'Grand Est', 'Normandie', 'Bourgogne-Franche-Comté',\r\n 'Centre-Val de Loire', 'Corse'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ingénieur Logiciel', 'Chef de Projet', 'Analyste de Données', 'Responsable Marketing',\r\n 'Commercial', 'Comptable', 'Responsable RH', 'Designer', 'Responsable des Opérations',\r\n 'Analyste d\\'Affaires', 'Analyste Financier', 'Chef de Produit',\r\n 'Administrateur Système', 'Chargé de Clientèle', 'Ingénieur Qualité',\r\n 'Rédacteur Technique', 'Administrateur de Base de Données', 'Ingénieur Réseau'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Commercial', 'Ressources Humaines', 'Finance',\r\n 'Opérations', 'Service Client', 'IT', 'Recherche et Développement',\r\n 'Juridique', 'Gestion de Produit', 'Design', 'Assurance Qualité', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 300);\r\n return `${houseNumber} ${street}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const pt_BR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Miguel', 'Arthur', 'Heitor', 'Bernardo', 'Théo', 'Davi', 'Gabriel', 'Pedro',\r\n 'Lucas', 'Matheus', 'Rafael', 'João', 'Guilherme', 'Gustavo', 'Felipe',\r\n 'Bruno', 'Leonardo', 'Diego', 'Rodrigo', 'Marcelo', 'Vinícius', 'André',\r\n 'Thiago', 'Fernando', 'Ricardo', 'Daniel', 'Carlos', 'Paulo', 'José',\r\n 'Antônio', 'Francisco', 'Marcos', 'Roberto', 'Eduardo', 'Fábio', 'César',\r\n 'Alexandre', 'Renato', 'Márcio', 'Sérgio', 'Luciano', 'Anderson', 'Caio'\r\n ],\r\n firstNamesFemale: [\r\n 'Alice', 'Sophia', 'Helena', 'Valentina', 'Laura', 'Isabella', 'Manuela',\r\n 'Júlia', 'Heloísa', 'Luiza', 'Maria', 'Lorena', 'Lívia', 'Giovanna',\r\n 'Beatriz', 'Ana', 'Fernanda', 'Camila', 'Juliana', 'Mariana', 'Patrícia',\r\n 'Amanda', 'Letícia', 'Carolina', 'Gabriela', 'Renata', 'Bianca', 'Natália',\r\n 'Vanessa', 'Aline', 'Cristina', 'Paula', 'Adriana', 'Sandra', 'Tatiana',\r\n 'Luciana', 'Priscila', 'Débora', 'Simone', 'Carla', 'Andreia', 'Viviane'\r\n ],\r\n lastNames: [\r\n 'Silva', 'Santos', 'Oliveira', 'Souza', 'Rodrigues', 'Ferreira', 'Alves',\r\n 'Pereira', 'Lima', 'Gomes', 'Costa', 'Ribeiro', 'Martins', 'Carvalho',\r\n 'Almeida', 'Lopes', 'Soares', 'Fernandes', 'Vieira', 'Barbosa', 'Rocha',\r\n 'Dias', 'Nascimento', 'Araujo', 'Monteiro', 'Cardoso', 'Nunes', 'Mendes',\r\n 'Freitas', 'Cavalcanti', 'Castro', 'Pinto', 'Farias', 'Moreira', 'Correia',\r\n 'Rezende', 'Campos', 'Teixeira', 'Miranda', 'Duarte', 'Aragão', 'Machado',\r\n 'Barros', 'Andrade', 'Moura', 'Cunha', 'Azevedo', 'Melo', 'Ramos', 'Pires'\r\n ],\r\n streets: [\r\n 'Rua das Flores', 'Avenida Paulista', 'Rua Augusta', 'Avenida Atlântica',\r\n 'Rua Oscar Freire', 'Avenida Brasil', 'Rua XV de Novembro', 'Avenida Copacabana',\r\n 'Rua da Consolação', 'Avenida Brigadeiro Faria Lima', 'Rua Direita',\r\n 'Avenida Getúlio Vargas', 'Rua do Comércio', 'Avenida Rio Branco',\r\n 'Rua Sete de Setembro', 'Avenida Presidente Vargas', 'Rua da Paz',\r\n 'Avenida Santos Dumont', 'Rua Amazonas', 'Avenida Dom Pedro II',\r\n 'Rua Tiradentes', 'Avenida Independência', 'Rua Marechal Deodoro',\r\n 'Avenida Afonso Pena', 'Rua Barão do Rio Branco', 'Avenida Ipiranga'\r\n ],\r\n cities: [\r\n 'São Paulo', 'Rio de Janeiro', 'Brasília', 'Salvador', 'Fortaleza', 'Belo Horizonte',\r\n 'Manaus', 'Curitiba', 'Recife', 'Porto Alegre', 'Goiânia', 'Belém', 'Guarulhos',\r\n 'Campinas', 'São Luís', 'São Gonçalo', 'Maceió', 'Duque de Caxias', 'Natal',\r\n 'Teresina', 'Campo Grande', 'Nova Iguaçu', 'São Bernardo do Campo', 'João Pessoa',\r\n 'Santo André', 'Osasco', 'Jaboatão dos Guararapes', 'São José dos Campos',\r\n 'Ribeirão Preto', 'Uberlândia', 'Sorocaba', 'Contagem', 'Aracaju', 'Feira de Santana'\r\n ],\r\n states: [\r\n 'São Paulo', 'Rio de Janeiro', 'Minas Gerais', 'Bahia', 'Paraná', 'Rio Grande do Sul',\r\n 'Pernambuco', 'Ceará', 'Pará', 'Santa Catarina', 'Goiás', 'Maranhão', 'Espírito Santo',\r\n 'Paraíba', 'Amazonas', 'Mato Grosso', 'Rio Grande do Norte', 'Alagoas', 'Piauí',\r\n 'Distrito Federal', 'Mato Grosso do Sul', 'Sergipe', 'Rondônia', 'Tocantins',\r\n 'Acre', 'Amapá', 'Roraima'\r\n ],\r\n zipCodePattern: '#####-###',\r\n jobTitles: [\r\n 'Engenheiro de Software', 'Gerente de Projetos', 'Analista de Dados',\r\n 'Gerente de Marketing', 'Representante de Vendas', 'Contador', 'Gerente de RH',\r\n 'Designer', 'Gerente de Operações', 'Analista de Negócios', 'Analista Financeiro',\r\n 'Gerente de Produto', 'Administrador de Sistemas', 'Atendente ao Cliente',\r\n 'Engenheiro de Qualidade', 'Redator Técnico', 'Administrador de Banco de Dados',\r\n 'Engenheiro de Redes', 'Coordenador de Marketing', 'Supervisor de Vendas'\r\n ],\r\n departments: [\r\n 'Engenharia', 'Marketing', 'Vendas', 'Recursos Humanos', 'Financeiro',\r\n 'Operações', 'Atendimento ao Cliente', 'TI', 'Pesquisa e Desenvolvimento',\r\n 'Jurídico', 'Gestão de Produtos', 'Design', 'Qualidade', 'Administração'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 9999);\r\n const complement = Random.pick(['Apto', 'Casa', 'Sala', 'Bloco']);\r\n const complementNumber = Random.int(1, 500);\r\n return `${street}, ${houseNumber} - ${complement} ${complementNumber}, ${city} - ${state}, CEP ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(10000, 99999));\r\n const part2 = String(Random.int(100, 999));\r\n return `${part1}-${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ko_KR: LocaleDefinition = {\r\n // Nama keluarga Korea (성)\r\n lastNames: [\r\n 'Kim', 'Lee', 'Park', 'Choi', 'Jung', 'Kang', 'Cho', 'Yoon', 'Jang',\r\n 'Lim', 'Han', 'Oh', 'Seo', 'Shin', 'Kwon', 'Hwang', 'Ahn', 'Song',\r\n 'Hong', 'Jeon', 'Ko', 'Moon', 'Son', 'Yang', 'Baek', 'Heo', 'Nam',\r\n 'Shim', 'Roh', 'Ha', 'Joo', 'Koo', 'Chung', 'Min', 'Yoo', 'Sung',\r\n 'Ji', 'Woo', 'Chae', 'Yeo', 'Do', 'Bae', 'Noh', 'Pyo', 'Tae'\r\n ],\r\n // Nama depan pria Korea (이름 - 남성)\r\n firstNamesMale: [\r\n 'Minho', 'Joon', 'Hyun', 'Seung', 'Woong', 'Jin', 'Sung', 'Tae',\r\n 'Young', 'Dong', 'Soo', 'Jun', 'Woo', 'Hoon', 'Jae', 'Kyung',\r\n 'Ho', 'Chan', 'Hyuk', 'Min', 'Joon-Ho', 'Ji-Hoon', 'Seo-Jun', 'Do-Yun',\r\n 'Si-Woo', 'Ye-Jun', 'Min-Jun', 'Joo-Won', 'Ha-Jun', 'Woo-Jin',\r\n 'Yu-Jun', 'Hyun-Woo', 'Jun-Seo', 'Geon-Woo', 'Ji-Hu', 'Yoon-Seo'\r\n ],\r\n // Nama depan wanita Korea (이름 - 여성)\r\n firstNamesFemale: [\r\n 'Hye', 'Min', 'Ji', 'Soo', 'Young', 'Eun', 'Mi', 'Sun', 'Kyung',\r\n 'Jung', 'Hee', 'Jin', 'Yeon', 'Seo', 'Ha', 'Yoo', 'Ah', 'Na',\r\n 'Seo-Yun', 'Ji-Woo', 'Ha-Eun', 'Min-Seo', 'Seo-Hyun', 'Ji-Ah', 'Yoo-Na',\r\n 'Soo-Ah', 'Chae-Won', 'Eun-Seo', 'Ha-Yoon', 'Ji-Yoo', 'Ah-Rin',\r\n 'Ye-Eun', 'Ga-Eun', 'Yu-Ri', 'Hye-Won', 'So-Yeon', 'Da-Eun', 'Bo-Ra'\r\n ],\r\n streets: [\r\n 'Gangnam-daero', 'Teheran-ro', 'Seocho-daero', 'Yeongdong-daero',\r\n 'Sejong-daero', 'Jongno', 'Euljiro', 'Myeongdong-gil', 'Insadong-gil',\r\n 'Dongdaemun-ro', 'Sinchon-ro', 'Hongik-ro', 'Itaewon-ro', 'Apgujeong-ro',\r\n 'Garosu-gil', 'Cheonggyecheon-ro', 'Hangang-daero', 'Olympic-ro',\r\n 'Dongho-ro', 'Seongbuk-ro', 'Bukchon-ro', 'Samcheong-ro', 'Sajik-ro'\r\n ],\r\n cities: [\r\n 'Seoul', 'Busan', 'Incheon', 'Daegu', 'Daejeon', 'Gwangju', 'Suwon',\r\n 'Ulsan', 'Changwon', 'Goyang', 'Yongin', 'Seongnam', 'Bucheon', 'Ansan',\r\n 'Cheongju', 'Jeonju', 'Anyang', 'Cheonan', 'Pohang', 'Gimhae', 'Pyeongtaek',\r\n 'Uijeongbu', 'Siheung', 'Paju', 'Jinju', 'Gimpo', 'Iksan', 'Wonju'\r\n ],\r\n // Provinsi Korea (도/광역시)\r\n states: [\r\n 'Seoul', 'Busan', 'Incheon', 'Daegu', 'Daejeon', 'Gwangju', 'Ulsan',\r\n 'Sejong', 'Gyeonggi-do', 'Gangwon-do', 'North Chungcheong', 'South Chungcheong',\r\n 'North Jeolla', 'South Jeolla', 'North Gyeongsang', 'South Gyeongsang', 'Jeju'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\r\n 'Operations Manager', 'Business Analyst', 'Financial Analyst', 'Product Manager',\r\n 'System Administrator', 'Customer Service Representative', 'QA Engineer',\r\n 'Technical Writer', 'Database Administrator', 'Network Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n // Format Korea: Nama Keluarga + Nama Depan\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n // Format alamat Korea: Provinsi, Kota, Jalan, Nomor bangunan, Kode Pos\r\n const buildingNumber = Random.int(1, 500);\r\n const dong = Random.pick(['Gangnam-gu', 'Seocho-gu', 'Songpa-gu', 'Jongno-gu', 'Jung-gu', 'Yongsan-gu']);\r\n return `${state}, ${city}, ${dong}, ${street} ${buildingNumber}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_AU: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Oliver', 'Jack', 'Noah', 'William', 'Thomas', 'James', 'Henry', 'Lucas',\r\n 'Charlie', 'Ethan', 'Liam', 'Mason', 'Benjamin', 'Alexander', 'Samuel',\r\n 'Daniel', 'Matthew', 'Joshua', 'Ryan', 'Andrew', 'Michael', 'David',\r\n 'Christopher', 'Nathan', 'Jacob', 'Dylan', 'Luke', 'Isaac', 'Harrison',\r\n 'Lachlan', 'Cooper', 'Max', 'Angus', 'Hamish', 'Oscar', 'Archer', 'Flynn'\r\n ],\r\n firstNamesFemale: [\r\n 'Charlotte', 'Amelia', 'Olivia', 'Isla', 'Mia', 'Ava', 'Grace', 'Chloe',\r\n 'Emily', 'Sophie', 'Ella', 'Ruby', 'Harper', 'Zoe', 'Lucy', 'Lily',\r\n 'Emma', 'Isabella', 'Sophia', 'Hannah', 'Jessica', 'Sarah', 'Madison',\r\n 'Abigail', 'Elizabeth', 'Scarlett', 'Sienna', 'Matilda', 'Georgia',\r\n 'Evie', 'Willow', 'Ivy', 'Layla', 'Jasmine', 'Poppy', 'Maya', 'Aria'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Jones', 'Williams', 'Brown', 'Wilson', 'Taylor', 'Johnson',\r\n 'White', 'Martin', 'Anderson', 'Thompson', 'Nguyen', 'Thomas', 'Walker',\r\n 'Harris', 'Lee', 'Ryan', 'Robinson', 'Kelly', 'King', 'Murphy', 'Edwards',\r\n 'Hall', 'Moore', 'Clark', 'Jackson', 'Young', 'Lewis', 'Wood', 'Scott',\r\n 'Green', 'Davis', 'Baker', 'Adams', 'Nelson', 'Hill', 'Mitchell', 'Campbell',\r\n 'Roberts', 'Carter', 'Phillips', 'Evans', 'Turner', 'Collins', 'Stewart',\r\n 'Morris', 'Rogers', 'Reed', 'Cook', 'Morgan', 'Bell', 'Cooper', 'Richardson'\r\n ],\r\n streets: [\r\n 'George Street', 'Elizabeth Street', 'King Street', 'Queen Street', 'Collins Street',\r\n 'Bourke Street', 'Flinders Street', 'Swanston Street', 'William Street', 'Victoria Street',\r\n 'Chapel Street', 'High Street', 'Main Road', 'Oxford Street', 'Brunswick Street',\r\n 'Smith Street', 'Sydney Road', 'Lygon Street', 'Fitzroy Street', 'Acland Street',\r\n 'Beach Road', 'Princes Highway', 'Pacific Highway', 'Anzac Parade', 'Military Road',\r\n 'Crown Street', 'Park Road', 'Station Street', 'Church Street', 'Bay Street'\r\n ],\r\n cities: [\r\n 'Sydney', 'Melbourne', 'Brisbane', 'Perth', 'Adelaide', 'Gold Coast', 'Newcastle',\r\n 'Canberra', 'Sunshine Coast', 'Wollongong', 'Hobart', 'Geelong', 'Townsville',\r\n 'Cairns', 'Darwin', 'Toowoomba', 'Ballarat', 'Bendigo', 'Albury', 'Launceston',\r\n 'Mackay', 'Rockhampton', 'Bunbury', 'Bundaberg', 'Wagga Wagga', 'Hervey Bay',\r\n 'Mildura', 'Shepparton', 'Port Macquarie', 'Gladstone', 'Tamworth', 'Dubbo'\r\n ],\r\n states: [\r\n 'New South Wales', 'Victoria', 'Queensland', 'Western Australia',\r\n 'South Australia', 'Tasmania', 'Northern Territory',\r\n 'Australian Capital Territory'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\r\n 'Operations Manager', 'Business Analyst', 'Financial Analyst', 'Product Manager',\r\n 'Systems Administrator', 'Customer Service Representative', 'Quality Assurance Engineer',\r\n 'Technical Writer', 'Database Administrator', 'Network Engineer', 'Tradesperson',\r\n 'Nurse', 'Teacher', 'Electrician', 'Plumber', 'Carpenter', 'Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\r\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\r\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNumber = Random.int(1, 999);\r\n const unitNumber = Random.boolean() ? `Unit ${Random.int(1, 50)}/` : '';\r\n return `${unitNumber}${houseNumber} ${street}, ${city} ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const zh_CN: LocaleDefinition = {\r\n lastNames: [\r\n 'Wang', 'Li', 'Zhang', 'Liu', 'Chen', 'Yang', 'Huang', 'Zhao', 'Wu', 'Zhou',\r\n 'Xu', 'Sun', 'Ma', 'Zhu', 'Hu', 'Guo', 'He', 'Gao', 'Lin', 'Luo',\r\n 'Zheng', 'Liang', 'Xie', 'Song', 'Tang', 'Xu', 'Deng', 'Han', 'Feng', 'Cao',\r\n 'Peng', 'Zeng', 'Xiao', 'Tian', 'Dong', 'Pan', 'Yuan', 'Cai', 'Jiang', 'Yu'\r\n ],\r\n firstNamesMale: [\r\n 'Wei', 'Jun', 'Ming', 'Tao', 'Jie', 'Qiang', 'Lei', 'Yong', 'Jian', 'Ping',\r\n 'Bin', 'Feng', 'Long', 'Chao', 'Yang', 'Lin', 'Hao', 'Gang', 'Kai', 'Peng',\r\n 'Zhi', 'Yun', 'Bo', 'Hua', 'Xin', 'Liang', 'Chen', 'Dong', 'Fei', 'Xiong',\r\n 'Huan', 'Yu', 'Rui', 'Jing', 'Song', 'Zhen', 'Kun', 'Han', 'Xi', 'Cheng'\r\n ],\r\n firstNamesFemale: [\r\n 'Li', 'Fang', 'Xiu', 'Ying', 'Min', 'Jing', 'Juan', 'Yan', 'Hong', 'Mei',\r\n 'Xia', 'Qing', 'Lan', 'Yue', 'Xin', 'Ling', 'Na', 'Hui', 'Rong', 'Dan',\r\n 'Shan', 'Yun', 'Ping', 'Jie', 'Xue', 'Fen', 'Yu', 'Qian', 'Shu', 'Wen',\r\n 'Zhen', 'Xiang', 'Cui', 'Lin', 'Ran', 'Meng', 'Rou', 'Yi', 'Ning', 'Qin'\r\n ],\r\n streets: [\r\n 'Zhongshan Road', 'Renmin Road', 'Jiefang Road', 'Changjiang Road', 'Huanghe Road',\r\n 'Beijing Road', 'Shanghai Road', 'Guangzhou Road', 'Nanjing Road', 'Chengdu Road',\r\n 'Dongfeng Road', 'Xin Avenue', 'Heping Road', 'Wenhua Road', 'Jianshe Road',\r\n 'Minzhu Road', 'Gongyuan Road', 'Xueyuan Road', 'Keji Road', 'Binhe Road'\r\n ],\r\n cities: [\r\n 'Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Chengdu', 'Chongqing', 'Tianjin',\r\n 'Wuhan', 'Hangzhou', 'Nanjing', 'Xi\\'an', 'Shenyang', 'Harbin', 'Changchun',\r\n 'Dalian', 'Qingdao', 'Jinan', 'Zhengzhou', 'Shijiazhuang', 'Taiyuan', 'Hefei',\r\n 'Changsha', 'Nanchang', 'Fuzhou', 'Kunming', 'Guiyang', 'Nanning', 'Lanzhou'\r\n ],\r\n states: [\r\n 'Beijing', 'Shanghai', 'Tianjin', 'Chongqing', 'Hebei', 'Shanxi', 'Liaoning',\r\n 'Jilin', 'Heilongjiang', 'Jiangsu', 'Zhejiang', 'Anhui', 'Fujian', 'Jiangxi',\r\n 'Shandong', 'Henan', 'Hubei', 'Hunan', 'Guangdong', 'Hainan', 'Sichuan',\r\n 'Guizhou', 'Yunnan', 'Shaanxi', 'Gansu', 'Qinghai', 'Xinjiang', 'Guangxi'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'R&D', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.int(1, 999);\r\n const unit = Random.int(1, 50);\r\n return `${state} Province, ${city}, ${street} No.${building}, Unit ${unit}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_IN: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Rahul', 'Amit', 'Raj', 'Rohan', 'Arjun', 'Aditya', 'Aryan', 'Vikram', 'Suresh',\r\n 'Karan', 'Sandeep', 'Rajesh', 'Manoj', 'Ashok', 'Deepak', 'Ajay', 'Ravi',\r\n 'Krishna', 'Sanjay', 'Vijay', 'Anil', 'Ramesh', 'Rakesh', 'Nitin', 'Vivek',\r\n 'Sachin', 'Akash', 'Nikhil', 'Siddharth', 'Ankit', 'Varun', 'Kunal', 'Harsh'\r\n ],\r\n firstNamesFemale: [\r\n 'Priya', 'Pooja', 'Anita', 'Sneha', 'Kavita', 'Neha', 'Ritu', 'Anjali', 'Divya',\r\n 'Preeti', 'Sunita', 'Asha', 'Rekha', 'Sonal', 'Manisha', 'Deepika', 'Simran',\r\n 'Nisha', 'Swati', 'Meera', 'Radha', 'Seema', 'Geeta', 'Riya', 'Shreya',\r\n 'Ayesha', 'Sakshi', 'Tanvi', 'Aditi', 'Kritika', 'Ishita', 'Dia', 'Mira'\r\n ],\r\n lastNames: [\r\n 'Sharma', 'Verma', 'Singh', 'Kumar', 'Gupta', 'Patel', 'Shah', 'Reddy', 'Desai',\r\n 'Joshi', 'Rao', 'Mehta', 'Nair', 'Iyer', 'Chopra', 'Malhotra', 'Kapoor', 'Agarwal',\r\n 'Bansal', 'Jain', 'Sinha', 'Khan', 'Menon', 'Kulkarni', 'Bhatt', 'Trivedi',\r\n 'Pandey', 'Mishra', 'Yadav', 'Saxena', 'Bose', 'Ghosh', 'Chatterjee', 'Das'\r\n ],\r\n streets: [\r\n 'MG Road', 'Nehru Street', 'Gandhi Nagar', 'Park Street', 'Brigade Road',\r\n 'Anna Salai', 'Mall Road', 'Station Road', 'Marine Drive', 'Linking Road',\r\n 'Main Road', 'Church Street', 'Cross Road', 'Ring Road', 'Service Road',\r\n 'Residency Road', 'Commercial Street', 'Infantry Road', 'Richmond Road'\r\n ],\r\n cities: [\r\n 'Mumbai', 'Delhi', 'Bangalore', 'Hyderabad', 'Chennai', 'Kolkata', 'Pune', 'Ahmedabad',\r\n 'Jaipur', 'Surat', 'Lucknow', 'Kanpur', 'Nagpur', 'Indore', 'Bhopal', 'Visakhapatnam',\r\n 'Patna', 'Vadodara', 'Ghaziabad', 'Ludhiana', 'Agra', 'Nashik', 'Faridabad', 'Meerut',\r\n 'Rajkot', 'Kalyan', 'Vasai', 'Varanasi', 'Srinagar', 'Aurangabad', 'Dhanbad', 'Amritsar'\r\n ],\r\n states: [\r\n 'Maharashtra', 'Delhi', 'Karnataka', 'Telangana', 'Tamil Nadu', 'West Bengal',\r\n 'Gujarat', 'Rajasthan', 'Uttar Pradesh', 'Madhya Pradesh', 'Bihar', 'Kerala',\r\n 'Andhra Pradesh', 'Haryana', 'Punjab', 'Odisha', 'Jharkhand', 'Uttarakhand',\r\n 'Himachal Pradesh', 'Assam', 'Chhattisgarh', 'Goa', 'Jammu and Kashmir'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Executive', 'Chartered Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Analyst'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Support', 'IT', 'Research & Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const houseNo = Random.int(1, 999);\r\n const sector = Random.pick(['A', 'B', 'C', 'D', 'E']);\r\n return `${houseNo}/${sector}, ${street}, ${city}, ${state} - ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const es_MX: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'José', 'Juan', 'Luis', 'Miguel', 'Carlos', 'Antonio', 'Francisco', 'Alejandro',\r\n 'Pedro', 'Jesús', 'Manuel', 'Rafael', 'Javier', 'Daniel', 'Ricardo', 'Fernando',\r\n 'Jorge', 'Roberto', 'Eduardo', 'Sergio', 'Raúl', 'Arturo', 'Gerardo', 'Héctor',\r\n 'Andrés', 'Diego', 'Gabriel', 'Oscar', 'Julio', 'Ramón', 'Armando', 'Enrique'\r\n ],\r\n firstNamesFemale: [\r\n 'María', 'Guadalupe', 'Juana', 'Margarita', 'Rosa', 'Francisca', 'Teresa', 'Ana',\r\n 'Patricia', 'Carmen', 'Laura', 'Gabriela', 'Verónica', 'Silvia', 'Martha', 'Diana',\r\n 'Karla', 'Leticia', 'Sandra', 'Elena', 'Claudia', 'Alejandra', 'Daniela', 'Sofía',\r\n 'Adriana', 'Andrea', 'Monica', 'Beatriz', 'Cecilia', 'Paola', 'Fernanda', 'Lucía'\r\n ],\r\n lastNames: [\r\n 'Hernández', 'García', 'Martínez', 'López', 'González', 'Rodríguez', 'Pérez', 'Sánchez',\r\n 'Ramírez', 'Torres', 'Flores', 'Rivera', 'Gómez', 'Díaz', 'Cruz', 'Morales',\r\n 'Reyes', 'Gutiérrez', 'Ortiz', 'Mendoza', 'Castillo', 'Vargas', 'Romero', 'Jiménez',\r\n 'Ruiz', 'Álvarez', 'Vázquez', 'Medina', 'Aguilar', 'Salazar', 'Rojas', 'Herrera'\r\n ],\r\n streets: [\r\n 'Avenida Reforma', 'Calle Juárez', 'Avenida Insurgentes', 'Calle Hidalgo',\r\n 'Avenida Revolución', 'Calle Morelos', 'Avenida Universidad', 'Calle Independencia',\r\n 'Avenida Constitución', 'Calle 5 de Mayo', 'Avenida Chapultepec', 'Calle Madero',\r\n 'Avenida Patriotismo', 'Calle Guerrero', 'Avenida División del Norte', 'Calle Cuauhtémoc'\r\n ],\r\n cities: [\r\n 'Ciudad de México', 'Guadalajara', 'Monterrey', 'Puebla', 'Tijuana', 'León',\r\n 'Juárez', 'Zapopan', 'Mérida', 'San Luis Potosí', 'Querétaro', 'Toluca',\r\n 'Chihuahua', 'Aguascalientes', 'Saltillo', 'Mexicali', 'Culiacán', 'Acapulco',\r\n 'Cancún', 'Veracruz', 'Hermosillo', 'Morelia', 'Durango', 'Oaxaca', 'Tampico'\r\n ],\r\n states: [\r\n 'Ciudad de México', 'Jalisco', 'Nuevo León', 'Puebla', 'Baja California', 'Guanajuato',\r\n 'Chihuahua', 'Yucatán', 'San Luis Potosí', 'Querétaro', 'Estado de México',\r\n 'Veracruz', 'Aguascalientes', 'Coahuila', 'Sinaloa', 'Sonora', 'Michoacán',\r\n 'Guerrero', 'Quintana Roo', 'Tamaulipas', 'Oaxaca', 'Chiapas', 'Durango'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\r\n 'Representante de Ventas', 'Contador', 'Gerente de RH', 'Diseñador', 'Gerente de Operaciones',\r\n 'Analista de Negocios', 'Gerente de Producto', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\r\n 'Servicio al Cliente', 'TI', 'Investigación y Desarrollo', 'Legal', 'Administración'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const colonia = Random.pick(['Centro', 'Norte', 'Sur', 'Oriente', 'Poniente']);\r\n return `${street} ${number}, Col. ${colonia}, ${zipCode} ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const it_IT: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Francesco', 'Alessandro', 'Andrea', 'Lorenzo', 'Matteo', 'Gabriele', 'Mattia',\r\n 'Marco', 'Luca', 'Giovanni', 'Giuseppe', 'Antonio', 'Roberto', 'Paolo', 'Stefano',\r\n 'Carlo', 'Davide', 'Simone', 'Federico', 'Riccardo', 'Michele', 'Tommaso',\r\n 'Filippo', 'Vincenzo', 'Emanuele', 'Alberto', 'Daniele', 'Leonardo', 'Pietro'\r\n ],\r\n firstNamesFemale: [\r\n 'Sofia', 'Giulia', 'Aurora', 'Alice', 'Ginevra', 'Emma', 'Giorgia', 'Greta',\r\n 'Beatrice', 'Anna', 'Chiara', 'Francesca', 'Sara', 'Martina', 'Alessia', 'Elena',\r\n 'Silvia', 'Valentina', 'Federica', 'Laura', 'Elisa', 'Claudia', 'Monica', 'Paola',\r\n 'Roberta', 'Simona', 'Antonella', 'Maria', 'Lucia', 'Cristina', 'Isabella'\r\n ],\r\n lastNames: [\r\n 'Rossi', 'Russo', 'Ferrari', 'Esposito', 'Bianchi', 'Romano', 'Colombo', 'Ricci',\r\n 'Marino', 'Greco', 'Bruno', 'Gallo', 'Conti', 'De Luca', 'Costa', 'Giordano',\r\n 'Mancini', 'Rizzo', 'Lombardi', 'Moretti', 'Barbieri', 'Fontana', 'Santoro',\r\n 'Mariani', 'Rinaldi', 'Caruso', 'Ferrara', 'Galli', 'Martini', 'Leone', 'Longo'\r\n ],\r\n streets: [\r\n 'Via Roma', 'Corso Italia', 'Via Garibaldi', 'Via Mazzini', 'Piazza Duomo',\r\n 'Via Dante', 'Corso Vittorio Emanuele', 'Via Cavour', 'Via Verdi', 'Via Nazionale',\r\n 'Corso Umberto', 'Via Milano', 'Via Torino', 'Via Napoli', 'Viale Europa',\r\n 'Via della Repubblica', 'Corso Giuseppe Mazzini', 'Via San Francesco', 'Via Venezia'\r\n ],\r\n cities: [\r\n 'Roma', 'Milano', 'Napoli', 'Torino', 'Palermo', 'Genova', 'Bologna', 'Firenze',\r\n 'Bari', 'Catania', 'Venezia', 'Verona', 'Messina', 'Padova', 'Trieste', 'Brescia',\r\n 'Parma', 'Taranto', 'Prato', 'Modena', 'Reggio Calabria', 'Reggio Emilia', 'Perugia',\r\n 'Livorno', 'Ravenna', 'Cagliari', 'Foggia', 'Rimini', 'Salerno', 'Ferrara', 'Sassari'\r\n ],\r\n states: [\r\n 'Lazio', 'Lombardia', 'Campania', 'Piemonte', 'Sicilia', 'Liguria', 'Emilia-Romagna',\r\n 'Toscana', 'Puglia', 'Veneto', 'Calabria', 'Sardegna', 'Marche', 'Abruzzo',\r\n 'Friuli-Venezia Giulia', 'Umbria', 'Basilicata', 'Molise', 'Trentino-Alto Adige', 'Valle d\\'Aosta'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ingegnere Software', 'Project Manager', 'Analista Dati', 'Responsabile Marketing',\r\n 'Rappresentante Vendite', 'Commercialista', 'Responsabile HR', 'Designer',\r\n 'Responsabile Operazioni', 'Analista di Business', 'Product Manager', 'Amministratore di Sistema'\r\n ],\r\n departments: [\r\n 'Ingegneria', 'Marketing', 'Vendite', 'Risorse Umane', 'Finanza', 'Operazioni',\r\n 'Servizio Clienti', 'IT', 'Ricerca e Sviluppo', 'Legale', 'Amministrazione'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${street}, ${number}, ${zipCode} ${city} (${state.substring(0, 2).toUpperCase()})`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const es_ES: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Antonio', 'Manuel', 'José', 'Francisco', 'David', 'Juan', 'Javier', 'Daniel',\r\n 'Carlos', 'Miguel', 'Alejandro', 'Pedro', 'Jesús', 'Pablo', 'Sergio', 'Rafael',\r\n 'Ángel', 'José Antonio', 'Fernando', 'Luis', 'Alberto', 'Jorge', 'Adrián',\r\n 'Álvaro', 'Diego', 'Raúl', 'Enrique', 'Rubén', 'Iván', 'Gonzalo', 'Hugo'\r\n ],\r\n firstNamesFemale: [\r\n 'María', 'Carmen', 'Ana', 'Isabel', 'Dolores', 'Pilar', 'Teresa', 'Rosa',\r\n 'Lucía', 'Paula', 'Sara', 'Laura', 'Marta', 'Elena', 'Cristina', 'Andrea',\r\n 'Sofía', 'Beatriz', 'Alba', 'Nuria', 'Silvia', 'Patricia', 'Raquel', 'Marina',\r\n 'Clara', 'Irene', 'Julia', 'Natalia', 'Rocío', 'Eva', 'Mónica', 'Susana'\r\n ],\r\n lastNames: [\r\n 'García', 'Fernández', 'González', 'Rodríguez', 'López', 'Martínez', 'Sánchez', 'Pérez',\r\n 'Gómez', 'Martín', 'Jiménez', 'Ruiz', 'Hernández', 'Díaz', 'Moreno', 'Muñoz',\r\n 'Álvarez', 'Romero', 'Alonso', 'Gutiérrez', 'Navarro', 'Torres', 'Domínguez',\r\n 'Vázquez', 'Ramos', 'Gil', 'Ramírez', 'Serrano', 'Blanco', 'Molina', 'Morales'\r\n ],\r\n streets: [\r\n 'Calle Mayor', 'Gran Vía', 'Calle Real', 'Paseo de la Castellana', 'Avenida de Andalucía',\r\n 'Calle Alcalá', 'Paseo del Prado', 'Calle de Serrano', 'Avenida Diagonal',\r\n 'Ronda de Segovia', 'Calle Toledo', 'Plaza de España', 'Calle Atocha',\r\n 'Paseo de Gracia', 'Calle Preciados', 'Avenida de América', 'Calle Génova'\r\n ],\r\n cities: [\r\n 'Madrid', 'Barcelona', 'Valencia', 'Sevilla', 'Zaragoza', 'Málaga', 'Murcia',\r\n 'Palma', 'Las Palmas', 'Bilbao', 'Alicante', 'Córdoba', 'Valladolid', 'Vigo',\r\n 'Gijón', 'Hospitalet', 'Vitoria', 'Granada', 'Elche', 'Oviedo', 'Badalona',\r\n 'Cartagena', 'Terrassa', 'Jerez', 'Sabadell', 'Santa Cruz', 'Pamplona', 'Almería'\r\n ],\r\n states: [\r\n 'Madrid', 'Cataluña', 'Comunidad Valenciana', 'Andalucía', 'Aragón', 'Galicia',\r\n 'Castilla y León', 'País Vasco', 'Canarias', 'Castilla-La Mancha', 'Murcia',\r\n 'Asturias', 'Islas Baleares', 'Extremadura', 'Navarra', 'Cantabria', 'La Rioja'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ingeniero de Software', 'Jefe de Proyecto', 'Analista de Datos', 'Responsable de Marketing',\r\n 'Comercial', 'Contable', 'Jefe de RRHH', 'Diseñador', 'Responsable de Operaciones',\r\n 'Analista de Negocio', 'Jefe de Producto', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\r\n 'Atención al Cliente', 'Informática', 'Investigación y Desarrollo', 'Legal', 'Administración'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 300);\r\n const piso = Random.int(1, 8);\r\n const puerta = Random.pick(['A', 'B', 'C', 'D']);\r\n return `${street}, ${number}, ${piso}º ${puerta}, ${zipCode} ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const nl_NL: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jan', 'Pieter', 'Kees', 'Henk', 'Johan', 'Daan', 'Lucas', 'Sem', 'Bram', 'Thijs',\r\n 'Lars', 'Tim', 'Tom', 'Ruben', 'Sven', 'Stijn', 'Luuk', 'Jesse', 'Milan', 'Max',\r\n 'Finn', 'Teun', 'Bas', 'Nick', 'Thomas', 'Jasper', 'Jelle', 'Roel', 'Sander'\r\n ],\r\n firstNamesFemale: [\r\n 'Anna', 'Emma', 'Sophie', 'Julia', 'Lisa', 'Laura', 'Sanne', 'Eva', 'Lotte',\r\n 'Sara', 'Isa', 'Anne', 'Nina', 'Fleur', 'Femke', 'Iris', 'Noa', 'Maud', 'Roos',\r\n 'Eline', 'Demi', 'Lynn', 'Amy', 'Lieke', 'Naomi', 'Amber', 'Vera', 'Maja', 'Tess'\r\n ],\r\n lastNames: [\r\n 'de Jong', 'Jansen', 'de Vries', 'van den Berg', 'van Dijk', 'Bakker', 'Janssen',\r\n 'Visser', 'Smit', 'Meijer', 'de Boer', 'Mulder', 'de Groot', 'Bos', 'Vos',\r\n 'Peters', 'Hendriks', 'van Leeuwen', 'Dekker', 'Brouwer', 'de Wit', 'Dijkstra',\r\n 'Smits', 'de Graaf', 'van der Meer', 'van der Linden', 'Kok', 'Jacobs', 'de Haan'\r\n ],\r\n streets: [\r\n 'Hoofdstraat', 'Kerkstraat', 'Schoolstraat', 'Dorpsstraat', 'Stationsweg',\r\n 'Molenstraat', 'Nieuwstraat', 'Parkweg', 'Bosweg', 'Beatrixlaan', 'Wilhelminalaan',\r\n 'Julianastraat', 'Koningstraat', 'Prins Hendrikstraat', 'Marktstraat',\r\n 'Parallelweg', 'Gravenstraat', 'Binnenweg', 'Groeneweg', 'Lindenstraat'\r\n ],\r\n cities: [\r\n 'Amsterdam', 'Rotterdam', 'Den Haag', 'Utrecht', 'Eindhoven', 'Tilburg', 'Groningen',\r\n 'Almere', 'Breda', 'Nijmegen', 'Enschede', 'Haarlem', 'Arnhem', 'Zaanstad',\r\n 'Amersfoort', 'Apeldoorn', 'Hoofddorp', 'Maastricht', 'Leiden', 'Dordrecht',\r\n 'Zoetermeer', 'Zwolle', 'Deventer', 'Delft', 'Alkmaar', 'Heerlen', 'Venlo'\r\n ],\r\n states: [\r\n 'Noord-Holland', 'Zuid-Holland', 'Utrecht', 'Noord-Brabant', 'Gelderland',\r\n 'Overijssel', 'Limburg', 'Groningen', 'Friesland', 'Zeeland', 'Flevoland', 'Drenthe'\r\n ],\r\n zipCodePattern: '#### @@',\r\n jobTitles: [\r\n 'Software Engineer', 'Projectmanager', 'Data Analist', 'Marketingmanager',\r\n 'Vertegenwoordiger', 'Accountant', 'HR Manager', 'Designer', 'Operationeel Manager',\r\n 'Business Analist', 'Productmanager', 'Systeembeheerder', 'Kwaliteitsanalist'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Verkoop', 'Human Resources', 'Financiën', 'Operaties',\r\n 'Klantenservice', 'IT', 'Onderzoek en Ontwikkeling', 'Juridisch', 'Administratie'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 250);\r\n const letter = Random.boolean() ? Random.pick(['A', 'B', 'C']) : '';\r\n return `${street} ${number}${letter}, ${zipCode}, ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const digits = String(Random.int(1000, 9999));\r\n const letters = String.fromCharCode(65 + Random.int(0, 25)) + \r\n String.fromCharCode(65 + Random.int(0, 25));\r\n return `${digits} ${letters}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_CA: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Liam', 'Noah', 'Oliver', 'Ethan', 'Logan', 'Lucas', 'Mason', 'Benjamin', 'Jack',\r\n 'James', 'William', 'Alexander', 'Michael', 'Jacob', 'Daniel', 'Matthew', 'Ryan',\r\n 'Nathan', 'Samuel', 'Owen', 'Dylan', 'Connor', 'Carter', 'Caleb', 'Luke', 'Wyatt',\r\n 'Thomas', 'Andrew', 'Nicholas', 'Adam', 'David', 'Joseph', 'Tyler', 'Hunter'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Olivia', 'Ava', 'Sophia', 'Isabella', 'Charlotte', 'Amelia', 'Mia', 'Harper',\r\n 'Emily', 'Abigail', 'Ella', 'Madison', 'Scarlett', 'Grace', 'Chloe', 'Victoria',\r\n 'Sofia', 'Lily', 'Hannah', 'Avery', 'Zoe', 'Aria', 'Brooklyn', 'Claire', 'Leah',\r\n 'Maya', 'Addison', 'Riley', 'Sarah', 'Rachel', 'Jessica', 'Jennifer', 'Laura'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Brown', 'Lee', 'Wilson', 'Martin', 'Roy', 'Tremblay', 'Anderson', 'Johnson',\r\n 'Taylor', 'Gagnon', 'White', 'Thomas', 'Thompson', 'Campbell', 'Clark', 'Lewis',\r\n 'Walker', 'Hall', 'Young', 'Allen', 'King', 'Wright', 'Scott', 'Robinson', 'Green',\r\n 'MacDonald', 'Murphy', 'Stewart', 'Cook', 'Bailey', 'Kelly', 'Ross', 'Mitchell'\r\n ],\r\n streets: [\r\n 'Main Street', 'King Street', 'Queen Street', 'Yonge Street', 'Bloor Street',\r\n 'Dundas Street', 'College Street', 'Bay Street', 'University Avenue', 'Front Street',\r\n 'Wellington Street', 'Richmond Street', 'Adelaide Street', 'Spadina Avenue',\r\n 'Parliament Street', 'Jarvis Street', 'Church Street', 'Victoria Street', 'First Avenue'\r\n ],\r\n cities: [\r\n 'Toronto', 'Montreal', 'Vancouver', 'Calgary', 'Edmonton', 'Ottawa', 'Winnipeg',\r\n 'Quebec City', 'Hamilton', 'Kitchener', 'London', 'Victoria', 'Halifax', 'Oshawa',\r\n 'Windsor', 'Saskatoon', 'Regina', 'Barrie', 'Kelowna', 'Abbotsford', 'Sherbrooke',\r\n 'Guelph', 'Kingston', 'Trois-Rivières', 'Sudbury', 'Thunder Bay', 'Moncton'\r\n ],\r\n states: [\r\n 'Ontario', 'Quebec', 'British Columbia', 'Alberta', 'Manitoba', 'Saskatchewan',\r\n 'Nova Scotia', 'New Brunswick', 'Newfoundland and Labrador', 'Prince Edward Island',\r\n 'Northwest Territories', 'Yukon', 'Nunavut'\r\n ],\r\n zipCodePattern: '@#@ #@#',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 9999);\r\n const unit = Random.boolean() ? `Unit ${Random.int(1, 100)}, ` : '';\r\n return `${unit}${number} ${street}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const letters = 'ABCDEFGHJKLMNPRSTVWXYZ';\r\n const digits = '0123456789';\r\n return `${letters[Random.int(0, letters.length - 1)]}${digits[Random.int(0, 9)]}${letters[Random.int(0, letters.length - 1)]} ${digits[Random.int(0, 9)]}${letters[Random.int(0, letters.length - 1)]}${digits[Random.int(0, 9)]}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_GB: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Oliver', 'George', 'Harry', 'Jack', 'Jacob', 'Noah', 'Charlie', 'Muhammad', 'Thomas',\r\n 'Oscar', 'William', 'James', 'Henry', 'Alfie', 'Leo', 'Joshua', 'Freddie', 'Ethan',\r\n 'Archie', 'Isaac', 'Alexander', 'Joseph', 'Edward', 'Samuel', 'Daniel', 'Max',\r\n 'Lucas', 'Mason', 'Harrison', 'Logan', 'Sebastian', 'Dylan', 'Arthur', 'Theo'\r\n ],\r\n firstNamesFemale: [\r\n 'Olivia', 'Amelia', 'Isla', 'Ava', 'Emily', 'Isabella', 'Mia', 'Poppy', 'Ella',\r\n 'Lily', 'Sophie', 'Grace', 'Sophia', 'Charlotte', 'Freya', 'Evie', 'Daisy', 'Florence',\r\n 'Alice', 'Jessica', 'Ivy', 'Millie', 'Ruby', 'Rosie', 'Scarlett', 'Isabelle',\r\n 'Phoebe', 'Willow', 'Sienna', 'Lucy', 'Emma', 'Harriet', 'Evelyn', 'Elsie'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Jones', 'Taylor', 'Brown', 'Williams', 'Wilson', 'Johnson', 'Davies',\r\n 'Robinson', 'Wright', 'Thompson', 'Evans', 'Walker', 'White', 'Roberts', 'Green',\r\n 'Hall', 'Wood', 'Jackson', 'Clarke', 'Patel', 'Khan', 'Lewis', 'James', 'Roberts',\r\n 'Baker', 'Harrison', 'Hughes', 'Edwards', 'Collins', 'Morgan', 'Cooper', 'Bell'\r\n ],\r\n streets: [\r\n 'High Street', 'Station Road', 'Main Street', 'Park Road', 'Church Street',\r\n 'Victoria Road', 'Green Lane', 'Manor Road', 'Church Lane', 'Park Avenue',\r\n 'The Avenue', 'Queens Road', 'New Road', 'Grange Road', 'King Street', 'Kingsway',\r\n 'Windsor Road', 'London Road', 'Mill Lane', 'School Lane', 'The Green', 'The Crescent'\r\n ],\r\n cities: [\r\n 'London', 'Birmingham', 'Manchester', 'Leeds', 'Liverpool', 'Newcastle', 'Sheffield',\r\n 'Bristol', 'Glasgow', 'Leicester', 'Edinburgh', 'Bradford', 'Cardiff', 'Belfast',\r\n 'Nottingham', 'Coventry', 'Kingston upon Hull', 'Stoke-on-Trent', 'Plymouth',\r\n 'Wolverhampton', 'Derby', 'Southampton', 'Portsmouth', 'Brighton', 'Reading',\r\n 'Northampton', 'Luton', 'Bolton', 'Aberdeen', 'York', 'Oxford', 'Cambridge'\r\n ],\r\n states: [\r\n 'England', 'Scotland', 'Wales', 'Northern Ireland', 'Greater London', 'West Midlands',\r\n 'Greater Manchester', 'West Yorkshire', 'South Yorkshire', 'Merseyside', 'Tyne and Wear'\r\n ],\r\n zipCodePattern: '@## #@@',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 300);\r\n return `${number} ${street}, ${city}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n const area = letters[Random.int(0, letters.length - 1)] + letters[Random.int(0, letters.length - 1)];\r\n const district = Random.int(1, 99);\r\n const sector = Random.int(0, 9);\r\n const unit = letters[Random.int(0, letters.length - 1)] + letters[Random.int(0, letters.length - 1)];\r\n return `${area}${district} ${sector}${unit}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ru_RU: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Alexander', 'Dmitry', 'Maxim', 'Sergey', 'Andrey', 'Alexey', 'Artem', 'Ivan',\r\n 'Mikhail', 'Roman', 'Vladimir', 'Nikita', 'Yegor', 'Denis', 'Pavel', 'Kirill',\r\n 'Anton', 'Oleg', 'Konstantin', 'Igor', 'Evgeny', 'Viktor', 'Nikolay', 'Ilya',\r\n 'Timur', 'Daniil', 'Vadim', 'Georgy', 'Stanislav', 'Gleb', 'Ruslan', 'Yaroslav'\r\n ],\r\n firstNamesFemale: [\r\n 'Anastasia', 'Maria', 'Daria', 'Anna', 'Ekaterina', 'Victoria', 'Polina', 'Elizaveta',\r\n 'Alexandra', 'Natalia', 'Olga', 'Tatiana', 'Irina', 'Yulia', 'Elena', 'Ksenia',\r\n 'Svetlana', 'Marina', 'Vera', 'Sophia', 'Alina', 'Valeria', 'Veronika', 'Kristina',\r\n 'Diana', 'Lyubov', 'Galina', 'Nina', 'Larisa', 'Ludmila', 'Angelina', 'Arina'\r\n ],\r\n lastNames: [\r\n 'Ivanov', 'Smirnov', 'Kuznetsov', 'Popov', 'Vasiliev', 'Petrov', 'Sokolov', 'Mikhailov',\r\n 'Novikov', 'Fedorov', 'Morozov', 'Volkov', 'Alexeev', 'Lebedev', 'Semenov', 'Egorov',\r\n 'Pavlov', 'Kozlov', 'Stepanov', 'Nikolaev', 'Orlov', 'Andreev', 'Makarov', 'Nikitin',\r\n 'Zakharov', 'Zaitsev', 'Soloviev', 'Borisov', 'Yakovlev', 'Grigoriev', 'Romanov'\r\n ],\r\n streets: [\r\n 'Lenina Street', 'Pushkina Street', 'Sovetskaya Street', 'Tsentralnaya Street',\r\n 'Mira Avenue', 'Gagarina Street', 'Komsomolskaya Street', 'Kirova Street',\r\n 'Pobedy Avenue', 'Oktyabrskaya Street', 'Sadovaya Street', 'Moskovskaya Street',\r\n 'Nevsky Prospekt', 'Tverskaya Street', 'Arbat Street', 'Prospekt Mira',\r\n 'Kutuzovsky Prospekt', 'Leningradsky Prospekt', 'Novinsky Boulevard'\r\n ],\r\n cities: [\r\n 'Moscow', 'Saint Petersburg', 'Novosibirsk', 'Yekaterinburg', 'Kazan', 'Nizhny Novgorod',\r\n 'Chelyabinsk', 'Samara', 'Omsk', 'Rostov-on-Don', 'Ufa', 'Krasnoyarsk', 'Voronezh',\r\n 'Perm', 'Volgograd', 'Krasnodar', 'Saratov', 'Tyumen', 'Tolyatti', 'Izhevsk',\r\n 'Barnaul', 'Ulyanovsk', 'Irkutsk', 'Khabarovsk', 'Yaroslavl', 'Vladivostok', 'Tomsk'\r\n ],\r\n states: [\r\n 'Moscow Oblast', 'Saint Petersburg', 'Moscow', 'Sverdlovsk Oblast', 'Tatarstan',\r\n 'Krasnodar Krai', 'Chelyabinsk Oblast', 'Nizhny Novgorod Oblast', 'Samara Oblast',\r\n 'Bashkortostan', 'Rostov Oblast', 'Krasnoyarsk Krai', 'Novosibirsk Oblast',\r\n 'Perm Krai', 'Voronezh Oblast', 'Volgograd Oblast', 'Saratov Oblast'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.int(1, 200);\r\n const apartment = Random.int(1, 150);\r\n return `${state}, ${city}, ${street}, d. ${building}, kv. ${apartment}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const pl_PL: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jan', 'Andrzej', 'Piotr', 'Krzysztof', 'Stanisław', 'Tomasz', 'Paweł', 'Józef',\r\n 'Marcin', 'Michał', 'Grzegorz', 'Jerzy', 'Tadeusz', 'Adam', 'Łukasz', 'Zbigniew',\r\n 'Ryszard', 'Kazimierz', 'Marek', 'Mateusz', 'Kamil', 'Jakub', 'Robert', 'Rafał',\r\n 'Wojciech', 'Sławomir', 'Dariusz', 'Dawid', 'Bartosz', 'Kacper', 'Filip', 'Igor'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Anna', 'Katarzyna', 'Małgorzata', 'Agnieszka', 'Barbara', 'Ewa', 'Krystyna',\r\n 'Elżbieta', 'Zofia', 'Teresa', 'Joanna', 'Magdalena', 'Monika', 'Jadwiga', 'Danuta',\r\n 'Irena', 'Halina', 'Helena', 'Beata', 'Aleksandra', 'Natalia', 'Dorota', 'Paulina',\r\n 'Sylwia', 'Iwona', 'Jolanta', 'Renata', 'Karolina', 'Weronika', 'Julia', 'Martyna'\r\n ],\r\n lastNames: [\r\n 'Nowak', 'Kowalski', 'Wiśniewski', 'Dąbrowski', 'Lewandowski', 'Wójcik', 'Kamiński',\r\n 'Kowalczyk', 'Zieliński', 'Szymański', 'Woźniak', 'Kozłowski', 'Jankowski', 'Wojciechowski',\r\n 'Kwiatkowski', 'Kaczmarek', 'Mazur', 'Krawczyk', 'Piotrowski', 'Grabowski', 'Nowakowski',\r\n 'Pawłowski', 'Michalski', 'Nowicki', 'Adamczyk', 'Dudek', 'Zając', 'Wieczorek', 'Jabłoński'\r\n ],\r\n streets: [\r\n 'ulica Główna', 'ulica Kwiatowa', 'ulica Słoneczna', 'ulica Polna', 'ulica Leśna',\r\n 'ulica Krótka', 'ulica Długa', 'ulica Szkolna', 'ulica Kościelna', 'ulica Parkowa',\r\n 'Plac Wolności', 'Aleja Solidarności', 'ulica 3 Maja', 'ulica Piłsudskiego',\r\n 'ulica Mickiewicza', 'ulica Słowackiego', 'ulica Kopernika', 'ulica Chopina'\r\n ],\r\n cities: [\r\n 'Warszawa', 'Kraków', 'Łódź', 'Wrocław', 'Poznań', 'Gdańsk', 'Szczecin', 'Bydgoszcz',\r\n 'Lublin', 'Białystok', 'Katowice', 'Gdynia', 'Częstochowa', 'Radom', 'Sosnowiec',\r\n 'Toruń', 'Kielce', 'Gliwice', 'Zabrze', 'Bytom', 'Olsztyn', 'Bielsko-Biała',\r\n 'Rzeszów', 'Ruda Śląska', 'Rybnik', 'Tychy', 'Dąbrowa Górnicza', 'Płock', 'Elbląg'\r\n ],\r\n states: [\r\n 'Mazowieckie', 'Śląskie', 'Wielkopolskie', 'Małopolskie', 'Dolnośląskie', 'Łódzkie',\r\n 'Pomorskie', 'Kujawsko-Pomorskie', 'Zachodniopomorskie', 'Lubelskie', 'Podkarpackie',\r\n 'Warmińsko-Mazurskie', 'Świętokrzyskie', 'Podlaskie', 'Opolskie', 'Lubuskie'\r\n ],\r\n zipCodePattern: '##-###',\r\n jobTitles: [\r\n 'Inżynier Oprogramowania', 'Kierownik Projektu', 'Analityk Danych', 'Kierownik Marketingu',\r\n 'Przedstawiciel Handlowy', 'Księgowy', 'Kierownik HR', 'Projektant', 'Kierownik Operacyjny',\r\n 'Analityk Biznesowy', 'Kierownik Produktu', 'Administrator Systemu', 'Inżynier Jakości'\r\n ],\r\n departments: [\r\n 'Inżynieria', 'Marketing', 'Sprzedaż', 'Zasoby Ludzkie', 'Finanse', 'Operacje',\r\n 'Obsługa Klienta', 'IT', 'Badania i Rozwój', 'Prawny', 'Administracja'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 150);\r\n const apartment = Random.int(1, 80);\r\n return `${street} ${number}/${apartment}, ${zipCode} ${city}, woj. ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(10, 99));\r\n const part2 = String(Random.int(100, 999));\r\n return `${part1}-${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const tr_TR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Mehmet', 'Mustafa', 'Ahmet', 'Ali', 'Hüseyin', 'Hasan', 'İbrahim', 'İsmail',\r\n 'Yusuf', 'Murat', 'Süleyman', 'Ömer', 'Emre', 'Can', 'Burak', 'Kemal', 'Onur',\r\n 'Serkan', 'Fatih', 'Oğuz', 'Eren', 'Cem', 'Deniz', 'Barış', 'Kaan', 'Arda',\r\n 'Emir', 'Efe', 'Okan', 'Furkan', 'Yasin', 'Berkay', 'Umut', 'Volkan'\r\n ],\r\n firstNamesFemale: [\r\n 'Ayşe', 'Fatma', 'Emine', 'Hatice', 'Zeynep', 'Elif', 'Merve', 'Büşra', 'Esra',\r\n 'Sultan', 'Hanife', 'Meryem', 'Şeyma', 'Fadime', 'Cemre', 'Selin', 'Yasemin',\r\n 'Özlem', 'Gül', 'Aylin', 'Deniz', 'Ceren', 'Ece', 'Beyza', 'Tuğba', 'Burcu',\r\n 'Ebru', 'Nur', 'Buse', 'Defne', 'Ada', 'Aslı', 'Seda', 'Meltem'\r\n ],\r\n lastNames: [\r\n 'Yılmaz', 'Kaya', 'Demir', 'Şahin', 'Çelik', 'Yıldız', 'Yıldırım', 'Öztürk',\r\n 'Aydın', 'Özdemir', 'Arslan', 'Doğan', 'Kılıç', 'Aslan', 'Çetin', 'Kara',\r\n 'Koç', 'Kurt', 'Özkan', 'Şimşek', 'Erdoğan', 'Aksoy', 'Güneş', 'Çakır',\r\n 'Özgür', 'Korkmaz', 'Acar', 'Polat', 'Aktaş', 'Özer', 'Demirci', 'Yavuz'\r\n ],\r\n streets: [\r\n 'Atatürk Caddesi', 'İstiklal Caddesi', 'Cumhuriyet Caddesi', 'Barbaros Bulvarı',\r\n 'Bağdat Caddesi', 'Gazi Mustafa Kemal Bulvarı', 'Ankara Caddesi', 'İnönü Caddesi',\r\n 'Fevzi Çakmak Caddesi', 'Mithatpaşa Caddesi', 'Kızılay Meydanı', 'Fatih Caddesi',\r\n 'Yeşilırmak Sokak', 'Mehmet Akif Caddesi', 'Hürriyet Bulvarı', 'Mimar Sinan Caddesi'\r\n ],\r\n cities: [\r\n 'İstanbul', 'Ankara', 'İzmir', 'Bursa', 'Antalya', 'Adana', 'Konya', 'Gaziantep',\r\n 'Şanlıurfa', 'Kocaeli', 'Mersin', 'Diyarbakır', 'Hatay', 'Manisa', 'Kayseri',\r\n 'Samsun', 'Balıkesir', 'Kahramanmaraş', 'Van', 'Aydın', 'Denizli', 'Sakarya',\r\n 'Tekirdağ', 'Muğla', 'Eskişehir', 'Mardin', 'Malatya', 'Erzurum', 'Trabzon'\r\n ],\r\n states: [\r\n 'İstanbul', 'Ankara', 'İzmir', 'Bursa', 'Antalya', 'Adana', 'Konya', 'Gaziantep',\r\n 'Mersin', 'Kocaeli', 'Diyarbakır', 'Hatay', 'Manisa', 'Kayseri', 'Samsun',\r\n 'Balıkesir', 'Tekirdağ', 'Trabzon', 'Erzurum', 'Malatya', 'Van', 'Şanlıurfa'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Yazılım Mühendisi', 'Proje Yöneticisi', 'Veri Analisti', 'Pazarlama Müdürü',\r\n 'Satış Temsilcisi', 'Muhasebeci', 'İnsan Kaynakları Müdürü', 'Tasarımcı',\r\n 'Operasyon Müdürü', 'İş Analisti', 'Ürün Müdürü', 'Sistem Yöneticisi', 'Kalite Mühendisi'\r\n ],\r\n departments: [\r\n 'Mühendislik', 'Pazarlama', 'Satış', 'İnsan Kaynakları', 'Finans', 'Operasyon',\r\n 'Müşteri Hizmetleri', 'BT', 'Araştırma ve Geliştirme', 'Hukuk', 'İdari İşler'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const mahalle = Random.pick(['Merkez', 'Yeni', 'Çarşı', 'Kale', 'Bahçelievler']);\r\n const no = Random.int(1, 200);\r\n const daire = Random.int(1, 50);\r\n return `${mahalle} Mah., ${street} No:${no} D:${daire}, ${zipCode} ${city}/${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const sv_SE: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Erik', 'Lars', 'Karl', 'Anders', 'Per', 'Johan', 'Nils', 'Lennart', 'Emil',\r\n 'Oscar', 'Gustav', 'Viktor', 'Axel', 'Filip', 'Elias', 'Lucas', 'Alexander',\r\n 'Oliver', 'William', 'Hugo', 'Liam', 'Noah', 'Adam', 'Isak', 'Anton', 'Theo',\r\n 'Mattias', 'Magnus', 'Stefan', 'Peter', 'Mikael', 'Daniel', 'Fredrik', 'Björn'\r\n ],\r\n firstNamesFemale: [\r\n 'Anna', 'Maria', 'Karin', 'Eva', 'Kristina', 'Lena', 'Emma', 'Sofia', 'Ingrid',\r\n 'Birgitta', 'Sara', 'Lisa', 'Linnea', 'Maja', 'Elin', 'Ida', 'Ebba', 'Wilma',\r\n 'Alice', 'Julia', 'Elsa', 'Alicia', 'Olivia', 'Astrid', 'Agnes', 'Ella', 'Freja',\r\n 'Klara', 'Saga', 'Isabelle', 'Emilia', 'Hanna', 'Amanda', 'Josefin', 'Ellen'\r\n ],\r\n lastNames: [\r\n 'Andersson', 'Johansson', 'Karlsson', 'Nilsson', 'Eriksson', 'Larsson', 'Olsson',\r\n 'Persson', 'Svensson', 'Gustafsson', 'Pettersson', 'Jonsson', 'Jansson', 'Hansson',\r\n 'Bengtsson', 'Jönsson', 'Lindberg', 'Jakobsson', 'Magnusson', 'Olofsson', 'Lindström',\r\n 'Lindqvist', 'Lindgren', 'Berg', 'Axelsson', 'Bergström', 'Lundberg', 'Lind', 'Lundgren'\r\n ],\r\n streets: [\r\n 'Storgatan', 'Drottninggatan', 'Kungsgatan', 'Biblioteksgatan', 'Birger Jarlsgatan',\r\n 'Sveavägen', 'Vasagatan', 'Hamngatan', 'Karlavägen', 'Valhallavägen',\r\n 'Linnégatan', 'Skånegatan', 'Södermalmsallén', 'Odengatan', 'Götgatan',\r\n 'Ringvägen', 'Hornsgatan', 'Folkungagatan', 'Östermalmsgatan', 'Norrtullsgatan'\r\n ],\r\n cities: [\r\n 'Stockholm', 'Göteborg', 'Malmö', 'Uppsala', 'Västerås', 'Örebro', 'Linköping',\r\n 'Helsingborg', 'Jönköping', 'Norrköping', 'Lund', 'Umeå', 'Gävle', 'Borås',\r\n 'Eskilstuna', 'Södertälje', 'Karlstad', 'Täby', 'Växjö', 'Halmstad', 'Sundsvall',\r\n 'Luleå', 'Trollhättan', 'Östersund', 'Borlänge', 'Falun', 'Skellefteå', 'Kalmar'\r\n ],\r\n states: [\r\n 'Stockholm', 'Västra Götaland', 'Skåne', 'Uppsala', 'Västmanland', 'Örebro',\r\n 'Östergötland', 'Jönköping', 'Kronoberg', 'Kalmar', 'Gotland', 'Blekinge',\r\n 'Halland', 'Värmland', 'Dalarna', 'Gävleborg', 'Västernorrland', 'Jämtland',\r\n 'Västerbotten', 'Norrbotten', 'Södermanland'\r\n ],\r\n zipCodePattern: '### ##',\r\n jobTitles: [\r\n 'Mjukvaruingenjör', 'Projektledare', 'Dataanalytiker', 'Marknadschef',\r\n 'Säljare', 'Revisor', 'HR-chef', 'Designer', 'Driftschef', 'Affärsanalytiker',\r\n 'Produktchef', 'Systemadministratör', 'Kvalitetsingenjör', 'Utvecklare'\r\n ],\r\n departments: [\r\n 'Teknik', 'Marknadsföring', 'Försäljning', 'Personal', 'Ekonomi', 'Drift',\r\n 'Kundtjänst', 'IT', 'Forskning och utveckling', 'Juridik', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 150);\r\n const apartment = Random.boolean() ? ` lgh ${Random.int(1001, 1299)}` : '';\r\n return `${street} ${number}${apartment}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(100, 999));\r\n const part2 = String(Random.int(10, 99));\r\n return `${part1} ${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const nb_NO: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jan', 'Per', 'Bjørn', 'Ole', 'Lars', 'Knut', 'Arne', 'Kjell', 'Tor', 'Svein',\r\n 'Thomas', 'Andreas', 'Martin', 'Daniel', 'Henrik', 'Magnus', 'Jonas', 'Emil',\r\n 'Alexander', 'Markus', 'Kristian', 'Fredrik', 'Marius', 'Erik', 'Øyvind',\r\n 'Adrian', 'Lucas', 'Tobias', 'Noah', 'Oliver', 'William', 'Filip', 'Jakob'\r\n ],\r\n firstNamesFemale: [\r\n 'Anne', 'Marit', 'Inger', 'Kari', 'Nina', 'Lise', 'Eva', 'Hilde', 'Ingrid',\r\n 'Emma', 'Nora', 'Sara', 'Sofie', 'Emilie', 'Ingrid', 'Thea', 'Maja', 'Eline',\r\n 'Ida', 'Julie', 'Maria', 'Vilde', 'Frida', 'Amalie', 'Victoria', 'Anna',\r\n 'Mathilde', 'Mia', 'Hanna', 'Linnea', 'Leah', 'Isabella', 'Ella', 'Hedda'\r\n ],\r\n lastNames: [\r\n 'Hansen', 'Johansen', 'Olsen', 'Larsen', 'Andersen', 'Pedersen', 'Nilsen', 'Kristiansen',\r\n 'Jensen', 'Karlsen', 'Johnsen', 'Pettersen', 'Eriksen', 'Berg', 'Haugen', 'Hagen',\r\n 'Johannessen', 'Andreassen', 'Jacobsen', 'Olsen', 'Solberg', 'Moen', 'Lund', 'Bakke',\r\n 'Lie', 'Strand', 'Nguyen', 'Halvorsen', 'Svendsen', 'Martinsen', 'Mikkelsen'\r\n ],\r\n streets: [\r\n 'Storgata', 'Kirkegata', 'Hovedgata', 'Karl Johans gate', 'Prinsens gate',\r\n 'Torgallmenningen', 'Grensen', 'Stortingsgata', 'Bogstadveien', 'Bygdøy allé',\r\n 'Parkveien', 'Skippergata', 'Kongens gate', 'Drammensveien', 'Pilestredet',\r\n 'Ullevålsveien', 'Markveien', 'Thorvald Meyers gate', 'Akersgata', 'Møllergata'\r\n ],\r\n cities: [\r\n 'Oslo', 'Bergen', 'Stavanger', 'Trondheim', 'Drammen', 'Fredrikstad', 'Kristiansand',\r\n 'Sandnes', 'Tromsø', 'Sarpsborg', 'Skien', 'Ålesund', 'Sandefjord', 'Haugesund',\r\n 'Tønsberg', 'Moss', 'Porsgrunn', 'Bodø', 'Arendal', 'Hamar', 'Larvik', 'Halden',\r\n 'Askøy', 'Lillehammer', 'Mo i Rana', 'Molde', 'Horten', 'Gjøvik', 'Kongsberg'\r\n ],\r\n states: [\r\n 'Oslo', 'Viken', 'Innlandet', 'Vestfold og Telemark', 'Agder', 'Rogaland',\r\n 'Vestland', 'Møre og Romsdal', 'Trøndelag', 'Nordland', 'Troms og Finnmark'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Programvareingeniør', 'Prosjektleder', 'Dataanalytiker', 'Markedssjef',\r\n 'Selger', 'Regnskapsfører', 'HR-leder', 'Designer', 'Driftsleder',\r\n 'Forretningsanalytiker', 'Produktleder', 'Systemadministrator', 'Kvalitetsingeniør'\r\n ],\r\n departments: [\r\n 'Ingeniør', 'Markedsføring', 'Salg', 'Personale', 'Økonomi', 'Drift',\r\n 'Kundeservice', 'IT', 'Forskning og utvikling', 'Juridisk', 'Administrasjon'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${street} ${number}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const da_DK: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Morten', 'Peter', 'Jens', 'Michael', 'Lars', 'Henrik', 'Thomas', 'Søren',\r\n 'Christian', 'Martin', 'Niels', 'Rasmus', 'Anders', 'Mikkel', 'Frederik',\r\n 'Mathias', 'Casper', 'Simon', 'Mads', 'Jacob', 'Emil', 'Magnus', 'Lucas',\r\n 'Oliver', 'William', 'Noah', 'Oscar', 'Victor', 'Alexander', 'Sebastian'\r\n ],\r\n firstNamesFemale: [\r\n 'Anne', 'Kirsten', 'Mette', 'Hanne', 'Lene', 'Susanne', 'Camilla', 'Louise',\r\n 'Maria', 'Sofie', 'Julie', 'Emma', 'Ida', 'Anna', 'Laura', 'Sarah', 'Mathilde',\r\n 'Freja', 'Clara', 'Isabella', 'Alma', 'Ella', 'Karla', 'Josefine', 'Victoria',\r\n 'Caroline', 'Katrine', 'Line', 'Rikke', 'Trine', 'Charlotte', 'Maja'\r\n ],\r\n lastNames: [\r\n 'Nielsen', 'Jensen', 'Hansen', 'Pedersen', 'Andersen', 'Christensen', 'Larsen',\r\n 'Sørensen', 'Rasmussen', 'Jørgensen', 'Petersen', 'Madsen', 'Kristensen', 'Olsen',\r\n 'Thomsen', 'Christiansen', 'Poulsen', 'Johansen', 'Møller', 'Mortensen', 'Knudsen',\r\n 'Jakobsen', 'Laursen', 'Simonsen', 'Frederiksen', 'Kjær', 'Schmidt', 'Holm'\r\n ],\r\n streets: [\r\n 'Hovedgaden', 'Kirkevej', 'Skovvej', 'Parkvej', 'Strandvej', 'Møllevej',\r\n 'Skolevej', 'Birkevej', 'Rosenvej', 'Vestergade', 'Østergade', 'Nørregade',\r\n 'Søndergade', 'Tingvej', 'Lillevej', 'Storegade', 'Åvej', 'Byvej', 'Havnevej'\r\n ],\r\n cities: [\r\n 'København', 'Aarhus', 'Odense', 'Aalborg', 'Esbjerg', 'Randers', 'Kolding',\r\n 'Horsens', 'Vejle', 'Roskilde', 'Herning', 'Silkeborg', 'Næstved', 'Fredericia',\r\n 'Viborg', 'Køge', 'Holstebro', 'Taastrup', 'Slagelse', 'Hillerød', 'Sønderborg',\r\n 'Holbæk', 'Svendborg', 'Hjørring', 'Frederikshavn', 'Rønne', 'Nykøbing F'\r\n ],\r\n states: [\r\n 'Hovedstaden', 'Sjælland', 'Syddanmark', 'Midtjylland', 'Nordjylland'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Softwareingeniør', 'Projektleder', 'Dataanalytiker', 'Marketingchef',\r\n 'Salgsrepræsentant', 'Revisor', 'HR-chef', 'Designer', 'Driftschef',\r\n 'Forretningsanalytiker', 'Produktchef', 'Systemadministrator', 'Kvalitetsingeniør'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Salg', 'HR', 'Økonomi', 'Drift', 'Kundeservice',\r\n 'IT', 'Forskning og udvikling', 'Juridisk', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n const floor = Random.boolean() ? `, ${Random.int(1, 5)}. sal` : '';\r\n return `${street} ${number}${floor}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const fi_FI: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jari', 'Mika', 'Mikko', 'Juha', 'Petri', 'Jukka', 'Antti', 'Timo', 'Ville',\r\n 'Matti', 'Pekka', 'Sami', 'Kari', 'Markus', 'Teemu', 'Joonas', 'Lauri', 'Tuomas',\r\n 'Eero', 'Oskari', 'Valtteri', 'Aleksi', 'Oliver', 'Emil', 'Elias', 'Leo',\r\n 'Onni', 'Aatos', 'Väinö', 'Eino', 'Veikko', 'Seppo', 'Heikki', 'Kalevi'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Anna', 'Johanna', 'Sari', 'Hanna', 'Kaisa', 'Laura', 'Sanna', 'Minna',\r\n 'Tiina', 'Pirjo', 'Tuula', 'Eeva', 'Aino', 'Sofia', 'Emilia', 'Emma', 'Olivia',\r\n 'Aada', 'Helmi', 'Lilja', 'Elli', 'Isla', 'Venla', 'Linnea', 'Matilda', 'Aino',\r\n 'Kerttu', 'Ella', 'Anni', 'Iida', 'Sara', 'Oona', 'Pihla'\r\n ],\r\n lastNames: [\r\n 'Virtanen', 'Korhonen', 'Nieminen', 'Mäkinen', 'Hämäläinen', 'Laine', 'Heikkinen',\r\n 'Koskinen', 'Järvinen', 'Lehtonen', 'Lehtinen', 'Saarinen', 'Salminen', 'Heinonen',\r\n 'Niemi', 'Heikkilä', 'Kinnunen', 'Salonen', 'Tuominen', 'Laitinen', 'Turunen',\r\n 'Mattila', 'Rantanen', 'Karjalainen', 'Jokinen', 'Laaksonen', 'Savolainen', 'Mäkelä'\r\n ],\r\n streets: [\r\n 'Mannerheimintie', 'Hämeentie', 'Aleksanterinkatu', 'Esplanadi', 'Bulevardi',\r\n 'Pohjoinen Rautatiekatu', 'Fredrikinkatu', 'Iso Roobertinkatu', 'Kalevankatu',\r\n 'Töölönkatu', 'Runeberginkatu', 'Mechelininkatu', 'Hietaniemenkatu', 'Lapinlahdenkatu',\r\n 'Agricolankatu', 'Sturenkatu', 'Hämeentie', 'Koskelantie', 'Hitsaajankatu'\r\n ],\r\n cities: [\r\n 'Helsinki', 'Espoo', 'Tampere', 'Vantaa', 'Oulu', 'Turku', 'Jyväskylä', 'Lahti',\r\n 'Kuopio', 'Pori', 'Kouvola', 'Joensuu', 'Lappeenranta', 'Hämeenlinna', 'Vaasa',\r\n 'Rovaniemi', 'Seinäjoki', 'Mikkeli', 'Kotka', 'Salo', 'Porvoo', 'Kokkola',\r\n 'Lohja', 'Hyvinkää', 'Järvenpää', 'Rauma', 'Tuusula', 'Kajaani', 'Savonlinna'\r\n ],\r\n states: [\r\n 'Uusimaa', 'Varsinais-Suomi', 'Satakunta', 'Kanta-Häme', 'Pirkanmaa', 'Päijät-Häme',\r\n 'Kymenlaakso', 'Etelä-Karjala', 'Etelä-Savo', 'Pohjois-Savo', 'Pohjois-Karjala',\r\n 'Keski-Suomi', 'Etelä-Pohjanmaa', 'Pohjanmaa', 'Keski-Pohjanmaa', 'Pohjois-Pohjanmaa',\r\n 'Kainuu', 'Lappi', 'Ahvenanmaa'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Ohjelmistokehittäjä', 'Projektipäällikkö', 'Data-analyytikko', 'Markkinointipäällikkö',\r\n 'Myyntiedustaja', 'Kirjanpitäjä', 'HR-päällikkö', 'Suunnittelija', 'Toimintapäällikkö',\r\n 'Liiketoiminta-analyytikko', 'Tuotepäällikkö', 'Järjestelmänvalvoja', 'Laatuinsinööri'\r\n ],\r\n departments: [\r\n 'Kehitys', 'Markkinointi', 'Myynti', 'Henkilöstöhallinto', 'Talous', 'Toiminnot',\r\n 'Asiakaspalvelu', 'IT', 'Tutkimus ja kehitys', 'Oikeusosasto', 'Hallinto'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n const apartment = Random.boolean() ? ` ${Random.int(1, 99)}` : '';\r\n return `${street} ${number}${apartment}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const es_AR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Juan', 'Carlos', 'José', 'Luis', 'Jorge', 'Ricardo', 'Daniel', 'Marcelo',\r\n 'Alejandro', 'Pablo', 'Diego', 'Martín', 'Fernando', 'Gonzalo', 'Matías',\r\n 'Sebastián', 'Nicolás', 'Federico', 'Gabriel', 'Andrés', 'Ezequiel', 'Facundo',\r\n 'Maximiliano', 'Rodrigo', 'Germán', 'Luciano', 'Ignacio', 'Agustín', 'Franco'\r\n ],\r\n firstNamesFemale: [\r\n 'María', 'Ana', 'Laura', 'Marta', 'Silvia', 'Andrea', 'Gabriela', 'Claudia',\r\n 'Carolina', 'Valeria', 'Natalia', 'Paula', 'Verónica', 'Cecilia', 'Patricia',\r\n 'Sofía', 'Martina', 'Lucía', 'Valentina', 'Florencia', 'Camila', 'Milagros',\r\n 'Victoria', 'Catalina', 'Antonella', 'Agustina', 'Micaela', 'Julieta', 'Guadalupe'\r\n ],\r\n lastNames: [\r\n 'González', 'Rodríguez', 'Fernández', 'López', 'Martínez', 'García', 'Pérez', 'Gómez',\r\n 'Sánchez', 'Romero', 'Álvarez', 'Díaz', 'Torres', 'Ruiz', 'Ramírez', 'Flores',\r\n 'Benítez', 'Acosta', 'Medina', 'Castro', 'Molina', 'Moreno', 'Suárez', 'Vega',\r\n 'Pereyra', 'Gutiérrez', 'Silva', 'Vargas', 'Cabrera', 'Ramos', 'Navarro', 'Sosa'\r\n ],\r\n streets: [\r\n 'Avenida Corrientes', 'Avenida Santa Fe', 'Avenida 9 de Julio', 'Avenida Rivadavia',\r\n 'Calle Florida', 'Avenida de Mayo', 'Calle San Martín', 'Avenida Callao',\r\n 'Calle Lavalle', 'Avenida Córdoba', 'Avenida Belgrano', 'Calle Reconquista',\r\n 'Avenida Libertador', 'Calle Maipú', 'Avenida Pueyrredón', 'Calle Defensa',\r\n 'Avenida Independencia', 'Calle Rodríguez Peña', 'Avenida Las Heras'\r\n ],\r\n cities: [\r\n 'Buenos Aires', 'Córdoba', 'Rosario', 'Mendoza', 'La Plata', 'San Miguel de Tucumán',\r\n 'Mar del Plata', 'Salta', 'Santa Fe', 'San Juan', 'Resistencia', 'Neuquén',\r\n 'Corrientes', 'Santiago del Estero', 'Posadas', 'Bahía Blanca', 'Paraná',\r\n 'San Salvador de Jujuy', 'Formosa', 'La Rioja', 'Catamarca', 'San Luis', 'Río Cuarto'\r\n ],\r\n states: [\r\n 'Buenos Aires', 'Córdoba', 'Santa Fe', 'Mendoza', 'Tucumán', 'Entre Ríos',\r\n 'Salta', 'Chaco', 'Corrientes', 'Misiones', 'San Juan', 'Jujuy', 'Santiago del Estero',\r\n 'San Luis', 'Catamarca', 'La Rioja', 'Formosa', 'Neuquén', 'Río Negro',\r\n 'Chubut', 'Santa Cruz', 'Tierra del Fuego', 'La Pampa'\r\n ],\r\n zipCodePattern: '@####@@@',\r\n jobTitles: [\r\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\r\n 'Representante de Ventas', 'Contador', 'Gerente de RRHH', 'Diseñador', 'Gerente de Operaciones',\r\n 'Analista de Negocios', 'Gerente de Producto', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\r\n 'Atención al Cliente', 'IT', 'Investigación y Desarrollo', 'Legal', 'Administración'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 9999);\r\n const piso = Random.int(1, 20);\r\n const depto = Random.pick(['A', 'B', 'C', 'D', 'E']);\r\n return `${street} ${number}, Piso ${piso} Dpto ${depto}, ${zipCode} ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const letter = String.fromCharCode(65 + Random.int(0, 25));\r\n const digits = String(Random.int(1000, 9999));\r\n const letters = String.fromCharCode(65 + Random.int(0, 25)) +\r\n String.fromCharCode(65 + Random.int(0, 25)) +\r\n String.fromCharCode(65 + Random.int(0, 25));\r\n return `${letter}${digits}${letters}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const es_CL: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Juan', 'Pedro', 'José', 'Luis', 'Carlos', 'Jorge', 'Miguel', 'Andrés',\r\n 'Francisco', 'Ricardo', 'Manuel', 'Alejandro', 'Diego', 'Sebastián', 'Cristian',\r\n 'Matías', 'Felipe', 'Gonzalo', 'Rodrigo', 'Javier', 'Pablo', 'Marcelo',\r\n 'Gabriel', 'Nicolás', 'Maximiliano', 'Tomás', 'Martín', 'Ignacio', 'Joaquín'\r\n ],\r\n firstNamesFemale: [\r\n 'María', 'Carmen', 'Rosa', 'Ana', 'Isabel', 'Teresa', 'Gloria', 'Patricia',\r\n 'Claudia', 'Andrea', 'Carolina', 'Francisca', 'Daniela', 'Camila', 'Javiera',\r\n 'Valentina', 'Constanza', 'Fernanda', 'Catalina', 'Isidora', 'Sofía', 'Martina',\r\n 'Florencia', 'Antonia', 'Emilia', 'Trinidad', 'Maite', 'Josefa', 'Amanda'\r\n ],\r\n lastNames: [\r\n 'González', 'Muñoz', 'Rojas', 'Díaz', 'Pérez', 'Soto', 'Contreras', 'Silva',\r\n 'Martínez', 'Sepúlveda', 'Morales', 'Rodríguez', 'López', 'Fuentes', 'Hernández',\r\n 'Torres', 'Araya', 'Flores', 'Espinoza', 'Valenzuela', 'Castillo', 'Tapia',\r\n 'Reyes', 'Vásquez', 'Ramírez', 'Núñez', 'Pizarro', 'Carrasco', 'Gutiérrez', 'Herrera'\r\n ],\r\n streets: [\r\n 'Avenida Libertador Bernardo O\\'Higgins', 'Avenida Providencia', 'Avenida Apoquindo',\r\n 'Avenida Las Condes', 'Avenida Vicuña Mackenna', 'Avenida Grecia', 'Calle Huérfanos',\r\n 'Calle Agustinas', 'Avenida Pedro de Valdivia', 'Avenida Bilbao', 'Calle Bandera',\r\n 'Avenida República', 'Calle Estado', 'Avenida Irarrázaval', 'Avenida Ñuñoa'\r\n ],\r\n cities: [\r\n 'Santiago', 'Valparaíso', 'Viña del Mar', 'Concepción', 'La Serena', 'Antofagasta',\r\n 'Temuco', 'Rancagua', 'Talca', 'Arica', 'Puerto Montt', 'Chillán', 'Iquique',\r\n 'Los Ángeles', 'Coyhaique', 'Punta Arenas', 'Valdivia', 'Osorno', 'Quillota',\r\n 'Curicó', 'Calama', 'Copiapó', 'Linares', 'Ovalle', 'San Antonio'\r\n ],\r\n states: [\r\n 'Región Metropolitana', 'Valparaíso', 'Biobío', 'Araucanía', 'Los Lagos',\r\n 'Maule', 'Antofagasta', 'Coquimbo', 'O\\'Higgins', 'Tarapacá', 'Los Ríos',\r\n 'Aysén', 'Magallanes', 'Atacama', 'Arica y Parinacota', 'Ñuble'\r\n ],\r\n zipCodePattern: '#######',\r\n jobTitles: [\r\n 'Ingeniero en Software', 'Jefe de Proyecto', 'Analista de Datos', 'Jefe de Marketing',\r\n 'Ejecutivo Comercial', 'Contador', 'Jefe de RRHH', 'Diseñador', 'Jefe de Operaciones',\r\n 'Analista de Negocios', 'Product Manager', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\r\n 'Atención al Cliente', 'TI', 'Investigación y Desarrollo', 'Legal', 'Administración'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 9999);\r\n const depto = Random.int(1, 500);\r\n return `${street} ${number}, Depto ${depto}, ${city}, ${state}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000000, 9999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const th_TH: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Somchai', 'Somsak', 'Chai', 'Niran', 'Anon', 'Thana', 'Korn', 'Pong',\r\n 'Arun', 'Wit', 'Sak', 'Nop', 'Chai', 'Manop', 'Anucha', 'Weerasak',\r\n 'Surasak', 'Prasert', 'Phong', 'Sombat', 'Narong', 'Wichit', 'Lek', 'Noi',\r\n 'Anurak', 'Sarawut', 'Kittipong', 'Jirawat', 'Thanawat', 'Apichai'\r\n ],\r\n firstNamesFemale: [\r\n 'Somying', 'Noi', 'Lek', 'Malee', 'Siriporn', 'Suda', 'Nittaya', 'Pornpan',\r\n 'Orathai', 'Wanida', 'Suwanna', 'Pranee', 'Rattana', 'Chanya', 'Supaporn',\r\n 'Areerat', 'Apinya', 'Waranya', 'Jirapha', 'Panida', 'Kanokwan', 'Sudarat',\r\n 'Naruemon', 'Wilai', 'Amara', 'Thanaporn', 'Pimsiri', 'Sirikul', 'Nutcha'\r\n ],\r\n lastNames: [\r\n 'Srisuk', 'Tantrakul', 'Wongcharoen', 'Pholchai', 'Saetang', 'Chanthara', 'Wattana',\r\n 'Ruangsri', 'Pornprasert', 'Thongchai', 'Suwannaphon', 'Chaiyaporn', 'Kingkaew',\r\n 'Intharasombat', 'Duangkaew', 'Maneekan', 'Somkhuan', 'Thepthong', 'Ratanaporn',\r\n 'Wongsawat', 'Chanthaburi', 'Phongsri', 'Methaphan', 'Rattanawong', 'Phongphan'\r\n ],\r\n streets: [\r\n 'Sukhumvit Road', 'Rama IV Road', 'Silom Road', 'Sathorn Road', 'Ratchadamri Road',\r\n 'Petchburi Road', 'Rama I Road', 'Phayathai Road', 'Ratchadaphisek Road',\r\n 'Vibhavadi Rangsit Road', 'Ladprao Road', 'Charoenkrung Road', 'Yaowarat Road',\r\n 'Ratchawithi Road', 'Lan Luang Road', 'Phra Athit Road', 'Khao San Road'\r\n ],\r\n cities: [\r\n 'Bangkok', 'Nonthaburi', 'Nakhon Ratchasima', 'Chiang Mai', 'Hat Yai', 'Udon Thani',\r\n 'Pak Kret', 'Khon Kaen', 'Chon Buri', 'Nakhon Si Thammarat', 'Rayong', 'Lampang',\r\n 'Ubon Ratchathani', 'Surat Thani', 'Phuket', 'Nakhon Sawan', 'Chiang Rai', 'Saraburi',\r\n 'Samut Prakan', 'Trang', 'Phitsanulok', 'Krabi', 'Songkhla', 'Phetchaburi'\r\n ],\r\n states: [\r\n 'Bangkok', 'Nonthaburi', 'Pathum Thani', 'Samut Prakan', 'Chiang Mai', 'Chon Buri',\r\n 'Nakhon Ratchasima', 'Khon Kaen', 'Surat Thani', 'Udon Thani', 'Phuket', 'Songkhla',\r\n 'Rayong', 'Nakhon Si Thammarat', 'Chiang Rai', 'Ubon Ratchathani', 'Phitsanulok'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const soi = Random.int(1, 50);\r\n const number = Random.int(1, 999);\r\n return `${number} Soi ${soi}, ${street}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const vi_VN: LocaleDefinition = {\r\n lastNames: [\r\n 'Nguyen', 'Tran', 'Le', 'Pham', 'Hoang', 'Huynh', 'Phan', 'Vu', 'Vo', 'Dang',\r\n 'Bui', 'Do', 'Ngo', 'Duong', 'Ly', 'Dinh', 'Trinh', 'Ha', 'Mai', 'Truong',\r\n 'To', 'Dao', 'Lam', 'Chau', 'Doan', 'Tang', 'Quach', 'Cao', 'Tong', 'Thai'\r\n ],\r\n firstNamesMale: [\r\n 'Van', 'Minh', 'Duc', 'Tuan', 'Thanh', 'Hieu', 'Khang', 'Phong', 'Hung',\r\n 'Quang', 'Hoang', 'Nam', 'Duy', 'Hai', 'Long', 'Khanh', 'Son', 'Thang',\r\n 'Dat', 'Huy', 'Trung', 'Tai', 'Vinh', 'Cuong', 'Khoa', 'Anh', 'Bao', 'Quan',\r\n 'Tien', 'Kien', 'Linh', 'Binh', 'An', 'Phu'\r\n ],\r\n firstNamesFemale: [\r\n 'Thi', 'Anh', 'Lan', 'Huong', 'Mai', 'Thu', 'Linh', 'Phuong', 'Ha', 'Hoa',\r\n 'Hang', 'Thuy', 'Yen', 'Nga', 'Nhu', 'Quynh', 'Van', 'Tuyet', 'Hien', 'Nhung',\r\n 'Dieu', 'Tam', 'My', 'Trang', 'Ngoc', 'Thao', 'Chi', 'Vy', 'Uyen', 'Khanh',\r\n 'Nhi', 'Bich', 'Trinh', 'Minh', 'Kim', 'Hong'\r\n ],\r\n streets: [\r\n 'Le Loi', 'Nguyen Hue', 'Tran Hung Dao', 'Ly Thai To', 'Hai Ba Trung',\r\n 'Ba Trieu', 'Phan Chu Trinh', 'Hoang Dieu', 'Nguyen Thai Hoc', 'Nguyen Trai',\r\n 'Tran Phu', 'Le Duan', 'Vo Thi Sau', 'Nguyen Du', 'Dong Khoi', 'Pasteur',\r\n 'Dien Bien Phu', 'Cach Mang Thang Tam', 'Vo Van Tan', 'Tran Quoc Toan'\r\n ],\r\n cities: [\r\n 'Ho Chi Minh City', 'Hanoi', 'Da Nang', 'Hai Phong', 'Can Tho', 'Bien Hoa',\r\n 'Hue', 'Nha Trang', 'Buon Ma Thuot', 'Vung Tau', 'Quy Nhon', 'Nam Dinh',\r\n 'Thai Nguyen', 'Phan Thiet', 'Thai Binh', 'Vinh', 'My Tho', 'Rach Gia',\r\n 'Long Xuyen', 'Cam Ranh', 'Ha Long', 'Pleiku', 'Bac Lieu', 'Cao Lanh'\r\n ],\r\n states: [\r\n 'Ho Chi Minh City', 'Hanoi', 'Da Nang', 'Hai Phong', 'Can Tho', 'Dong Nai',\r\n 'Binh Duong', 'Ba Ria-Vung Tau', 'Khanh Hoa', 'Lam Dong', 'Thua Thien Hue',\r\n 'Quang Nam', 'Thanh Hoa', 'Nghe An', 'Hai Duong', 'Nam Dinh', 'Thai Nguyen',\r\n 'Bac Ninh', 'Vinh Phuc', 'Phu Tho', 'Long An', 'Tien Giang', 'Ben Tre'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const ward = Random.int(1, 20);\r\n const district = Random.int(1, 12);\r\n return `${number} ${street}, Ward ${ward}, District ${district}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ms_MY: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Ahmad', 'Ali', 'Hassan', 'Ismail', 'Ibrahim', 'Mohd', 'Abdullah', 'Yusof',\r\n 'Rahman', 'Aziz', 'Zulkifli', 'Hamid', 'Halim', 'Hakim', 'Amin', 'Rashid',\r\n 'Fahmi', 'Faiz', 'Hafiz', 'Amirul', 'Danial', 'Syafiq', 'Iqbal', 'Haikal',\r\n 'Rizal', 'Ammar', 'Zikri', 'Arif', 'Ashraf', 'Firdaus', 'Nabil', 'Hakimi'\r\n ],\r\n firstNamesFemale: [\r\n 'Siti', 'Nur', 'Norain', 'Farah', 'Aisha', 'Zainab', 'Fatimah', 'Maryam',\r\n 'Amira', 'Sarah', 'Alya', 'Nadia', 'Sofea', 'Hanna', 'Aisyah', 'Najwa',\r\n 'Qistina', 'Irdina', 'Balqis', 'Ain', 'Nasuha', 'Izyan', 'Natasha', 'Erina',\r\n 'Fatin', 'Hanis', 'Syahirah', 'Insyirah', 'Marissa', 'Zulaikha', 'Nabila'\r\n ],\r\n lastNames: [\r\n 'Abdullah', 'Ahmad', 'Mohamed', 'Ibrahim', 'Hassan', 'Ismail', 'Rahman', 'Ali',\r\n 'Omar', 'Osman', 'Yusof', 'Aziz', 'Hamid', 'Salleh', 'Idris', 'Daud', 'Bakar',\r\n 'Mansor', 'Hussain', 'Yasin', 'Karim', 'Samad', 'Sulaiman', 'Hashim', 'Ramli',\r\n 'Harun', 'Wahab', 'Zain', 'Latif', 'Rashid', 'Ghani', 'Nasir', 'Rahim'\r\n ],\r\n streets: [\r\n 'Jalan Raja', 'Jalan Sultan', 'Jalan Tun Razak', 'Jalan Ampang', 'Jalan Bukit Bintang',\r\n 'Jalan Masjid India', 'Jalan Tuanku Abdul Rahman', 'Jalan Pudu', 'Jalan Imbi',\r\n 'Jalan Hang Tuah', 'Jalan Petaling', 'Jalan Chow Kit', 'Jalan Ipoh', 'Jalan Kelang Lama',\r\n 'Jalan Tun Perak', 'Jalan Munshi Abdullah', 'Jalan Genting Klang', 'Jalan Pahang'\r\n ],\r\n cities: [\r\n 'Kuala Lumpur', 'George Town', 'Ipoh', 'Shah Alam', 'Petaling Jaya', 'Johor Bahru',\r\n 'Malacca City', 'Alor Setar', 'Kuching', 'Kota Kinabalu', 'Seremban', 'Kuantan',\r\n 'Klang', 'Subang Jaya', 'Kota Bharu', 'Sandakan', 'Kuala Terengganu', 'Miri',\r\n 'Kangar', 'Putrajaya', 'Cyberjaya', 'Taiping', 'Sibu', 'Muar', 'Batu Pahat'\r\n ],\r\n states: [\r\n 'Selangor', 'Johor', 'Penang', 'Perak', 'Kedah', 'Pahang', 'Negeri Sembilan',\r\n 'Melaka', 'Kelantan', 'Terengganu', 'Perlis', 'Sabah', 'Sarawak',\r\n 'Kuala Lumpur', 'Putrajaya', 'Labuan'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const taman = Random.pick(['Taman', 'Bandar', 'Kampung']);\r\n const area = Random.pick(['Indah', 'Jaya', 'Perdana', 'Utama', 'Sentosa']);\r\n return `No. ${number}, ${street}, ${taman} ${area}, ${zipCode} ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_SG: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Wei Ming', 'Jun Hao', 'Ryan', 'Ethan', 'Kai', 'Zhi Hao', 'Darren', 'Marcus',\r\n 'Nicholas', 'Brandon', 'Wei Jie', 'Joshua', 'Matthew', 'Daniel', 'Benjamin',\r\n 'Aaron', 'Isaac', 'Jayden', 'Aiden', 'Sean', 'Adrian', 'Xavier', 'Lucas',\r\n 'Nathan', 'Tyler', 'Arjun', 'Ravi', 'Kumar', 'Raj', 'Vikram'\r\n ],\r\n firstNamesFemale: [\r\n 'Hui Ling', 'Xin Yi', 'Rachel', 'Chloe', 'Emma', 'Ying Xuan', 'Sarah', 'Emily',\r\n 'Michelle', 'Nicole', 'Angela', 'Amanda', 'Cheryl', 'Joyce', 'Melissa', 'Sophia',\r\n 'Isabelle', 'Natalie', 'Ashley', 'Crystal', 'Priya', 'Divya', 'Kavitha', 'Ananya',\r\n 'Shreya', 'Mei Ling', 'Li Ying', 'Jia Yi', 'Shi Hui', 'Wei Ting'\r\n ],\r\n lastNames: [\r\n 'Tan', 'Lim', 'Lee', 'Ng', 'Ong', 'Wong', 'Goh', 'Chua', 'Chan', 'Koh',\r\n 'Teo', 'Ang', 'Yeo', 'Lau', 'Tay', 'Ho', 'Low', 'Sim', 'Chia', 'Toh',\r\n 'Kumar', 'Singh', 'Kaur', 'Rahman', 'Ali', 'Hassan', 'Ahmad', 'Mohamed',\r\n 'Abdullah', 'Ibrahim', 'Chen', 'Wang', 'Zhang', 'Liu', 'Yang'\r\n ],\r\n streets: [\r\n 'Orchard Road', 'Raffles Boulevard', 'Shenton Way', 'Marina Boulevard', 'Beach Road',\r\n 'North Bridge Road', 'South Bridge Road', 'Collyer Quay', 'Robinson Road', 'Cecil Street',\r\n 'Eu Tong Sen Street', 'Serangoon Road', 'Geylang Road', 'Balestier Road', 'Thomson Road',\r\n 'Bukit Timah Road', 'Clementi Road', 'Jurong East Avenue', 'Ang Mo Kio Avenue', 'Tampines Avenue'\r\n ],\r\n cities: [\r\n 'Singapore', 'Woodlands', 'Tampines', 'Jurong East', 'Ang Mo Kio', 'Bedok',\r\n 'Hougang', 'Yishun', 'Sembawang', 'Bukit Panjang', 'Choa Chu Kang', 'Punggol',\r\n 'Sengkang', 'Pasir Ris', 'Clementi', 'Bukit Batok', 'Toa Payoh', 'Queenstown'\r\n ],\r\n states: [\r\n 'Central Region', 'North Region', 'North-East Region', 'East Region', 'West Region'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Executive', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const block = Random.int(1, 999);\r\n const unit = `#${Random.int(1, 40).toString().padStart(2, '0')}-${Random.int(1, 999)}`;\r\n return `Blk ${block} ${street}, ${unit}, Singapore ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_PH: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'John', 'Mark', 'Angelo', 'Joshua', 'James', 'Michael', 'Christian', 'Carl',\r\n 'Kenneth', 'Anthony', 'Kristian', 'Daniel', 'Joseph', 'Gabriel', 'Rafael',\r\n 'Emmanuel', 'Nathaniel', 'Matthew', 'Andrew', 'Samuel', 'Diego', 'Luis',\r\n 'Marco', 'Paolo', 'Adrian', 'Ryan', 'Ethan', 'Jacob', 'Nathan', 'Vincent'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Anna', 'Princess', 'Angel', 'Andrea', 'Nicole', 'Michelle', 'Sarah',\r\n 'Angelica', 'Christine', 'Patricia', 'Mary', 'Rose', 'Joy', 'Grace', 'Faith',\r\n 'Hope', 'Kristine', 'Jasmine', 'Sofia', 'Isabella', 'Gabriela', 'Katrina',\r\n 'Samantha', 'Jessica', 'Jennifer', 'Stephanie', 'Alexandra', 'Alessandra', 'Bianca'\r\n ],\r\n lastNames: [\r\n 'dela Cruz', 'Garcia', 'Reyes', 'Ramos', 'Mendoza', 'Santos', 'Flores', 'Gonzales',\r\n 'Bautista', 'Cruz', 'Fernandez', 'Lopez', 'Perez', 'Martinez', 'Rivera', 'Torres',\r\n 'Aquino', 'Villanueva', 'Castro', 'Santiago', 'Morales', 'Valdez', 'Navarro',\r\n 'Alvarez', 'Salazar', 'Romero', 'Manuel', 'Castillo', 'Aguilar', 'Mercado'\r\n ],\r\n streets: [\r\n 'EDSA', 'Roxas Boulevard', 'Quezon Avenue', 'Taft Avenue', 'España Boulevard',\r\n 'Ayala Avenue', 'Ortigas Avenue', 'Shaw Boulevard', 'Commonwealth Avenue',\r\n 'C-5 Road', 'Katipunan Avenue', 'Magsaysay Avenue', 'Rizal Avenue', 'Del Pilar Street',\r\n 'Araneta Avenue', 'Aurora Boulevard', 'Marcos Highway', 'Bonifacio Drive'\r\n ],\r\n cities: [\r\n 'Manila', 'Quezon City', 'Makati', 'Pasig', 'Taguig', 'Pasay', 'Parañaque',\r\n 'Las Piñas', 'Muntinlupa', 'Caloocan', 'Malabon', 'Navotas', 'Valenzuela',\r\n 'Marikina', 'San Juan', 'Mandaluyong', 'Cebu City', 'Davao City', 'Zamboanga City',\r\n 'Cagayan de Oro', 'General Santos', 'Iloilo City', 'Bacolod', 'Baguio'\r\n ],\r\n states: [\r\n 'Metro Manila', 'Calabarzon', 'Central Luzon', 'Central Visayas', 'Western Visayas',\r\n 'Davao Region', 'Northern Mindanao', 'Ilocos Region', 'Cagayan Valley', 'Bicol Region',\r\n 'Eastern Visayas', 'Zamboanga Peninsula', 'SOCCSKSARGEN', 'Cordillera', 'MIMAROPA'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const barangay = Random.pick(['Barangay San Antonio', 'Barangay Santa Cruz', 'Barangay San Jose', 'Barangay Poblacion']);\r\n return `${number} ${street}, ${barangay}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_NZ: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Oliver', 'Jack', 'Noah', 'William', 'James', 'Lucas', 'Mason', 'Ethan', 'Leo',\r\n 'Liam', 'Benjamin', 'Hunter', 'Joshua', 'Samuel', 'Daniel', 'Matthew', 'Joseph',\r\n 'Thomas', 'Harry', 'Charlie', 'Jacob', 'Archie', 'George', 'Max', 'Oscar',\r\n 'Finn', 'Isaac', 'Connor', 'Ryan', 'Lachlan', 'Cooper', 'Riley', 'Flynn'\r\n ],\r\n firstNamesFemale: [\r\n 'Charlotte', 'Olivia', 'Amelia', 'Isla', 'Mia', 'Harper', 'Emily', 'Ella', 'Sophie',\r\n 'Ava', 'Lily', 'Grace', 'Chloe', 'Isabella', 'Ruby', 'Lucy', 'Zoe', 'Emma',\r\n 'Hannah', 'Aria', 'Scarlett', 'Poppy', 'Evelyn', 'Willow', 'Sienna', 'Ivy',\r\n 'Hazel', 'Aurora', 'Madison', 'Layla', 'Alice', 'Eleanor', 'Maya'\r\n ],\r\n lastNames: [\r\n 'Smith', 'Wilson', 'Taylor', 'Brown', 'Williams', 'Jones', 'Anderson', 'White',\r\n 'Thompson', 'Davis', 'Martin', 'Clark', 'Robinson', 'Walker', 'Young', 'Harris',\r\n 'King', 'Scott', 'Green', 'Adams', 'Baker', 'Campbell', 'Mitchell', 'Roberts',\r\n 'Carter', 'Phillips', 'Evans', 'Turner', 'Collins', 'Stewart', 'Morris', 'Murphy'\r\n ],\r\n streets: [\r\n 'Queen Street', 'High Street', 'Main Street', 'Victoria Street', 'Lambton Quay',\r\n 'Courtenay Place', 'Cuba Street', 'Willis Street', 'The Terrace', 'Customhouse Quay',\r\n 'Karangahape Road', 'Ponsonby Road', 'Dominion Road', 'Great South Road', 'Broadway',\r\n 'Riccarton Road', 'Colombo Street', 'Cashel Street', 'Manchester Street', 'Hereford Street'\r\n ],\r\n cities: [\r\n 'Auckland', 'Wellington', 'Christchurch', 'Hamilton', 'Tauranga', 'Lower Hutt',\r\n 'Dunedin', 'Palmerston North', 'Napier', 'Porirua', 'Hibiscus Coast', 'New Plymouth',\r\n 'Rotorua', 'Whangarei', 'Nelson', 'Hastings', 'Invercargill', 'Upper Hutt',\r\n 'Gisborne', 'Taupo', 'Blenheim', 'Pukekohe', 'Timaru', 'Whanganui'\r\n ],\r\n states: [\r\n 'Auckland', 'Wellington', 'Canterbury', 'Waikato', 'Bay of Plenty', 'Otago',\r\n 'Manawatu-Wanganui', 'Hawke\\'s Bay', 'Northland', 'Taranaki', 'Southland',\r\n 'Nelson', 'Marlborough', 'Tasman', 'Gisborne', 'West Coast'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n const unit = Random.boolean() ? `Unit ${Random.int(1, 50)}, ` : '';\r\n return `${unit}${number} ${street}, ${city} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const en_ZA: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Liam', 'Joshua', 'Daniel', 'Matthew', 'Michael', 'Ethan', 'David', 'Ryan',\r\n 'Connor', 'Benjamin', 'Luke', 'Thabang', 'Sipho', 'Thabo', 'Mandla', 'Bongani',\r\n 'Jabulani', 'Sibusiso', 'Nkosinathi', 'Siyabonga', 'Andile', 'Lwazi', 'Sandile',\r\n 'Dylan', 'Tyler', 'Nathan', 'Christian', 'Kyle', 'Cameron', 'Jordan'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Olivia', 'Sarah', 'Jessica', 'Emily', 'Hannah', 'Nicole', 'Amy',\r\n 'Chloe', 'Sophie', 'Nomsa', 'Thandi', 'Zanele', 'Precious', 'Nomvula', 'Lindiwe',\r\n 'Sibongile', 'Nokuthula', 'Busisiwe', 'Nompumelelo', 'Zinhle', 'Ayanda', 'Noluthando',\r\n 'Madison', 'Mia', 'Kayla', 'Paige', 'Amelia', 'Grace', 'Isabella'\r\n ],\r\n lastNames: [\r\n 'Smith', 'van der Merwe', 'Botha', 'Naidoo', 'Pillay', 'Mthembu', 'Dlamini', 'Nkosi',\r\n 'Zulu', 'Ndlovu', 'Ngcobo', 'Khumalo', 'Sithole', 'Mahlangu', 'Molefe', 'Mokoena',\r\n 'Du Plessis', 'Pretorius', 'Nel', 'Meyer', 'Venter', 'Muller', 'Marais', 'Coetzee',\r\n 'Williams', 'Jones', 'Brown', 'Taylor', 'Johnson', 'Davies', 'Singh', 'Patel'\r\n ],\r\n streets: [\r\n 'Mandela Street', 'Church Street', 'Main Road', 'Voortrekker Road', 'Oxford Road',\r\n 'Rissik Street', 'Commissioner Street', 'Jorrisen Street', 'Rivonia Road', 'William Nicol Drive',\r\n 'Jan Smuts Avenue', 'Beyers Naude Drive', 'Long Street', 'Adderley Street', 'Strand Street',\r\n 'Kloof Street', 'Sea Point Promenade', 'Smith Street', 'Anton Lembede Street', 'Victoria Embankment'\r\n ],\r\n cities: [\r\n 'Johannesburg', 'Cape Town', 'Durban', 'Pretoria', 'Port Elizabeth', 'Bloemfontein',\r\n 'East London', 'Pietermaritzburg', 'Polokwane', 'Nelspruit', 'Kimberley', 'Rustenburg',\r\n 'George', 'Midrand', 'Centurion', 'Sandton', 'Soweto', 'Benoni', 'Boksburg',\r\n 'Germiston', 'Randburg', 'Roodepoort', 'Vereeniging', 'Welkom', 'Newcastle'\r\n ],\r\n states: [\r\n 'Gauteng', 'Western Cape', 'KwaZulu-Natal', 'Eastern Cape', 'Free State',\r\n 'Limpopo', 'Mpumalanga', 'North West', 'Northern Cape'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 999);\r\n return `${number} ${street}, ${city}, ${state}, ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const pt_PT: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'João', 'Francisco', 'Miguel', 'Rodrigo', 'Pedro', 'Tiago', 'Gonçalo', 'Diogo',\r\n 'José', 'António', 'Manuel', 'Carlos', 'Paulo', 'Rui', 'Luís', 'Bruno',\r\n 'Ricardo', 'Hugo', 'André', 'Nuno', 'Rafael', 'Daniel', 'David', 'Tomás',\r\n 'Bernardo', 'Martim', 'Santiago', 'Afonso', 'Duarte', 'Gabriel', 'Gustavo'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Ana', 'Beatriz', 'Sofia', 'Mariana', 'Inês', 'Carolina', 'Catarina',\r\n 'Rita', 'Joana', 'Francisca', 'Teresa', 'Helena', 'Isabel', 'Leonor', 'Lara',\r\n 'Sara', 'Marta', 'Margarida', 'Diana', 'Matilde', 'Alice', 'Mafalda', 'Adriana',\r\n 'Carlota', 'Constança', 'Gabriela', 'Luísa', 'Melissa', 'Raquel', 'Cristina'\r\n ],\r\n lastNames: [\r\n 'Silva', 'Santos', 'Ferreira', 'Pereira', 'Oliveira', 'Costa', 'Rodrigues', 'Martins',\r\n 'Jesus', 'Sousa', 'Fernandes', 'Gonçalves', 'Gomes', 'Lopes', 'Marques', 'Alves',\r\n 'Almeida', 'Ribeiro', 'Pinto', 'Carvalho', 'Teixeira', 'Moreira', 'Correia', 'Mendes',\r\n 'Nunes', 'Soares', 'Vieira', 'Monteiro', 'Cardoso', 'Rocha', 'Neves', 'Coelho'\r\n ],\r\n streets: [\r\n 'Avenida da Liberdade', 'Rua Augusta', 'Rua da Prata', 'Avenida Almirante Reis',\r\n 'Rua Garrett', 'Praça do Comércio', 'Rua de Santa Catarina', 'Avenida dos Aliados',\r\n 'Rua das Flores', 'Avenida da República', 'Rua do Ouro', 'Rua Direita', 'Rua da Madalena',\r\n 'Avenida Fontes Pereira de Melo', 'Rua Braamcamp', 'Rua Alexandre Herculano'\r\n ],\r\n cities: [\r\n 'Lisboa', 'Porto', 'Vila Nova de Gaia', 'Amadora', 'Braga', 'Coimbra', 'Funchal',\r\n 'Setúbal', 'Almada', 'Agualva-Cacém', 'Queluz', 'Rio Tinto', 'Barreiro', 'Aveiro',\r\n 'Évora', 'Odivelas', 'Corroios', 'Loures', 'Gondomar', 'Guimarães', 'Matosinhos',\r\n 'Faro', 'Portimão', 'Leiria', 'Viseu', 'Castelo Branco', 'Vila Real', 'Santarém'\r\n ],\r\n states: [\r\n 'Lisboa', 'Porto', 'Braga', 'Aveiro', 'Faro', 'Setúbal', 'Coimbra', 'Leiria',\r\n 'Viseu', 'Santarém', 'Viana do Castelo', 'Vila Real', 'Évora', 'Beja',\r\n 'Castelo Branco', 'Guarda', 'Portalegre', 'Bragança', 'Açores', 'Madeira'\r\n ],\r\n zipCodePattern: '####-###',\r\n jobTitles: [\r\n 'Engenheiro de Software', 'Gestor de Projeto', 'Analista de Dados', 'Gestor de Marketing',\r\n 'Representante de Vendas', 'Contabilista', 'Gestor de RH', 'Designer', 'Gestor de Operações',\r\n 'Analista de Negócios', 'Gestor de Produto', 'Administrador de Sistemas'\r\n ],\r\n departments: [\r\n 'Engenharia', 'Marketing', 'Vendas', 'Recursos Humanos', 'Finanças', 'Operações',\r\n 'Apoio ao Cliente', 'IT', 'Investigação e Desenvolvimento', 'Jurídico', 'Administração'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 300);\r\n const floor = Random.int(1, 8);\r\n const door = Random.pick(['A', 'B', 'C', 'D', 'E']);\r\n return `${street}, ${number}, ${floor}º ${door}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(1000, 9999));\r\n const part2 = String(Random.int(100, 999));\r\n return `${part1}-${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const el_GR: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Georgios', 'Ioannis', 'Konstantinos', 'Dimitrios', 'Nikolaos', 'Panagiotis', 'Vasileios',\r\n 'Christos', 'Athanasios', 'Michail', 'Spyridon', 'Andreas', 'Alexandros', 'Stefanos',\r\n 'Antonios', 'Theodoros', 'Evangelos', 'Ilias', 'Petros', 'Apostolos', 'Anastasios',\r\n 'Grigorios', 'Charalampos', 'Nikos', 'Kostas', 'Giorgos', 'Yannis', 'Dimitris', 'Marios'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Eleni', 'Aikaterini', 'Vasiliki', 'Sofia', 'Angeliki', 'Georgia', 'Dimitra',\r\n 'Konstantina', 'Paraskevi', 'Ioanna', 'Anastasia', 'Christina', 'Styliani', 'Fotini',\r\n 'Panagiota', 'Despina', 'Katerina', 'Anna', 'Alexandra', 'Irini', 'Nikoletta',\r\n 'Evangelia', 'Chrysoula', 'Theodora', 'Zoi', 'Antonia', 'Eleftheria', 'Marina'\r\n ],\r\n lastNames: [\r\n 'Papadopoulos', 'Pappas', 'Georgiou', 'Dimitriou', 'Nikolaou', 'Ioannou', 'Konstantinou',\r\n 'Christodoulou', 'Vasiliou', 'Athanasiou', 'Petrou', 'Andreou', 'Oikonomou', 'Karagiannis',\r\n 'Angelopoulos', 'Alexandrou', 'Michailidis', 'Georgiadis', 'Papadakis', 'Vlahos',\r\n 'Papageorgiou', 'Theodorou', 'Nikou', 'Economou', 'Panagiotou', 'Makris', 'Kostopoulos'\r\n ],\r\n streets: [\r\n 'Odos Ermou', 'Leoforos Vasilissis Sofias', 'Odos Panepistimiou', 'Odos Stadiou',\r\n 'Leoforos Alexandras', 'Odos Akadimias', 'Odos Patision', 'Leoforos Kifisias',\r\n 'Odos Solonos', 'Odos Athinas', 'Leoforos Mesogeion', 'Odos Voukourestiou',\r\n 'Plateia Syntagmatos', 'Odos Mitropoleos', 'Leoforos Vouliagmenis'\r\n ],\r\n cities: [\r\n 'Athens', 'Thessaloniki', 'Patras', 'Heraklion', 'Larissa', 'Volos', 'Ioannina',\r\n 'Chania', 'Chalcis', 'Serres', 'Katerini', 'Kalamata', 'Kavala', 'Rhodes',\r\n 'Agrinio', 'Trikala', 'Lamia', 'Kozani', 'Drama', 'Veria', 'Corfu', 'Xanthi'\r\n ],\r\n states: [\r\n 'Attica', 'Central Macedonia', 'Crete', 'Thessaly', 'Western Greece', 'Peloponnese',\r\n 'Epirus', 'Central Greece', 'Eastern Macedonia and Thrace', 'Ionian Islands',\r\n 'Western Macedonia', 'North Aegean', 'South Aegean', 'Mount Athos'\r\n ],\r\n zipCodePattern: '### ##',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${street} ${number}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(100, 999));\r\n const part2 = String(Random.int(10, 99));\r\n return `${part1} ${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const cs_CZ: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Jiří', 'Jan', 'Petr', 'Josef', 'Pavel', 'Martin', 'Tomáš', 'Jaroslav', 'Miroslav',\r\n 'Zdeněk', 'Václav', 'Milan', 'Michal', 'František', 'David', 'Lukáš', 'Jakub',\r\n 'Ondřej', 'Filip', 'Stanislav', 'Vojtěch', 'Adam', 'Radek', 'Daniel', 'Marek',\r\n 'Aleš', 'Roman', 'Ladislav', 'Karel', 'Patrik', 'Dominik', 'Matěj'\r\n ],\r\n firstNamesFemale: [\r\n 'Marie', 'Jana', 'Eva', 'Anna', 'Hana', 'Věra', 'Lenka', 'Alena', 'Petra',\r\n 'Kateřina', 'Lucie', 'Martina', 'Veronika', 'Jitka', 'Ivana', 'Michaela',\r\n 'Helena', 'Zuzana', 'Markéta', 'Andrea', 'Monika', 'Barbora', 'Tereza', 'Nikola',\r\n 'Simona', 'Kristýna', 'Natálie', 'Adéla', 'Eliška', 'Karolína', 'Daniela'\r\n ],\r\n lastNames: [\r\n 'Novák', 'Svoboda', 'Novotný', 'Dvořák', 'Černý', 'Procházka', 'Kučera', 'Veselý',\r\n 'Horáček', 'Němec', 'Pospíšil', 'Pokorný', 'Hájek', 'Jelínek', 'Král', 'Růžička',\r\n 'Beneš', 'Fiala', 'Sedláček', 'Doležal', 'Zeman', 'Kolář', 'Navrátil', 'Čermák',\r\n 'Urban', 'Vaněk', 'Blažek', 'Krejčí', 'Moravec', 'Marek', 'Štěpánek', 'Šimek'\r\n ],\r\n streets: [\r\n 'Václavské náměstí', 'Národní třída', 'Na Příkopě', 'Pařížská ulice', 'Karlova ulice',\r\n 'Nerudova ulice', 'Revolucní', 'Spálená', 'Vinohradská', 'Jugoslávská', 'Náměstí Míru',\r\n 'Jungmannova', 'Jindřišská', 'Sokolská', 'Žitná', 'Anglická', 'Italská', 'Rumunská'\r\n ],\r\n cities: [\r\n 'Praha', 'Brno', 'Ostrava', 'Plzeň', 'Liberec', 'Olomouc', 'České Budějovice',\r\n 'Hradec Králové', 'Ústí nad Labem', 'Pardubice', 'Zlín', 'Havířov', 'Kladno',\r\n 'Most', 'Opava', 'Frýdek-Místek', 'Jihlava', 'Teplice', 'Karviná', 'Karlovy Vary',\r\n 'Děčín', 'Chomutov', 'Přerov', 'Jablonec nad Nisou', 'Mladá Boleslav', 'Prostějov'\r\n ],\r\n states: [\r\n 'Hlavní město Praha', 'Středočeský', 'Jihočeský', 'Plzeňský', 'Karlovarský',\r\n 'Ústecký', 'Liberecký', 'Královéhradecký', 'Pardubický', 'Vysočina',\r\n 'Jihomoravský', 'Olomoucký', 'Zlínský', 'Moravskoslezský'\r\n ],\r\n zipCodePattern: '### ##',\r\n jobTitles: [\r\n 'Softwarový inženýr', 'Projektový manažer', 'Datový analytik', 'Marketingový manažer',\r\n 'Obchodní zástupce', 'Účetní', 'Personalista', 'Designer', 'Provozní manažer',\r\n 'Business analytik', 'Produktový manažer', 'Správce systému', 'Kontrolor kvality'\r\n ],\r\n departments: [\r\n 'Technický', 'Marketing', 'Prodej', 'Lidské zdroje', 'Finance', 'Provoz',\r\n 'Zákaznický servis', 'IT', 'Výzkum a vývoj', 'Právní', 'Administrativa'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${street} ${number}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n const part1 = String(Random.int(100, 999));\r\n const part2 = String(Random.int(10, 99));\r\n return `${part1} ${part2}`;\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const de_AT: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Michael', 'Thomas', 'Christian', 'Andreas', 'Stefan', 'Markus', 'Alexander', 'Wolfgang',\r\n 'Florian', 'Daniel', 'Patrick', 'Mario', 'Manuel', 'Christoph', 'Philipp', 'Matthias',\r\n 'David', 'Sebastian', 'Lukas', 'Johannes', 'Marcel', 'Dominik', 'Benjamin', 'Tobias',\r\n 'Simon', 'Martin', 'Peter', 'Franz', 'Josef', 'Maximilian', 'Jakob', 'Felix'\r\n ],\r\n firstNamesFemale: [\r\n 'Anna', 'Julia', 'Sarah', 'Lisa', 'Laura', 'Katharina', 'Marie', 'Sophie', 'Lena',\r\n 'Magdalena', 'Christina', 'Nina', 'Hannah', 'Stefanie', 'Sandra', 'Daniela', 'Melanie',\r\n 'Jasmin', 'Verena', 'Elisabeth', 'Andrea', 'Maria', 'Petra', 'Sabine', 'Martina',\r\n 'Claudia', 'Eva', 'Michaela', 'Karin', 'Susanne', 'Barbara', 'Angelika'\r\n ],\r\n lastNames: [\r\n 'Müller', 'Gruber', 'Wagner', 'Huber', 'Pichler', 'Steiner', 'Moser', 'Mayer',\r\n 'Berger', 'Hofer', 'Leitner', 'Bauer', 'Schmid', 'Schneider', 'Reiter', 'Fischer',\r\n 'Weber', 'Maier', 'Schwarz', 'Eder', 'Brunner', 'Lang', 'Hoffmann', 'Binder',\r\n 'Lechner', 'Wolf', 'Koller', 'Fuchs', 'Haas', 'Wimmer', 'Egger', 'Aigner'\r\n ],\r\n streets: [\r\n 'Hauptstraße', 'Bahnhofstraße', 'Kirchenplatz', 'Marktplatz', 'Dorfstraße', 'Schulstraße',\r\n 'Wiener Straße', 'Linzer Straße', 'Salzburger Straße', 'Grazer Straße', 'Ringstraße',\r\n 'Innsbrucker Straße', 'Am Ring', 'Schönbrunner Straße', 'Mariahilfer Straße',\r\n 'Kärntner Straße', 'Graben', 'Herrengasse', 'Landstraße', 'Favoritenstraße'\r\n ],\r\n cities: [\r\n 'Wien', 'Graz', 'Linz', 'Salzburg', 'Innsbruck', 'Klagenfurt', 'Villach', 'Wels',\r\n 'Sankt Pölten', 'Dornbirn', 'Steyr', 'Wiener Neustadt', 'Feldkirch', 'Bregenz',\r\n 'Leonding', 'Klosterneuburg', 'Baden', 'Wolfsberg', 'Leoben', 'Krems', 'Traun',\r\n 'Amstetten', 'Lustenau', 'Kapfenberg', 'Mödling', 'Hallein', 'Kufstein', 'Traiskirchen'\r\n ],\r\n states: [\r\n 'Wien', 'Niederösterreich', 'Oberösterreich', 'Steiermark', 'Tirol', 'Kärnten',\r\n 'Salzburg', 'Vorarlberg', 'Burgenland'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Softwareentwickler', 'Projektmanager', 'Datenanalyst', 'Marketingleiter',\r\n 'Vertriebsmitarbeiter', 'Buchhalter', 'Personalleiter', 'Designer', 'Betriebsleiter',\r\n 'Business Analyst', 'Produktmanager', 'Systemadministrator', 'Qualitätsingenieur'\r\n ],\r\n departments: [\r\n 'Technik', 'Marketing', 'Vertrieb', 'Personalwesen', 'Finanzen', 'Betrieb',\r\n 'Kundenservice', 'IT', 'Forschung und Entwicklung', 'Recht', 'Verwaltung'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 150);\r\n const door = Random.int(1, 30);\r\n return `${street} ${number}/${door}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const de_CH: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'David', 'Luca', 'Noah', 'Leon', 'Nico', 'Jan', 'Marco', 'Lukas', 'Jonas', 'Sandro',\r\n 'Thomas', 'Michael', 'Daniel', 'Christian', 'Stefan', 'Patrick', 'Andreas', 'Markus',\r\n 'Peter', 'Martin', 'Marcel', 'Simon', 'Fabian', 'Tobias', 'Raphael', 'Samuel',\r\n 'Benjamin', 'Adrian', 'Florian', 'Dominik', 'Matthias', 'Alexander'\r\n ],\r\n firstNamesFemale: [\r\n 'Mia', 'Emma', 'Laura', 'Lara', 'Sophie', 'Anna', 'Julia', 'Sara', 'Lea', 'Nina',\r\n 'Lisa', 'Sarah', 'Melanie', 'Michelle', 'Jennifer', 'Nadine', 'Nicole', 'Stefanie',\r\n 'Andrea', 'Sandra', 'Claudia', 'Martina', 'Jasmin', 'Vanessa', 'Sabrina', 'Anja',\r\n 'Elena', 'Chiara', 'Alina', 'Elisa', 'Noemi', 'Ladina'\r\n ],\r\n lastNames: [\r\n 'Müller', 'Meier', 'Schmid', 'Keller', 'Weber', 'Huber', 'Schneider', 'Meyer',\r\n 'Steiner', 'Fischer', 'Gerber', 'Brunner', 'Baumann', 'Frei', 'Zimmermann', 'Moser',\r\n 'Widmer', 'Wyss', 'Graf', 'Roth', 'Hofmann', 'Lehmann', 'Bühler', 'Hofer',\r\n 'Suter', 'Kuhn', 'Koch', 'Blanc', 'Kohler', 'Wenger', 'Lang', 'Kaufmann'\r\n ],\r\n streets: [\r\n 'Bahnhofstrasse', 'Hauptstrasse', 'Dorfstrasse', 'Bergstrasse', 'Kirchgasse',\r\n 'Schulhausstrasse', 'Poststrasse', 'Seestrasse', 'Talstrasse', 'Gartenstrasse',\r\n 'Waldhofstrasse', 'Industriestrasse', 'Rosenweg', 'Lindenweg', 'Parkstrasse',\r\n 'Feldweg', 'Mühlestrasse', 'Brunnenweg', 'Ringstrasse', 'Zürcherstrasse'\r\n ],\r\n cities: [\r\n 'Zürich', 'Genf', 'Basel', 'Lausanne', 'Bern', 'Winterthur', 'Luzern', 'St. Gallen',\r\n 'Lugano', 'Biel', 'Thun', 'Köniz', 'La Chaux-de-Fonds', 'Schaffhausen', 'Fribourg',\r\n 'Chur', 'Vernier', 'Neuchâtel', 'Uster', 'Sion', 'Emmen', 'Zug', 'Yverdon-les-Bains',\r\n 'Kriens', 'Rapperswil-Jona', 'Dübendorf', 'Montreux', 'Frauenfeld', 'Dietikon', 'Wil'\r\n ],\r\n states: [\r\n 'Zürich', 'Bern', 'Luzern', 'Uri', 'Schwyz', 'Obwalden', 'Nidwalden', 'Glarus',\r\n 'Zug', 'Fribourg', 'Solothurn', 'Basel-Stadt', 'Basel-Landschaft', 'Schaffhausen',\r\n 'Appenzell Ausserrhoden', 'Appenzell Innerrhoden', 'St. Gallen', 'Graubünden',\r\n 'Aargau', 'Thurgau', 'Ticino', 'Vaud', 'Valais', 'Neuchâtel', 'Genève', 'Jura'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Softwareentwickler', 'Projektleiter', 'Datenanalyst', 'Marketingleiter',\r\n 'Verkäufer', 'Buchhalter', 'Personalleiter', 'Designer', 'Betriebsleiter',\r\n 'Business Analyst', 'Produktmanager', 'Systemadministrator', 'Qualitätsingenieur'\r\n ],\r\n departments: [\r\n 'Technik', 'Marketing', 'Verkauf', 'Personal', 'Finanzen', 'Betrieb',\r\n 'Kundendienst', 'IT', 'Forschung und Entwicklung', 'Recht', 'Verwaltung'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 150);\r\n return `${street} ${number}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const nl_BE: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Lars', 'Thomas', 'Lucas', 'Maxime', 'Nathan', 'Louis', 'Noah', 'Arthur', 'Victor',\r\n 'Adam', 'Mohamed', 'Nicolas', 'Alexander', 'Simon', 'Mathias', 'Robbe', 'Wout',\r\n 'Jan', 'Pieter', 'Koen', 'Bart', 'Tom', 'Kevin', 'David', 'Michael', 'Johan',\r\n 'Marc', 'Steven', 'Peter', 'Filip', 'Stijn', 'Bram'\r\n ],\r\n firstNamesFemale: [\r\n 'Emma', 'Louise', 'Marie', 'Anna', 'Laura', 'Lisa', 'Julie', 'Noor', 'Lotte',\r\n 'Sara', 'Camille', 'Charlotte', 'Ella', 'Nina', 'Fien', 'Lena', 'Amber', 'Luna',\r\n 'Sarah', 'Sophie', 'Kim', 'Elke', 'Sofie', 'Eline', 'Jana', 'Karen', 'Nathalie',\r\n 'Katrien', 'Ann', 'Veerle', 'Ellen', 'Inge'\r\n ],\r\n lastNames: [\r\n 'Peeters', 'Janssens', 'Maes', 'Jacobs', 'Mertens', 'Willems', 'Claes', 'Goossens',\r\n 'Wouters', 'De Smet', 'De Vos', 'Hermans', 'Van de Velde', 'Vermeulen', 'Dubois',\r\n 'Lambert', 'Laurent', 'Simon', 'Leroy', 'Dupont', 'Martens', 'De Wilde', 'Hendrickx',\r\n 'Michiels', 'Van den Berg', 'Pauwels', 'Stevens', 'De Clercq', 'Coppens', 'Bogaert'\r\n ],\r\n streets: [\r\n 'Grote Markt', 'Kerkstraat', 'Dorpsstraat', 'Stationsstraat', 'Hoogstraat',\r\n 'Molenstraat', 'Nieuwstraat', 'Brugsestraat', 'Antwerpsestraat', 'Brusselsestraat',\r\n 'Koning Albertlaan', 'Koningin Elisabethlaan', 'Leopold II-laan', 'Mechelsesteenweg',\r\n 'Turnhoutsebaan', 'Leuvenselaan', 'Gentsebaan', 'Gentsestraat', 'Markt', 'Burg'\r\n ],\r\n cities: [\r\n 'Brussel', 'Antwerpen', 'Gent', 'Charleroi', 'Luik', 'Brugge', 'Namen', 'Leuven',\r\n 'Bergen', 'Mechelen', 'Aalst', 'La Louvière', 'Kortrijk', 'Hasselt', 'Sint-Niklaas',\r\n 'Oostende', 'Doornik', 'Genk', 'Seraing', 'Roeselare', 'Moeskroen', 'Verviers',\r\n 'Dendermonde', 'Beringen', 'Turnhout', 'Dilbeek', 'Heist-op-den-Berg', 'Vilvoorde'\r\n ],\r\n states: [\r\n 'Antwerpen', 'Limburg', 'Oost-Vlaanderen', 'West-Vlaanderen', 'Vlaams-Brabant',\r\n 'Waals-Brabant', 'Henegouwen', 'Luik', 'Luxemburg', 'Namen', 'Brussels Hoofdstedelijk Gewest'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Software Engineer', 'Projectmanager', 'Data Analist', 'Marketingmanager',\r\n 'Verkoopvertegenwoordiger', 'Boekhouder', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analist', 'Productmanager', 'Systeembeheerder', 'Kwaliteitsingenieur'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Verkoop', 'Human Resources', 'Financiën', 'Operaties',\r\n 'Klantenservice', 'IT', 'Onderzoek en Ontwikkeling', 'Juridisch', 'Administratie'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 300);\r\n const bus = Random.boolean() ? ` bus ${Random.int(1, 50)}` : '';\r\n return `${street} ${number}${bus}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const hu_HU: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'László', 'István', 'József', 'János', 'Zoltán', 'Sándor', 'Gábor', 'Ferenc',\r\n 'Péter', 'Attila', 'Tamás', 'András', 'Balázs', 'Máté', 'Dávid', 'Ádám',\r\n 'Levente', 'Bence', 'Márk', 'Dominik', 'Norbert', 'Kristóf', 'Richárd', 'Viktor',\r\n 'Gyula', 'Imre', 'Csaba', 'Tibor', 'Mihály', 'Zsolt', 'Krisztián', 'Róbert'\r\n ],\r\n firstNamesFemale: [\r\n 'Mária', 'Erzsébet', 'Ilona', 'Katalin', 'Éva', 'Anna', 'Margit', 'Judit',\r\n 'Ágnes', 'Eszter', 'Andrea', 'Krisztina', 'Erika', 'Mónika', 'Zsuzsanna', 'Réka',\r\n 'Petra', 'Laura', 'Zsófia', 'Lilla', 'Dóra', 'Boglárka', 'Fanni', 'Viktória',\r\n 'Renáta', 'Nikolett', 'Tímea', 'Beatrix', 'Anita', 'Noémi', 'Emese', 'Orsolya'\r\n ],\r\n lastNames: [\r\n 'Nagy', 'Kovács', 'Tóth', 'Szabó', 'Horváth', 'Varga', 'Kiss', 'Molnár',\r\n 'Németh', 'Farkas', 'Balogh', 'Papp', 'Takács', 'Juhász', 'Lakatos', 'Mészáros',\r\n 'Oláh', 'Simon', 'Rácz', 'Fekete', 'Szűcs', 'Kocsis', 'Szilágyi', 'Török',\r\n 'Fehér', 'Balázs', 'Gál', 'Vincze', 'Szalai', 'Máté', 'Kozma', 'Hegedűs'\r\n ],\r\n streets: [\r\n 'Fő utca', 'Kossuth utca', 'Petőfi utca', 'Rákóczi út', 'Dózsa György út',\r\n 'Árpád utca', 'Vörösmarty utca', 'Bem utca', 'Ady Endre utca', 'József Attila utca',\r\n 'Mátyás király utca', 'Széchenyi utca', 'Deák Ferenc utca', 'Hősök tere',\r\n 'Andrássy út', 'Váci utca', 'Dohány utca', 'Nagykörút', 'Baross utca', 'Üllői út'\r\n ],\r\n cities: [\r\n 'Budapest', 'Debrecen', 'Szeged', 'Miskolc', 'Pécs', 'Győr', 'Nyíregyháza', 'Kecskemét',\r\n 'Székesfehérvár', 'Szombathely', 'Szolnok', 'Tatabánya', 'Kaposvár', 'Érd', 'Veszprém',\r\n 'Békéscsaba', 'Zalaegerszeg', 'Sopron', 'Eger', 'Nagykanizsa', 'Dunakeszi', 'Hódmezővásárhely',\r\n 'Szentendre', 'Cegléd', 'Vác', 'Gyula', 'Baja', 'Ózd', 'Salgótarján', 'Mosonmagyaróvár'\r\n ],\r\n states: [\r\n 'Budapest', 'Pest', 'Fejér', 'Komárom-Esztergom', 'Veszprém', 'Győr-Moson-Sopron',\r\n 'Vas', 'Zala', 'Baranya', 'Somogy', 'Tolna', 'Borsod-Abaúj-Zemplén', 'Heves',\r\n 'Nógrád', 'Hajdú-Bihar', 'Jász-Nagykun-Szolnok', 'Szabolcs-Szatmár-Bereg',\r\n 'Bács-Kiskun', 'Békés', 'Csongrád-Csanád'\r\n ],\r\n zipCodePattern: '####',\r\n jobTitles: [\r\n 'Szoftverfejlesztő', 'Projektvezető', 'Adatelemző', 'Marketing menedzser',\r\n 'Értékesítési képviselő', 'Könyvelő', 'HR vezető', 'Tervező', 'Üzemeltetési vezető',\r\n 'Üzleti elemző', 'Termékmenedzser', 'Rendszergazda', 'Minőségbiztosítási mérnök'\r\n ],\r\n departments: [\r\n 'Mérnöki', 'Marketing', 'Értékesítés', 'Humán erőforrás', 'Pénzügy', 'Üzemeltetés',\r\n 'Ügyfélszolgálat', 'IT', 'Kutatás-fejlesztés', 'Jogi', 'Adminisztráció'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n // Hungarian name format: Last First\r\n return `${lastName} ${firstName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n return `${zipCode} ${city}, ${street} ${number}.`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000, 9999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ro_RO: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Ion', 'Gheorghe', 'Nicolae', 'Vasile', 'Constantin', 'Andrei', 'Mihai', 'Alexandru',\r\n 'Adrian', 'Cristian', 'Florin', 'Marian', 'Daniel', 'Ionuț', 'Gabriel', 'Bogdan',\r\n 'Ștefan', 'Vlad', 'Radu', 'George', 'David', 'Cosmin', 'Dragoș', 'Ciprian',\r\n 'Sorin', 'Dan', 'Viorel', 'Petru', 'Dumitru', 'Emil', 'Liviu', 'Ovidiu'\r\n ],\r\n firstNamesFemale: [\r\n 'Maria', 'Elena', 'Ana', 'Ioana', 'Andreea', 'Alexandra', 'Mihaela', 'Cristina',\r\n 'Gabriela', 'Alina', 'Daniela', 'Monica', 'Simona', 'Diana', 'Raluca', 'Adriana',\r\n 'Laura', 'Nicoleta', 'Corina', 'Carmen', 'Oana', 'Roxana', 'Valentina', 'Camelia',\r\n 'Florentina', 'Georgeta', 'Mariana', 'Luminița', 'Silvia', 'Anca', 'Magdalena', 'Irina'\r\n ],\r\n lastNames: [\r\n 'Popescu', 'Ionescu', 'Popa', 'Radu', 'Dumitrescu', 'Georgescu', 'Stan', 'Stoica',\r\n 'Constantin', 'Munteanu', 'Dima', 'Vasile', 'Barbu', 'Preda', 'Mocanu', 'Ilie',\r\n 'Mihai', 'Dobre', 'Andrei', 'Stanciu', 'Tudor', 'Enache', 'Ștefan', 'Marin',\r\n 'Niculescu', 'Drăghici', 'Alexandru', 'Matei', 'Sandu', 'Cristea', 'Oprea', 'Munteanu'\r\n ],\r\n streets: [\r\n 'Strada Independenței', 'Bulevardul Unirii', 'Strada Republicii', 'Calea Victoriei',\r\n 'Strada Libertății', 'Bulevardul Carol I', 'Strada Mihai Viteazu', 'Strada Aviatorilor',\r\n 'Bulevardul Magheru', 'Strada Dorobanți', 'Calea Moșilor', 'Strada Lipscani',\r\n 'Bulevardul Brâncoveanu', 'Strada Obor', 'Calea Grivița', 'Bulevardul Pache Protopopescu'\r\n ],\r\n cities: [\r\n 'București', 'Cluj-Napoca', 'Timișoara', 'Iași', 'Constanța', 'Craiova', 'Brașov',\r\n 'Galați', 'Ploiești', 'Oradea', 'Brăila', 'Arad', 'Pitești', 'Sibiu', 'Bacău',\r\n 'Târgu Mureș', 'Baia Mare', 'Buzău', 'Botoșani', 'Satu Mare', 'Râmnicu Vâlcea',\r\n 'Suceava', 'Piatra Neamț', 'Drobeta-Turnu Severin', 'Focșani', 'Târgoviște', 'Tulcea'\r\n ],\r\n states: [\r\n 'București', 'Cluj', 'Timiș', 'Iași', 'Constanța', 'Dolj', 'Brașov', 'Galați',\r\n 'Prahova', 'Bihor', 'Brăila', 'Arad', 'Argeș', 'Sibiu', 'Bacău', 'Mureș',\r\n 'Maramureș', 'Buzău', 'Botoșani', 'Satu Mare', 'Vâlcea', 'Suceava', 'Neamț',\r\n 'Mehedinți', 'Vrancea', 'Dâmbovița', 'Tulcea', 'Bistrița-Năsăud', 'Caraș-Severin'\r\n ],\r\n zipCodePattern: '######',\r\n jobTitles: [\r\n 'Inginer Software', 'Manager de Proiect', 'Analist de Date', 'Manager Marketing',\r\n 'Reprezentant Vânzări', 'Contabil', 'Manager HR', 'Designer', 'Manager Operațiuni',\r\n 'Analist de Afaceri', 'Manager Produs', 'Administrator Sistem', 'Inginer Calitate'\r\n ],\r\n departments: [\r\n 'Inginerie', 'Marketing', 'Vânzări', 'Resurse Umane', 'Finanțe', 'Operațiuni',\r\n 'Servicii Clienți', 'IT', 'Cercetare și Dezvoltare', 'Juridic', 'Administrație'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const number = Random.int(1, 200);\r\n const bloc = Random.pick(['A', 'B', 'C', 'D']);\r\n const scara = Random.int(1, 4);\r\n const ap = Random.int(1, 50);\r\n return `${street} nr. ${number}, Bl. ${bloc}, Sc. ${scara}, Ap. ${ap}, ${zipCode} ${city}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(100000, 999999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ar_AE: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Mohammed', 'Ahmed', 'Abdullah', 'Sultan', 'Khalid', 'Omar', 'Ali', 'Hassan',\r\n 'Saeed', 'Rashid', 'Hamad', 'Majid', 'Fahad', 'Nasser', 'Faisal', 'Yousef',\r\n 'Ibrahim', 'Abdulrahman', 'Saud', 'Mansour', 'Talal', 'Waleed', 'Tariq', 'Zayed',\r\n 'Rashed', 'Hamdan', 'Maktoum', 'Obaid', 'Salem', 'Marwan', 'Jassim', 'Nawaf'\r\n ],\r\n firstNamesFemale: [\r\n 'Fatima', 'Aisha', 'Mariam', 'Noura', 'Sara', 'Hessa', 'Latifa', 'Shamsa',\r\n 'Moza', 'Sheikha', 'Amna', 'Salama', 'Meitha', 'Hind', 'Maryam', 'Shamma',\r\n 'Reem', 'Layla', 'Dana', 'Khawla', 'Budoor', 'Jawaher', 'Maitha', 'Mouza',\r\n 'Shaikha', 'Alia', 'Asma', 'Hanan', 'Nada', 'Noor', 'Wadha', 'Mahra'\r\n ],\r\n lastNames: [\r\n 'Al Maktoum', 'Al Nahyan', 'Al Qasimi', 'Al Sharqi', 'Al Nuaimi', 'Al Mualla',\r\n 'Al Ali', 'Al Mansouri', 'Al Shamsi', 'Al Ketbi', 'Al Kaabi', 'Al Dhaheri',\r\n 'Al Mazrouei', 'Al Hamadi', 'Al Suwaidi', 'Al Zaabi', 'Al Marzouqi', 'Al Ahbabi',\r\n 'Al Mansoori', 'Al Blooshi', 'Al Muhairi', 'Al Shehhi', 'Al Hashimi', 'Al Zarooni',\r\n 'Al Falasi', 'Al Ameri', 'Al Kindi', 'Al Marri', 'Al Yasi', 'Al Mheiri'\r\n ],\r\n streets: [\r\n 'Sheikh Zayed Road', 'Khalifa Street', 'Hamdan Street', 'Al Wasl Road', 'Jumeirah Road',\r\n 'Al Khaleej Road', 'Airport Road', 'Al Rigga Road', 'Al Maktoum Road', 'Baniyas Road',\r\n 'Sheikh Mohammed Bin Rashid Boulevard', 'Al Salam Street', 'Al Ain Road', 'Corniche Road',\r\n 'Sheikh Rashid Road', 'Al Ittihad Road', 'Al Dhafra Street', 'Marina Walk', 'The Walk JBR'\r\n ],\r\n cities: [\r\n 'Dubai', 'Abu Dhabi', 'Sharjah', 'Al Ain', 'Ajman', 'Ras Al Khaimah', 'Fujairah',\r\n 'Umm Al Quwain', 'Khor Fakkan', 'Dibba', 'Kalba', 'Jebel Ali', 'Al Dhaid',\r\n 'Madinat Zayed', 'Liwa', 'Ghayathi', 'Ruwais', 'Al Mirfa', 'Mezaira'\r\n ],\r\n states: [\r\n 'Dubai', 'Abu Dhabi', 'Sharjah', 'Ajman', 'Umm Al Quwain', 'Ras Al Khaimah', 'Fujairah'\r\n ],\r\n zipCodePattern: '',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.pick(['Tower', 'Building', 'Plaza', 'Centre']);\r\n const buildingName = Random.pick(['Al Barsha', 'Marina', 'Downtown', 'Business Bay']);\r\n const office = Random.int(100, 999);\r\n return `Office ${office}, ${buildingName} ${building}, ${street}, ${city}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return ''; // UAE doesn't use postal codes\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ar_SA: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Mohammed', 'Abdullah', 'Fahd', 'Khalid', 'Faisal', 'Mansour', 'Saud', 'Abdulaziz',\r\n 'Turki', 'Sultan', 'Salman', 'Nasser', 'Talal', 'Bandar', 'Mishal', 'Abdulrahman',\r\n 'Yousef', 'Ahmed', 'Ali', 'Omar', 'Hassan', 'Saad', 'Faris', 'Rakan', 'Nawaf',\r\n 'Majed', 'Hamad', 'Waleed', 'Tariq', 'Rashid', 'Ibrahim', 'Ziyad'\r\n ],\r\n firstNamesFemale: [\r\n 'Noura', 'Sarah', 'Maha', 'Hessa', 'Lulwa', 'Latifa', 'Abeer', 'Reem', 'Hind',\r\n 'Jawaher', 'Mona', 'Amal', 'Deema', 'Lama', 'Nada', 'Hanan', 'Ghada', 'Basma',\r\n 'Arwa', 'Reema', 'Maryam', 'Fatima', 'Nora', 'Layla', 'Dana', 'Sama', 'Rana',\r\n 'Asma', 'Raghad', 'Wafa', 'Anoud', 'Atheer'\r\n ],\r\n lastNames: [\r\n 'Al Saud', 'Al Otaibi', 'Al Ghamdi', 'Al Zahrani', 'Al Harbi', 'Al Qahtani',\r\n 'Al Shehri', 'Al Malki', 'Al Dosari', 'Al Mutairi', 'Al Rashid', 'Al Saeed',\r\n 'Al Mansour', 'Al Juhani', 'Al Anazi', 'Al Shamrani', 'Al Subai', 'Al Yami',\r\n 'Al Faisal', 'Al Turki', 'Al Khalifa', 'Al Abdulaziz', 'Al Thani', 'Al Dawsari',\r\n 'Al Shaalan', 'Al Balawi', 'Al Ahmadi', 'Al Sulaiman', 'Al Mubarak', 'Al Hamad'\r\n ],\r\n streets: [\r\n 'King Fahd Road', 'King Abdullah Road', 'King Abdulaziz Road', 'Olaya Street',\r\n 'Tahlia Street', 'Madinah Road', 'Makkah Road', 'Al Urubah Road', 'Prince Mohammed Road',\r\n 'King Khalid Road', 'Al Malaz Street', 'Al Imam Saud Road', 'Al Amir Sultan Road',\r\n 'Corniche Road', 'Airport Road', 'Al Kharj Road', 'Riyadh Park Road', 'King Saud Road'\r\n ],\r\n cities: [\r\n 'Riyadh', 'Jeddah', 'Makkah', 'Madinah', 'Dammam', 'Khobar', 'Dhahran', 'Jubail',\r\n 'Tabuk', 'Abha', 'Khamis Mushait', 'Buraidah', 'Hail', 'Najran', 'Yanbu', 'Jazan',\r\n 'Al Ahsa', 'Taif', 'Qatif', 'Al Kharj', 'Ras Tanura', 'Hafar Al Batin', 'Arar', 'Sakaka'\r\n ],\r\n states: [\r\n 'Riyadh', 'Makkah', 'Madinah', 'Eastern Province', 'Asir', 'Tabuk', 'Qassim',\r\n 'Hail', 'Northern Borders', 'Jazan', 'Najran', 'Al Bahah', 'Al Jouf'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const district = Random.pick(['Al Malaz', 'Al Olaya', 'Al Naseem', 'Al Salamah', 'Al Rawdah']);\r\n const buildingNumber = Random.int(1000, 9999);\r\n return `Building ${buildingNumber}, ${district}, ${street}, ${city} ${zipCode}, ${state}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const ar_EG: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'Mohamed', 'Ahmed', 'Mahmoud', 'Ali', 'Omar', 'Youssef', 'Hassan', 'Amr',\r\n 'Khaled', 'Ibrahim', 'Mustafa', 'Osama', 'Tamer', 'Hossam', 'Karim', 'Tarek',\r\n 'Sherif', 'Adel', 'Walid', 'Ashraf', 'Magdy', 'Hazem', 'Hany', 'Ayman',\r\n 'Ramy', 'Wael', 'Essam', 'Medhat', 'Samir', 'Fathy', 'Samy', 'Nabil'\r\n ],\r\n firstNamesFemale: [\r\n 'Fatma', 'Mona', 'Nour', 'Mariam', 'Sara', 'Nada', 'Heba', 'Aya', 'Salma',\r\n 'Yasmin', 'Rana', 'Layla', 'Hala', 'Dina', 'Rania', 'Amira', 'Eman', 'Noha',\r\n 'Sahar', 'Nagwa', 'Manal', 'Somaya', 'Ghada', 'Amal', 'Nawal', 'Hanan',\r\n 'Maha', 'Samira', 'Hanaa', 'Rabab', 'Soha', 'Menna'\r\n ],\r\n lastNames: [\r\n 'Mohamed', 'Ahmed', 'Ali', 'Hassan', 'Ibrahim', 'Mahmoud', 'Youssef', 'Abdel Rahman',\r\n 'Abdel Aziz', 'Abdel Fattah', 'Abdel Hamid', 'El Sayed', 'El Shahat', 'Khalil',\r\n 'Mostafa', 'Salah', 'Fouad', 'Rashad', 'Farouk', 'Shawky', 'Refaat', 'Abdallah',\r\n 'El Sherbiny', 'El Maghraby', 'El Masry', 'El Naggar', 'El Sisi', 'El Din', 'Mansour'\r\n ],\r\n streets: [\r\n 'Tahrir Street', 'Ramses Street', 'Salah Salem Street', 'Mohamed Farid Street',\r\n 'Qasr El Nil Street', 'Talaat Harb Street', 'El Haram Street', 'Nasr Road',\r\n 'Makram Ebeid Street', 'Mostafa El Nahhas Street', 'El Geish Street', 'El Nozha Street',\r\n 'Abbas El Akkad Street', 'Ahmed Orabi Street', 'Port Said Street', 'October Bridge'\r\n ],\r\n cities: [\r\n 'Cairo', 'Alexandria', 'Giza', 'Shubra El Kheima', 'Port Said', 'Suez', 'Luxor',\r\n 'Mansoura', 'El Mahalla El Kubra', 'Tanta', 'Asyut', 'Ismailia', 'Faiyum', 'Zagazig',\r\n 'Aswan', 'Damietta', 'Damanhur', 'Minya', 'Beni Suef', 'Qena', 'Sohag', 'Hurghada',\r\n 'Kafr El Sheikh', 'Arish', 'Mallawi', '6th of October City', 'Sharm El Sheikh'\r\n ],\r\n states: [\r\n 'Cairo', 'Alexandria', 'Giza', 'Qalyubia', 'Port Said', 'Suez', 'Luxor',\r\n 'Dakahlia', 'Gharbia', 'Sharqia', 'Asyut', 'Ismailia', 'Faiyum', 'Beheira',\r\n 'Aswan', 'Damietta', 'Minya', 'Beni Suef', 'Qena', 'Sohag', 'Red Sea',\r\n 'Kafr El Sheikh', 'North Sinai', 'South Sinai', 'Matruh', 'New Valley'\r\n ],\r\n zipCodePattern: '#####',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.int(1, 999);\r\n const floor = Random.int(1, 12);\r\n const apartment = Random.int(1, 50);\r\n return `Building ${building}, Floor ${floor}, Apartment ${apartment}, ${street}, ${city}, ${state} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(10000, 99999));\r\n }\r\n};","import { LocaleDefinition } from '../types';\r\nimport { Random } from '../core/random';\r\n\r\nexport const he_IL: LocaleDefinition = {\r\n firstNamesMale: [\r\n 'David', 'Moshe', 'Yosef', 'Daniel', 'Uri', 'Avi', 'Amit', 'Or', 'Yonatan', 'Eitan',\r\n 'Noam', 'Itai', 'Rotem', 'Lior', 'Omri', 'Alon', 'Yuval', 'Gal', 'Idan', 'Nir',\r\n 'Ariel', 'Ben', 'Shai', 'Yair', 'Tom', 'Adam', 'Tomer', 'Dor', 'Oren', 'Elad',\r\n 'Chen', 'Ran', 'Roi', 'Omer'\r\n ],\r\n firstNamesFemale: [\r\n 'Sarah', 'Miriam', 'Rachel', 'Tamar', 'Noa', 'Shira', 'Maya', 'Yael', 'Hila',\r\n 'Dana', 'Tal', 'Lihi', 'Noga', 'Adi', 'Roni', 'Noy', 'Shani', 'Mia', 'Ella',\r\n 'Yarden', 'Lian', 'Agam', 'Rotem', 'Lior', 'Amit', 'Carmel', 'Talia', 'Neta',\r\n 'Efrat', 'Gal', 'Inbar', 'Avigail', 'Chen'\r\n ],\r\n lastNames: [\r\n 'Cohen', 'Levy', 'Mizrahi', 'Peretz', 'Biton', 'Dahan', 'Avraham', 'Friedman',\r\n 'Azoulay', 'Yosef', 'Katz', 'Kaplan', 'Ben David', 'Ben Ami', 'Malka', 'Shapiro',\r\n 'Amar', 'Ohana', 'Elkayam', 'Golan', 'Goldberg', 'Stein', 'Schwartz', 'Levi',\r\n 'Ben Haim', 'Abuksis', 'Israeli', 'Sharon', 'Barak', 'Shalom', 'Weiss', 'Klein'\r\n ],\r\n streets: [\r\n 'Dizengoff Street', 'Rothschild Boulevard', 'Ben Yehuda Street', 'Allenby Street',\r\n 'King George Street', 'Jaffa Road', 'HaYarkon Street', 'Sderot Ben Gurion',\r\n 'Herzl Street', 'Weizmann Street', 'Basel Street', 'Nordau Boulevard', 'Ibn Gvirol Street',\r\n 'Rabin Square', 'Carmel Market', 'Neve Tzedek', 'Florentin', 'Sarona'\r\n ],\r\n cities: [\r\n 'Jerusalem', 'Tel Aviv', 'Haifa', 'Rishon LeZion', 'Petah Tikva', 'Ashdod', 'Netanya',\r\n 'Beer Sheva', 'Holon', 'Bnei Brak', 'Ramat Gan', 'Rehovot', 'Bat Yam', 'Ashkelon',\r\n 'Herzliya', 'Kfar Saba', 'Hadera', 'Modi\\'in', 'Nazareth', 'Lod', 'Ramla', 'Nahariya',\r\n 'Rosh HaAyin', 'Givatayim', 'Kiryat Ata', 'Raanana', 'Acre', 'Eilat'\r\n ],\r\n states: [\r\n 'Jerusalem', 'Tel Aviv', 'Haifa', 'Central', 'Southern', 'Northern', 'Judea and Samaria'\r\n ],\r\n zipCodePattern: '#######',\r\n jobTitles: [\r\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\r\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\r\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\r\n ],\r\n departments: [\r\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\r\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\r\n ],\r\n metricSystem: 'metric',\r\n\r\n formatFullName(firstName: string, lastName: string): string {\r\n return `${firstName} ${lastName}`;\r\n },\r\n\r\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\r\n const building = Random.int(1, 200);\r\n const apartment = Random.int(1, 50);\r\n return `${street} ${building}, Apt ${apartment}, ${city} ${zipCode}`;\r\n },\r\n\r\n generateZipCode(): string {\r\n return String(Random.int(1000000, 9999999));\r\n }\r\n};","import { Mimic } from './core/mimic';\r\nimport { localeRegistry } from './core/registry';\r\n\r\n// Import existing locales\r\nimport { en_US } from './locales/en_US';\r\nimport { ja_JP } from './locales/ja_JP';\r\nimport { id_ID } from './locales/id_ID';\r\nimport { de_DE } from './locales/de_DE';\r\nimport { fr_FR } from './locales/fr_FR';\r\nimport { pt_BR } from './locales/pt_BR';\r\nimport { ko_KR } from './locales/ko_KR';\r\nimport { en_AU } from './locales/en_AU';\r\n\r\n// Import new locales (20 original)\r\nimport { zh_CN } from './locales/zh_CN';\r\nimport { en_IN } from './locales/en_IN';\r\nimport { es_MX } from './locales/es_MX';\r\nimport { it_IT } from './locales/it_IT';\r\nimport { es_ES } from './locales/es_ES';\r\nimport { nl_NL } from './locales/nl_NL';\r\nimport { en_CA } from './locales/en_CA';\r\nimport { en_GB } from './locales/en_GB';\r\nimport { ru_RU } from './locales/ru_RU';\r\nimport { pl_PL } from './locales/pl_PL';\r\nimport { tr_TR } from './locales/tr_TR';\r\nimport { sv_SE } from './locales/sv_SE';\r\nimport { nb_NO } from './locales/nb_NO';\r\nimport { da_DK } from './locales/da_DK';\r\nimport { fi_FI } from './locales/fi_FI';\r\nimport { es_AR } from './locales/es_AR';\r\nimport { es_CL } from './locales/es_CL';\r\nimport { th_TH } from './locales/th_TH';\r\nimport { vi_VN } from './locales/vi_VN';\r\nimport { ms_MY } from './locales/ms_MY';\r\n\r\n// Import newest locales (16 additional)\r\nimport { en_SG } from './locales/en_SG';\r\nimport { en_PH } from './locales/en_PH';\r\nimport { en_NZ } from './locales/en_NZ';\r\nimport { en_ZA } from './locales/en_ZA';\r\nimport { pt_PT } from './locales/pt_PT';\r\nimport { el_GR } from './locales/el_GR';\r\nimport { cs_CZ } from './locales/cs_CZ';\r\nimport { de_AT } from './locales/de_AT';\r\nimport { de_CH } from './locales/de_CH';\r\nimport { nl_BE } from './locales/nl_BE';\r\nimport { hu_HU } from './locales/hu_HU';\r\nimport { ro_RO } from './locales/ro_RO';\r\nimport { ar_AE } from './locales/ar_AE';\r\nimport { ar_SA } from './locales/ar_SA';\r\nimport { ar_EG } from './locales/ar_EG';\r\nimport { he_IL } from './locales/he_IL';\r\n\r\n// Export types\r\nexport type {\r\n Gender,\r\n MetricSystem,\r\n PersonData,\r\n AddressData,\r\n PhysicalData,\r\n WorkData,\r\n AgeRange,\r\n LocaleData,\r\n LocaleDefinition\r\n} from './types';\r\n\r\n// Export core classes\r\nexport { Mimic } from './core/mimic';\r\nexport { Random } from './core/random';\r\nexport { localeRegistry } from './core/registry';\r\n\r\n/**\r\n * ============================================\r\n * AUTO-REGISTRATION OF LOCALES\r\n * ============================================\r\n * Register all locales with their aliases\r\n */\r\n\r\n// Original 8 locales\r\nlocaleRegistry.register('en_US', en_US, ['en', 'us', 'usa']);\r\nlocaleRegistry.register('ja_JP', ja_JP, ['ja', 'jp', 'japan']);\r\nlocaleRegistry.register('id_ID', id_ID, ['id', 'indonesia']);\r\nlocaleRegistry.register('de_DE', de_DE, ['de', 'germany', 'deutsch']);\r\nlocaleRegistry.register('fr_FR', fr_FR, ['fr', 'france']);\r\nlocaleRegistry.register('pt_BR', pt_BR, ['pt', 'br', 'brazil', 'brasil']);\r\nlocaleRegistry.register('ko_KR', ko_KR, ['ko', 'kr', 'korea']);\r\nlocaleRegistry.register('en_AU', en_AU, ['au', 'aus', 'australia']);\r\n\r\n// New 20 locales\r\nlocaleRegistry.register('zh_CN', zh_CN, ['zh', 'cn', 'china']);\r\nlocaleRegistry.register('en_IN', en_IN, ['in', 'india']);\r\nlocaleRegistry.register('es_MX', es_MX, ['mx', 'mexico']);\r\nlocaleRegistry.register('it_IT', it_IT, ['it', 'italy', 'italia']);\r\nlocaleRegistry.register('es_ES', es_ES, ['es', 'spain', 'españa']);\r\nlocaleRegistry.register('nl_NL', nl_NL, ['nl', 'netherlands', 'holland']);\r\nlocaleRegistry.register('en_CA', en_CA, ['ca', 'canada']);\r\nlocaleRegistry.register('en_GB', en_GB, ['gb', 'uk', 'britain']);\r\nlocaleRegistry.register('ru_RU', ru_RU, ['ru', 'russia']);\r\nlocaleRegistry.register('pl_PL', pl_PL, ['pl', 'poland', 'polska']);\r\nlocaleRegistry.register('tr_TR', tr_TR, ['tr', 'turkey', 'turkiye']);\r\nlocaleRegistry.register('sv_SE', sv_SE, ['sv', 'se', 'sweden', 'sverige']);\r\nlocaleRegistry.register('nb_NO', nb_NO, ['no', 'norway', 'norge']);\r\nlocaleRegistry.register('da_DK', da_DK, ['da', 'dk', 'denmark', 'danmark']);\r\nlocaleRegistry.register('fi_FI', fi_FI, ['fi', 'finland', 'suomi']);\r\nlocaleRegistry.register('es_AR', es_AR, ['ar', 'argentina']);\r\nlocaleRegistry.register('es_CL', es_CL, ['cl', 'chile']);\r\nlocaleRegistry.register('th_TH', th_TH, ['th', 'thailand']);\r\nlocaleRegistry.register('vi_VN', vi_VN, ['vi', 'vn', 'vietnam']);\r\nlocaleRegistry.register('ms_MY', ms_MY, ['ms', 'my', 'malaysia']);\r\n\r\n// Newest 16 locales\r\nlocaleRegistry.register('en_SG', en_SG, ['sg', 'singapore']);\r\nlocaleRegistry.register('en_PH', en_PH, ['ph', 'philippines']);\r\nlocaleRegistry.register('en_NZ', en_NZ, ['nz', 'new-zealand']);\r\nlocaleRegistry.register('en_ZA', en_ZA, ['za', 'south-africa']);\r\nlocaleRegistry.register('pt_PT', pt_PT, ['portugal']);\r\nlocaleRegistry.register('el_GR', el_GR, ['el', 'gr', 'greece']);\r\nlocaleRegistry.register('cs_CZ', cs_CZ, ['cs', 'cz', 'czech']);\r\nlocaleRegistry.register('de_AT', de_AT, ['at', 'austria']);\r\nlocaleRegistry.register('de_CH', de_CH, ['ch', 'switzerland']);\r\nlocaleRegistry.register('nl_BE', nl_BE, ['be', 'belgium']);\r\nlocaleRegistry.register('hu_HU', hu_HU, ['hu', 'hungary']);\r\nlocaleRegistry.register('ro_RO', ro_RO, ['ro', 'romania']);\r\nlocaleRegistry.register('ar_AE', ar_AE, ['ae', 'uae', 'emirates']);\r\nlocaleRegistry.register('ar_SA', ar_SA, ['sa', 'saudi', 'saudi-arabia']);\r\nlocaleRegistry.register('ar_EG', ar_EG, ['eg', 'egypt']);\r\nlocaleRegistry.register('he_IL', he_IL, ['he', 'il', 'israel']);\r\n\r\n/**\r\n * Factory function to create Mimic instance with specified locale\r\n */\r\nexport function createMimic(locale: string = 'en_US'): Mimic {\r\n const localeDefinition = localeRegistry.get(locale);\r\n \r\n if (!localeDefinition) {\r\n const available = localeRegistry.getAllCodes().join(', ');\r\n throw new Error(\r\n `Locale '${locale}' not found.\\n` +\r\n `Available locales: ${available}`\r\n );\r\n }\r\n \r\n return new Mimic(localeDefinition);\r\n}\r\n\r\n/**\r\n * Get available main locale codes\r\n */\r\nexport function getAvailableLocales(): string[] {\r\n return localeRegistry.getAvailableLocales();\r\n}\r\n\r\n/**\r\n * Get all codes (locales + aliases)\r\n */\r\nexport function getAllLocaleCodes(): string[] {\r\n return localeRegistry.getAllCodes();\r\n}\r\n\r\n/**\r\n * Export all locale definitions for advanced usage\r\n */\r\nexport const locales = {\r\n // Original\r\n en_US, ja_JP, id_ID, de_DE, fr_FR, pt_BR, ko_KR, en_AU,\r\n // New (20)\r\n zh_CN, en_IN, es_MX, it_IT, es_ES, nl_NL, en_CA, en_GB,\r\n ru_RU, pl_PL, tr_TR, sv_SE, nb_NO, da_DK, fi_FI,\r\n es_AR, es_CL, th_TH, vi_VN, ms_MY,\r\n // Newest (16)\r\n en_SG, en_PH, en_NZ, en_ZA, pt_PT, el_GR, cs_CZ, de_AT,\r\n de_CH, nl_BE, hu_HU, ro_RO, ar_AE, ar_SA, ar_EG, he_IL\r\n};\r\n\r\n// Default export\r\nexport default createMimic;"]}
1
+ {"version":3,"sources":["../src/core/random.ts","../src/core/mimic.ts","../src/core/registry.ts","../src/locales/en_US.ts","../src/locales/ja_JP.ts","../src/locales/id_ID.ts","../src/locales/de_DE.ts","../src/locales/fr_FR.ts","../src/locales/pt_BR.ts","../src/locales/ko_KR.ts","../src/locales/en_AU.ts","../src/locales/zh_CN.ts","../src/locales/en_IN.ts","../src/locales/es_MX.ts","../src/locales/it_IT.ts","../src/locales/es_ES.ts","../src/locales/nl_NL.ts","../src/locales/en_CA.ts","../src/locales/en_GB.ts","../src/locales/ru_RU.ts","../src/locales/pl_PL.ts","../src/locales/tr_TR.ts","../src/locales/sv_SE.ts","../src/locales/nb_NO.ts","../src/locales/da_DK.ts","../src/locales/fi_FI.ts","../src/locales/es_AR.ts","../src/locales/es_CL.ts","../src/locales/th_TH.ts","../src/locales/vi_VN.ts","../src/locales/ms_MY.ts","../src/locales/en_SG.ts","../src/locales/en_PH.ts","../src/locales/en_NZ.ts","../src/locales/en_ZA.ts","../src/locales/pt_PT.ts","../src/locales/el_GR.ts","../src/locales/cs_CZ.ts","../src/locales/de_AT.ts","../src/locales/de_CH.ts","../src/locales/nl_BE.ts","../src/locales/hu_HU.ts","../src/locales/ro_RO.ts","../src/locales/ar_AE.ts","../src/locales/ar_SA.ts","../src/locales/ar_EG.ts","../src/locales/he_IL.ts","../src/locales/uk_UA.ts","../src/locales/sk_SK.ts","../src/locales/hr_HR.ts","../src/locales/rs_RS.ts","../src/locales/lt_LT.ts","../src/locales/lv_LV.ts","../src/locales/et_EE.ts","../src/locales/bg_BG.ts","../src/locales/is_IS.ts","../src/locales/ng_NG.ts","../src/locales/ke_KE.ts","../src/locales/pk_PK.ts","../src/locales/bd_BD.ts","../src/locales/ir_IR.ts","../src/locales/ma_MA.ts","../src/locales/co_CO.ts","../src/locales/pe_PE.ts","../src/locales/ve_VE.ts","../src/locales/gt_GT.ts","../src/locales/cr_CR.ts","../src/locales/tw_TW.ts","../src/index.ts"],"sourcesContent":["/**\n * Seeded random number generator using Mulberry32 algorithm\n * Provides reproducible random sequences for testing\n */\nexport class Random {\n private static seedValue: number | null = null;\n\n /**\n * Initialize seeded random with a specific seed\n * Call this to reproduce the same random sequence\n * @param seed - Number seed for reproducible randomness\n */\n static seed(seed: number): void {\n this.seedValue = seed;\n }\n\n /**\n * Reset to native Math.random() (non-deterministic)\n */\n static unseed(): void {\n this.seedValue = null;\n }\n\n /**\n * Get random number (seeded or native)\n */\n private static random(): number {\n if (this.seedValue !== null) {\n // Mulberry32 algorithm\n this.seedValue |= 0;\n this.seedValue = (this.seedValue + 0x6D2B79F5) | 0;\n let t = Math.imul(this.seedValue ^ (this.seedValue >>> 15), 1 | this.seedValue);\n t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296;\n }\n return Math.random();\n }\n\n /**\n * Get random integer between min and max (inclusive)\n */\n static int(min: number, max: number): number {\n return Math.floor(this.random() * (max - min + 1)) + min;\n }\n\n /**\n * Get random float between min and max\n */\n static float(min: number, max: number, decimals: number = 2): number {\n const value = this.random() * (max - min) + min;\n return Number(value.toFixed(decimals));\n }\n\n /**\n * Get random boolean\n */\n static boolean(): boolean {\n return this.random() >= 0.5;\n }\n\n /**\n * Get random element from array\n */\n static pick<T>(array: T[]): T {\n return array[Math.floor(this.random() * array.length)];\n }\n\n /**\n * Shuffle array (Fisher-Yates algorithm)\n */\n static shuffle<T>(array: T[]): T[] {\n const result = [...array];\n for (let i = result.length - 1; i > 0; i--) {\n const j = Math.floor(this.random() * (i + 1));\n [result[i], result[j]] = [result[j], result[i]];\n }\n return result;\n }\n\n /**\n * Generate multiple random values at once\n */\n static multiple<T>(generator: () => T, count: number): T[] {\n const results: T[] = [];\n for (let i = 0; i < count; i++) {\n results.push(generator());\n }\n return results;\n }\n\n /**\n * Generate unique random values (no duplicates)\n */\n static unique<T>(generator: () => T, count: number, maxAttempts: number = 1000): T[] {\n const results = new Set<T>();\n let attempts = 0;\n\n while (results.size < count && attempts < maxAttempts) {\n results.add(generator());\n attempts++;\n }\n\n if (results.size < count) {\n throw new Error(\n `Could not generate ${count} unique values after ${maxAttempts} attempts. ` +\n 'The generator may have insufficient variety.'\n );\n }\n\n return Array.from(results);\n }\n}\n","import { LocaleDefinition, Gender, PersonData, AddressData, PhysicalData, WorkData, AgeRange, ContactData, CompanyData } from '../types';\nimport { Random } from './random';\n\nexport class Mimic {\n private locale: LocaleDefinition;\n private identityCache: ReturnType<typeof this.createIdentity> | null = null;\n private locationCache: ReturnType<typeof this.createLocation> | null = null;\n private physicalCache: ReturnType<typeof this.createPhysical> | null = null;\n private workCache: ReturnType<typeof this.createWork> | null = null;\n\n constructor(locale: LocaleDefinition) {\n this.locale = locale;\n }\n\n /**\n * Update the locale and clear caches\n */\n setLocale(locale: LocaleDefinition): void {\n this.locale = locale;\n this.clearCaches();\n }\n\n /**\n * Clear all cached generators\n */\n private clearCaches(): void {\n this.identityCache = null;\n this.locationCache = null;\n this.physicalCache = null;\n this.workCache = null;\n }\n\n /**\n * Create identity generator (cached)\n */\n private createIdentity() {\n const self = this;\n return {\n firstName: (gender?: Gender): string => {\n const genderChoice = gender || Random.pick(['male', 'female'] as Gender[]);\n return genderChoice === 'male'\n ? Random.pick(self.locale.firstNamesMale)\n : Random.pick(self.locale.firstNamesFemale);\n },\n\n lastName: (): string => {\n return Random.pick(self.locale.lastNames);\n },\n\n fullName: (gender?: Gender): string => {\n const genderChoice = gender || Random.pick(['male', 'female'] as Gender[]);\n const firstName = genderChoice === 'male'\n ? Random.pick(self.locale.firstNamesMale)\n : Random.pick(self.locale.firstNamesFemale);\n const lastName = Random.pick(self.locale.lastNames);\n return self.locale.formatFullName(firstName, lastName);\n },\n\n gender: (): Gender => {\n return Random.pick(['male', 'female'] as Gender[]);\n },\n\n age: (range?: AgeRange): number => {\n const min = range?.min ?? 18;\n const max = range?.max ?? 65;\n return Random.int(min, max);\n },\n\n dateOfBirth: (range?: AgeRange): Date => {\n const age = self.identity.age(range);\n const currentYear = new Date().getFullYear();\n const birthYear = currentYear - age;\n const month = Random.int(0, 11);\n const day = Random.int(1, 28);\n return new Date(birthYear, month, day);\n },\n\n person: (gender?: Gender, ageRange?: AgeRange): PersonData => {\n const genderChoice = gender || Random.pick(['male', 'female'] as Gender[]);\n const firstName = genderChoice === 'male'\n ? Random.pick(self.locale.firstNamesMale)\n : Random.pick(self.locale.firstNamesFemale);\n const lastName = Random.pick(self.locale.lastNames);\n const ageVal = self.identity.age(ageRange);\n const currentYear = new Date().getFullYear();\n const birthYear = currentYear - ageVal;\n const month = Random.int(0, 11);\n const day = Random.int(1, 28);\n\n return {\n firstName,\n lastName,\n fullName: self.locale.formatFullName(firstName, lastName),\n gender: genderChoice,\n age: ageVal,\n dateOfBirth: new Date(birthYear, month, day)\n };\n },\n\n /**\n * Generate multiple persons at once\n */\n persons: (count: number, gender?: Gender, ageRange?: AgeRange): PersonData[] => {\n return Random.multiple(() => self.identity.person(gender, ageRange), count);\n },\n\n /**\n * Generate unique persons (no duplicate full names)\n */\n uniquePersons: (count: number, gender?: Gender, ageRange?: AgeRange): PersonData[] => {\n return Random.unique(() => self.identity.person(gender, ageRange), count);\n }\n };\n }\n\n /**\n * Identity generator (cached accessor)\n */\n get identity(): ReturnType<typeof this.createIdentity> {\n if (!this.identityCache) {\n this.identityCache = this.createIdentity();\n }\n return this.identityCache;\n }\n\n /**\n * Create location generator (cached)\n */\n private createLocation() {\n const self = this;\n return {\n street: (): string => {\n return Random.pick(self.locale.streets);\n },\n\n city: (): string => {\n return Random.pick(self.locale.cities);\n },\n\n state: (): string => {\n return Random.pick(self.locale.states);\n },\n\n zipCode: (): string => {\n return self.locale.generateZipCode();\n },\n\n fullAddress: (): string => {\n const street = Random.pick(self.locale.streets);\n const city = Random.pick(self.locale.cities);\n const state = Random.pick(self.locale.states);\n const zipCode = self.locale.generateZipCode();\n return self.locale.formatAddress(street, city, state, zipCode);\n },\n\n address: (): AddressData => {\n const street = Random.pick(self.locale.streets);\n const city = Random.pick(self.locale.cities);\n const state = Random.pick(self.locale.states);\n const zipCode = self.locale.generateZipCode();\n\n return {\n street,\n city,\n state,\n zipCode,\n fullAddress: self.locale.formatAddress(street, city, state, zipCode)\n };\n },\n\n /**\n * Generate multiple addresses at once\n */\n addresses: (count: number): AddressData[] => {\n return Random.multiple(() => self.location.address(), count);\n },\n\n /**\n * Generate unique addresses (no duplicate full addresses)\n */\n uniqueAddresses: (count: number): AddressData[] => {\n return Random.unique(() => self.location.address(), count);\n }\n };\n }\n\n /**\n * Location generator (cached accessor)\n */\n get location(): ReturnType<typeof this.createLocation> {\n if (!this.locationCache) {\n this.locationCache = this.createLocation();\n }\n return this.locationCache;\n }\n\n /**\n * Create physical data generator (cached)\n */\n private createPhysical() {\n const self = this;\n return {\n height: (): PhysicalData => {\n if (self.locale.metricSystem === 'metric') {\n const height = Random.int(150, 190);\n return {\n height,\n weight: 0,\n heightUnit: 'cm',\n weightUnit: 'kg'\n };\n } else {\n const height = Random.float(4.9, 6.3, 1);\n return {\n height,\n weight: 0,\n heightUnit: 'ft',\n weightUnit: 'lb'\n };\n }\n },\n\n weight: (): PhysicalData => {\n if (self.locale.metricSystem === 'metric') {\n const weight = Random.int(45, 100);\n return {\n height: 0,\n weight,\n heightUnit: 'cm',\n weightUnit: 'kg'\n };\n } else {\n const weight = Random.int(100, 220);\n return {\n height: 0,\n weight,\n heightUnit: 'ft',\n weightUnit: 'lb'\n };\n }\n },\n\n data: (): PhysicalData => {\n if (self.locale.metricSystem === 'metric') {\n return {\n height: Random.int(150, 190),\n weight: Random.int(45, 100),\n heightUnit: 'cm',\n weightUnit: 'kg'\n };\n } else {\n return {\n height: Random.float(4.9, 6.3, 1),\n weight: Random.int(100, 220),\n heightUnit: 'ft',\n weightUnit: 'lb'\n };\n }\n },\n\n /**\n * Generate multiple physical data at once\n */\n datas: (count: number): PhysicalData[] => {\n return Random.multiple(() => self.physical.data(), count);\n }\n };\n }\n\n /**\n * Physical data generator (cached accessor)\n */\n get physical(): ReturnType<typeof this.createPhysical> {\n if (!this.physicalCache) {\n this.physicalCache = this.createPhysical();\n }\n return this.physicalCache;\n }\n\n /**\n * Create work data generator (cached)\n */\n private createWork() {\n const self = this;\n return {\n jobTitle: (): string => {\n return Random.pick(self.locale.jobTitles);\n },\n\n department: (): string => {\n return Random.pick(self.locale.departments);\n },\n\n data: (): WorkData => {\n return {\n jobTitle: Random.pick(self.locale.jobTitles),\n department: Random.pick(self.locale.departments)\n };\n },\n\n /**\n * Generate multiple work data at once\n */\n datas: (count: number): WorkData[] => {\n return Random.multiple(() => self.work.data(), count);\n },\n\n /**\n * Generate unique job titles\n */\n uniqueJobTitles: (count: number): string[] => {\n return Random.unique(() => self.work.jobTitle(), count);\n },\n\n /**\n * Generate unique departments\n */\n uniqueDepartments: (count: number): string[] => {\n return Random.unique(() => self.work.department(), count);\n }\n };\n }\n\n /**\n * Work data generator (cached accessor)\n */\n get work(): ReturnType<typeof this.createWork> {\n if (!this.workCache) {\n this.workCache = this.createWork();\n }\n return this.workCache;\n }\n\n /**\n * Create contact generator (cached)\n */\n private createContact() {\n const self = this;\n return {\n email: (firstName?: string, lastName?: string): string => {\n const name = firstName && lastName\n ? `${firstName}.${lastName}`\n : firstName\n ? firstName\n : self.identity.firstName();\n const domain = self.locale.emailDomains?.length\n ? Random.pick(self.locale.emailDomains)\n : Random.pick(['gmail.com', 'yahoo.com', 'outlook.com', 'hotmail.com']);\n const randomNum = Random.int(1, 999);\n return `${name.toLowerCase()}${randomNum}@${domain}`;\n },\n\n phone: (): string => {\n if (self.locale.phoneFormats?.length) {\n const format = Random.pick(self.locale.phoneFormats);\n return self.formatPhoneNumber(format);\n }\n // Default US format\n return `+1 (${Random.int(200, 999)}) ${Random.int(200, 999)}-${Random.int(1000, 9999)}`;\n },\n\n website: (companyName?: string): string => {\n const name = companyName || self.company.name();\n const domain = name.toLowerCase().replace(/[^a-z0-9]/g, '-');\n const tld = Random.pick(['.com', '.net', '.org', '.io', '.co']);\n return `www.${domain}${tld}`;\n },\n\n data: (firstName?: string, lastName?: string): ContactData => {\n return {\n email: self.contact.email(firstName, lastName),\n phone: self.contact.phone(),\n website: self.contact.website()\n };\n },\n\n /**\n * Generate multiple contact data at once\n */\n datas: (count: number): ContactData[] => {\n return Random.multiple(() => self.contact.data(), count);\n }\n };\n }\n\n /**\n * Contact generator (cached accessor)\n */\n get contact(): ReturnType<typeof this.createContact> {\n return this.createContact();\n }\n\n /**\n * Create company generator (cached)\n */\n private createCompany() {\n const self = this;\n return {\n name: (): string => {\n if (self.locale.companyNames?.length) {\n return Random.pick(self.locale.companyNames);\n }\n const prefixes = ['Tech', 'Global', 'Smart', 'Digital', 'Inno', 'Data', 'Cloud', 'Net', 'Cyber', 'Quantum'];\n const suffixes = ['ify', 'ly', 'hub', 'lab', 'box', 'flow', 'sync', 'grid', 'wave', 'spark'];\n const types = ['Tech', 'Solutions', 'Systems', 'Corp', 'Inc', 'Group', 'Labs', 'Works', 'Studio', 'Dynamics'];\n return `${Random.pick(prefixes)}${Random.pick(suffixes)} ${Random.pick(types)}`;\n },\n\n industry: (): string => {\n if (self.locale.industries?.length) {\n return Random.pick(self.locale.industries);\n }\n const industries = [\n 'Technology', 'Finance', 'Healthcare', 'Education', 'Retail',\n 'Manufacturing', 'Media', 'Telecommunications', 'Energy', 'Transportation',\n 'Real Estate', 'Consulting', 'Hospitality', 'Automotive', 'Aerospace'\n ];\n return Random.pick(industries);\n },\n\n catchPhrase: (): string => {\n if (self.locale.catchPhrases?.length) {\n return Random.pick(self.locale.catchPhrases);\n }\n const verbs = ['Empower', 'Transform', 'Revolutionize', 'Innovate', 'Optimize', 'Streamline', 'Accelerate', 'Maximize'];\n const nouns = ['solutions', 'experiences', 'processes', 'outcomes', 'potential', 'growth', 'success', 'future'];\n const adjectives = ['innovative', 'cutting-edge', 'seamless', 'intelligent', 'dynamic', 'scalable', 'sustainable', 'next-generation'];\n return `${Random.pick(verbs)} ${Random.pick(adjectives)} ${Random.pick(nouns)}`;\n },\n\n data: (): CompanyData => {\n return {\n name: self.company.name(),\n industry: self.company.industry(),\n catchPhrase: self.company.catchPhrase()\n };\n },\n\n /**\n * Generate multiple company data at once\n */\n datas: (count: number): CompanyData[] => {\n return Random.multiple(() => self.company.data(), count);\n }\n };\n }\n\n /**\n * Company generator (cached accessor)\n */\n get company(): ReturnType<typeof this.createCompany> {\n return this.createCompany();\n }\n\n /**\n * Format phone number from pattern\n */\n private formatPhoneNumber(format: string): string {\n return format.replace(/#/g, () => String(Random.int(0, 9)));\n }\n\n /**\n * Generate complete mock data for multiple entities\n */\n generateMockEntities(count: number, options?: {\n gender?: Gender;\n ageRange?: AgeRange;\n }): Array<PersonData & AddressData & PhysicalData & WorkData> {\n const { gender, ageRange } = options || {};\n \n return Random.multiple(() => ({\n ...this.identity.person(gender, ageRange),\n ...this.location.address(),\n ...this.physical.data(),\n ...this.work.data()\n }), count);\n }\n\n /**\n * Generate unique mock entities (no duplicate full names)\n */\n generateUniqueMockEntities(count: number, options?: {\n gender?: Gender;\n ageRange?: AgeRange;\n }): Array<PersonData & AddressData & PhysicalData & WorkData> {\n const { gender, ageRange } = options || {};\n \n return Random.unique(() => ({\n ...this.identity.person(gender, ageRange),\n ...this.location.address(),\n ...this.physical.data(),\n ...this.work.data()\n }), count);\n }\n}\n","import { LocaleDefinition } from '../types';\r\n\r\n/**\r\n * Locale Registry untuk manajemen locale yang efisien\r\n * Mendukung lazy loading dan auto-registration\r\n */\r\nclass LocaleRegistry {\r\n private locales: Map<string, LocaleDefinition> = new Map();\r\n private aliases: Map<string, string> = new Map();\r\n\r\n /**\r\n * Register locale baru\r\n * @param code - Kode locale utama (contoh: 'en_US')\r\n * @param definition - Definisi locale\r\n * @param aliasesArray - Array alias untuk locale ini (contoh: ['en', 'us'])\r\n */\r\n register(\r\n code: string,\r\n definition: LocaleDefinition,\r\n aliasesArray: string[] = []\r\n ): void {\r\n this.locales.set(code, definition);\r\n \r\n // Register aliases\r\n for (const alias of aliasesArray) {\r\n this.aliases.set(alias, code);\r\n }\r\n }\r\n\r\n /**\r\n * Get locale definition\r\n * @param code - Kode locale atau alias\r\n * @returns LocaleDefinition atau undefined\r\n */\r\n get(code: string): LocaleDefinition | undefined {\r\n // Cek langsung di locales\r\n if (this.locales.has(code)) {\r\n return this.locales.get(code);\r\n }\r\n \r\n // Cek di aliases\r\n const mainCode = this.aliases.get(code);\r\n if (mainCode) {\r\n return this.locales.get(mainCode);\r\n }\r\n \r\n return undefined;\r\n }\r\n\r\n /**\r\n * Check apakah locale tersedia\r\n */\r\n has(code: string): boolean {\r\n return this.locales.has(code) || this.aliases.has(code);\r\n }\r\n\r\n /**\r\n * Get semua locale yang tersedia\r\n */\r\n getAvailableLocales(): string[] {\r\n return Array.from(this.locales.keys());\r\n }\r\n\r\n /**\r\n * Get semua aliases yang tersedia\r\n */\r\n getAvailableAliases(): string[] {\r\n return Array.from(this.aliases.keys());\r\n }\r\n\r\n /**\r\n * Get semua kode (locale + aliases)\r\n */\r\n getAllCodes(): string[] {\r\n return [\r\n ...this.getAvailableLocales(),\r\n ...this.getAvailableAliases()\r\n ];\r\n }\r\n}\r\n\r\n// Singleton instance\r\nexport const localeRegistry = new LocaleRegistry();","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const en_US: LocaleDefinition = {\n firstNamesMale: [\n 'James', 'John', 'Robert', 'Michael', 'William', 'David', 'Richard', 'Joseph',\n 'Thomas', 'Christopher', 'Daniel', 'Matthew', 'Anthony', 'Mark', 'Donald',\n 'Steven', 'Andrew', 'Paul', 'Joshua', 'Kenneth', 'Kevin', 'Brian', 'George',\n 'Timothy', 'Ronald', 'Edward', 'Jason', 'Jeffrey', 'Ryan', 'Jacob', 'Gary',\n 'Nicholas', 'Eric', 'Jonathan', 'Stephen', 'Larry', 'Justin', 'Scott', 'Brandon',\n 'Benjamin', 'Samuel', 'Raymond', 'Gregory', 'Alexander', 'Patrick', 'Frank',\n 'Dennis', 'Jerry', 'Tyler', 'Aaron', 'Jose', 'Adam', 'Nathan', 'Douglas',\n 'Zachary', 'Peter', 'Kyle', 'Noah', 'Ethan', 'Jeremy', 'Christian', 'Walter'\n ],\n firstNamesFemale: [\n 'Mary', 'Patricia', 'Jennifer', 'Linda', 'Barbara', 'Elizabeth', 'Susan',\n 'Jessica', 'Sarah', 'Karen', 'Lisa', 'Nancy', 'Betty', 'Margaret', 'Sandra',\n 'Ashley', 'Kimberly', 'Emily', 'Donna', 'Michelle', 'Carol', 'Amanda', 'Dorothy',\n 'Melissa', 'Deborah', 'Stephanie', 'Rebecca', 'Sharon', 'Laura', 'Cynthia',\n 'Kathleen', 'Amy', 'Angela', 'Shirley', 'Anna', 'Brenda', 'Pamela', 'Emma',\n 'Nicole', 'Helen', 'Samantha', 'Katherine', 'Christine', 'Debra', 'Rachel',\n 'Carolyn', 'Janet', 'Catherine', 'Maria', 'Heather', 'Diane', 'Ruth', 'Julie',\n 'Olivia', 'Joyce', 'Virginia', 'Victoria', 'Kelly', 'Lauren', 'Christina'\n ],\n lastNames: [\n 'Smith', 'Johnson', 'Williams', 'Brown', 'Jones', 'Garcia', 'Miller', 'Davis',\n 'Rodriguez', 'Martinez', 'Hernandez', 'Lopez', 'Gonzalez', 'Wilson', 'Anderson',\n 'Thomas', 'Taylor', 'Moore', 'Jackson', 'Martin', 'Lee', 'Perez', 'Thompson',\n 'White', 'Harris', 'Sanchez', 'Clark', 'Ramirez', 'Lewis', 'Robinson', 'Walker',\n 'Young', 'Allen', 'King', 'Wright', 'Scott', 'Torres', 'Nguyen', 'Hill', 'Flores',\n 'Green', 'Adams', 'Nelson', 'Baker', 'Hall', 'Rivera', 'Campbell', 'Mitchell',\n 'Carter', 'Roberts', 'Gomez', 'Phillips', 'Evans', 'Turner', 'Diaz', 'Parker',\n 'Cruz', 'Edwards', 'Collins', 'Reyes', 'Stewart', 'Morris', 'Morales', 'Murphy'\n ],\n streets: [\n 'Main Street', 'Oak Avenue', 'Maple Drive', 'Cedar Lane', 'Elm Street',\n 'Washington Boulevard', 'Lake View Drive', 'Park Avenue', 'Hill Road',\n 'Forest Lane', 'River Road', 'Sunset Boulevard', 'First Avenue', 'Second Street',\n 'Third Avenue', 'Pine Street', 'Walnut Avenue', 'Cherry Lane', 'Spring Street',\n 'Church Road', 'Market Street', 'Broadway', 'Madison Avenue', 'Lincoln Street',\n 'Jefferson Avenue', 'Franklin Street', 'Highland Avenue', 'Prospect Street',\n 'Valley Road', 'Ridge Road', 'Summit Avenue', 'Grove Street', 'Pearl Street'\n ],\n cities: [\n 'New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix', 'Philadelphia',\n 'San Antonio', 'San Diego', 'Dallas', 'San Jose', 'Austin', 'Jacksonville',\n 'Fort Worth', 'Columbus', 'Charlotte', 'San Francisco', 'Indianapolis', 'Seattle',\n 'Denver', 'Boston', 'Nashville', 'Detroit', 'Portland', 'Las Vegas', 'Memphis',\n 'Louisville', 'Baltimore', 'Milwaukee', 'Albuquerque', 'Tucson', 'Fresno',\n 'Sacramento', 'Kansas City', 'Mesa', 'Atlanta', 'Omaha', 'Colorado Springs',\n 'Raleigh', 'Miami', 'Long Beach', 'Virginia Beach', 'Oakland', 'Minneapolis'\n ],\n states: [\n 'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado',\n 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho',\n 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana',\n 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi',\n 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey',\n 'New Mexico', 'New York', 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma',\n 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota',\n 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington',\n 'West Virginia', 'Wisconsin', 'Wyoming'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'Human Resources Manager', 'Designer',\n 'Operations Manager', 'Business Analyst', 'Financial Analyst', 'Product Manager',\n 'Systems Administrator', 'Customer Service Representative', 'Quality Assurance Engineer',\n 'Technical Writer', 'Database Administrator', 'Network Engineer', 'UX Designer',\n 'Content Writer', 'Executive Assistant', 'Account Manager', 'DevOps Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\n ],\n metricSystem: 'imperial',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const houseNumber = Random.int(1, 9999);\n return `${houseNumber} ${street}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '(###) ###-####',\n '###-###-####',\n '###.###.####',\n '+1 (###) ###-####',\n '1-###-###-####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com', 'outlook.com', 'hotmail.com', 'aol.com',\n 'icloud.com', 'protonmail.com', 'mail.com', 'zoho.com', 'yandex.com'\n ],\n\n companyNames: [\n 'Acme Corp', 'Globex Corporation', 'Soylent Corp', 'Initech', 'Umbrella Corporation',\n 'Stark Industries', 'Wayne Enterprises', 'Cyberdyne Systems', 'Massive Dynamic',\n 'Hooli', 'Vehement Capital Partners', 'Bluth Company', 'Dunder Mifflin',\n 'Stark Industries', 'Wonka Industries', 'Stark Industries', 'Stark Industries'\n ],\n\n industries: [\n 'Technology', 'Finance', 'Healthcare', 'Education', 'Retail',\n 'Manufacturing', 'Media', 'Telecommunications', 'Energy', 'Transportation',\n 'Real Estate', 'Consulting', 'Hospitality', 'Automotive', 'Aerospace'\n ],\n\n catchPhrases: [\n 'Innovating tomorrow, today', 'Your success is our business', 'Building the future together',\n 'Empowering possibilities', 'Transforming ideas into reality', 'Excellence in every detail',\n 'Where quality meets innovation', 'Driving progress through technology',\n 'Your partner in growth', 'Making the impossible possible'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ja_JP: LocaleDefinition = {\n // Nama keluarga Jepang (姓)\n lastNames: [\n 'Satou', 'Suzuki', 'Takahashi', 'Tanaka', 'Watanabe', 'Itou', 'Yamamoto',\n 'Nakamura', 'Kobayashi', 'Katou', 'Yoshida', 'Yamada', 'Sasaki', 'Yamaguchi',\n 'Matsumoto', 'Inoue', 'Kimura', 'Hayashi', 'Shimizu', 'Yamazaki', 'Mori',\n 'Abe', 'Ikeda', 'Hashimoto', 'Yamashita', 'Ishikawa', 'Nakajima', 'Maeda',\n 'Fujita', 'Ogawa', 'Gotou', 'Okada', 'Hasegawa', 'Murakami', 'Kondou',\n 'Ishii', 'Saitou', 'Sakamoto', 'Endou', 'Fujii', 'Nishimura', 'Fukuda',\n 'Ootani', 'Miura', 'Okamoto', 'Matsuda', 'Nakano', 'Harada'\n ],\n // Nama depan pria (男性名)\n firstNamesMale: [\n 'Hiroshi', 'Takeshi', 'Kenji', 'Kazuo', 'Masao', 'Toshio', 'Minoru',\n 'Makoto', 'Satoshi', 'Yuji', 'Koji', 'Takashi', 'Shinji', 'Hideki',\n 'Masashi', 'Kenichi', 'Yuki', 'Haruki', 'Daiki', 'Ryouta', 'Shou',\n 'Kaito', 'Hayato', 'Souta', 'Yuuto', 'Kouki', 'Ren', 'Haruto',\n 'Akira', 'Ryuu', 'Tatsuya', 'Daisuke', 'Naoki', 'Tomoya', 'Shun',\n 'Ryousuke', 'Kenta', 'Yousuke', 'Taichi', 'Yuuma', 'Shouta', 'Riku'\n ],\n // Nama depan wanita (女性名)\n firstNamesFemale: [\n 'Yuko', 'Keiko', 'Kumiko', 'Sachiko', 'Yoshiko', 'Kazuko', 'Michiko',\n 'Akiko', 'Noriko', 'Yuki', 'Emi', 'Aiko', 'Mayumi', 'Naoko', 'Tomoko',\n 'Yuka', 'Ayumi', 'Haruka', 'Miho', 'Maki', 'Sakura', 'Hana', 'Yui',\n 'Rina', 'Nana', 'Ami', 'Mei', 'Momoka', 'Hina', 'Aoi', 'Mio',\n 'Nanami', 'Riko', 'Kana', 'Ayaka', 'Akari', 'Yuna', 'Sara', 'Miyu',\n 'Honoka', 'Koharu', 'Himari', 'Miku', 'Rin', 'Saki', 'Hinata'\n ],\n streets: [\n 'Chuo-dori', 'Sakura-dori', 'Midori-cho', 'Higashi-cho', 'Nishi-cho',\n 'Minami-cho', 'Kita-cho', 'Honcho', 'Miyuki-dori', 'Ekimae-dori',\n 'Showa-dori', 'Taisho-dori', 'Heisei-dori', 'Reiwa-dori', 'Yanagi-cho',\n 'Matsu-cho', 'Take-cho', 'Ume-cho', 'Momo-cho', 'Kiku-cho', 'Tsubaki-cho',\n 'Fuji-cho', 'Asahi-cho', 'Hoshi-cho', 'Tsuki-cho', 'Sora-cho', 'Umi-cho'\n ],\n cities: [\n 'Tokyo', 'Yokohama', 'Osaka', 'Nagoya', 'Sapporo', 'Fukuoka', 'Kobe',\n 'Kyoto', 'Kawasaki', 'Saitama', 'Hiroshima', 'Sendai', 'Chiba', 'Kitakyushu',\n 'Sakai', 'Niigata', 'Hamamatsu', 'Kumamoto', 'Sagamihara', 'Shizuoka',\n 'Okayama', 'Kagoshima', 'Hachioji', 'Matsuyama', 'Utsunomiya', 'Matsudo'\n ],\n // Prefektur Jepang (都道府県)\n states: [\n 'Tokyo', 'Osaka', 'Kyoto', 'Hokkaido', 'Aichi', 'Fukuoka', 'Kanagawa',\n 'Saitama', 'Chiba', 'Hyogo', 'Hiroshima', 'Miyagi', 'Niigata', 'Shizuoka',\n 'Okayama', 'Kumamoto', 'Kagoshima', 'Nagano', 'Gifu', 'Fukushima', 'Gunma',\n 'Ibaraki', 'Tochigi', 'Mie', 'Nara', 'Wakayama', 'Shiga', 'Yamanashi',\n 'Ishikawa', 'Toyama', 'Fukui', 'Yamaguchi', 'Ehime', 'Kagawa', 'Tokushima',\n 'Kochi', 'Saga', 'Nagasaki', 'Oita', 'Miyazaki', 'Okinawa', 'Aomori',\n 'Iwate', 'Akita', 'Yamagata', 'Tottori', 'Shimane'\n ],\n zipCodePattern: '###-####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Sales Manager', 'Accountant',\n 'HR Manager', 'Marketing Specialist', 'Data Analyst', 'Designer',\n 'Operations Manager', 'Business Analyst', 'System Administrator',\n 'Product Manager', 'Customer Support', 'Quality Assurance Engineer',\n 'Technical Writer', 'Database Administrator', 'Network Engineer'\n ],\n departments: [\n 'Engineering', 'Sales', 'Marketing', 'Human Resources', 'Finance',\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\n 'Legal', 'Administration', 'Quality Assurance'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n // Format Jepang: Nama Keluarga + Nama Depan\n return `${lastName} ${firstName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n // Format alamat Jepang: 〒Kode Pos, Prefektur, Kota, Jalan, Nomor\n const choume = Random.int(1, 5);\n const banchi = Random.int(1, 20);\n const gou = Random.int(1, 30);\n return `〒${zipCode} ${state}, ${city}, ${street} ${choume}-${banchi}-${gou}`;\n },\n\n generateZipCode(): string {\n const part1 = String(Random.int(100, 999));\n const part2 = String(Random.int(1000, 9999));\n return `${part1}-${part2}`;\n },\n\n phoneFormats: [\n '+81-##-####-####',\n '0#-####-####',\n '0##-###-####',\n '0###-##-####',\n '090-####-####',\n '080-####-####',\n '070-####-####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.co.jp', 'outlook.com', 'hotmail.co.jp',\n 'docomo.ne.jp', 'au.com', 'softbank.ne.jp', 'ezweb.ne.jp',\n 'excite.co.jp', 'livedoor.com', 'goo.ne.jp', 'nifty.com'\n ],\n\n companyNames: [\n 'トヨタ自動車', 'ソニーグループ', 'キーエンス', 'ファーストリテイリング',\n '日本電信電話', '三菱商事', '三井物産', '伊藤忠商事', '住友商事',\n '丸紅', '双日', '豊田通商', '本田技研工業', '日産自動車', 'マツダ',\n 'パナソニック', '東芝', '日立製作所', '富士通', 'NEC', 'シャープ'\n ],\n\n industries: [\n '技術', '金融', '医療', '教育', '小売',\n '製造', 'メディア', '通信', 'エネルギー', '運輸',\n '不動産', 'コンサルティング', 'ホテル', '自動車', '航空宇宙'\n ],\n\n catchPhrases: [\n '未来を創造する', 'お客様の成功が私たちの使命', '共に未来を築く',\n '品質と信頼', '革新と伝統', '最高のサービスをお届け',\n '持続可能な成長', '価値を創出する', 'あなたのパートナー'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const id_ID: LocaleDefinition = {\n firstNamesMale: [\n 'Budi', 'Ahmad', 'Agus', 'Andi', 'Bambang', 'Dedi', 'Eko', 'Hadi',\n 'Iwan', 'Joko', 'Rudi', 'Slamet', 'Teguh', 'Wawan', 'Yudi', 'Rizki',\n 'Fajar', 'Bayu', 'Dimas', 'Arif', 'Indra', 'Gunawan', 'Hendra', 'Firman',\n 'Aditya', 'Putra', 'Gilang', 'Yoga', 'Rama', 'Satria', 'Wahyu', 'Rizal',\n 'Firdaus', 'Ilham', 'Ridwan', 'Surya', 'Akbar', 'Pratama', 'Nugroho'\n ],\n firstNamesFemale: [\n 'Siti', 'Dewi', 'Ani', 'Sri', 'Ratna', 'Rina', 'Endang', 'Fitri',\n 'Diah', 'Yuni', 'Wati', 'Ayu', 'Indah', 'Maya', 'Lestari', 'Putri',\n 'Sari', 'Rini', 'Tuti', 'Nur', 'Lia', 'Dian', 'Ika', 'Nia', 'Mega',\n 'Andini', 'Citra', 'Kartika', 'Puspita', 'Cahaya', 'Anggraini', 'Permata',\n 'Safitri', 'Rahayu', 'Maharani', 'Pratiwi', 'Kusuma', 'Melati', 'Zahra'\n ],\n lastNames: [\n 'Santoso', 'Wijaya', 'Susanto', 'Pranowo', 'Saputra', 'Kurniawan', 'Wibowo',\n 'Prasetyo', 'Hidayat', 'Setiawan', 'Nugroho', 'Hakim', 'Gunawan', 'Firmansyah',\n 'Budiman', 'Hermawan', 'Putra', 'Cahyadi', 'Utomo', 'Suharto', 'Handoko',\n 'Kusuma', 'Rahmat', 'Irawan', 'Sinaga', 'Sitorus', 'Sihotang', 'Simanjuntak',\n 'Tampubolon', 'Nababan', 'Manurung', 'Siregar', 'Panjaitan', 'Pasaribu',\n 'Hasibuan', 'Sembiring', 'Tarigan', 'Lubis', 'Nasution', 'Situmorang',\n 'Pardede', 'Simbolon', 'Silalahi', 'Aritonang', 'Simatupang', 'Hutapea'\n ],\n streets: [\n 'Jl. Merdeka', 'Jl. Sudirman', 'Jl. Gatot Subroto', 'Jl. Ahmad Yani',\n 'Jl. Diponegoro', 'Jl. Veteran', 'Jl. Pahlawan', 'Jl. Hayam Wuruk',\n 'Jl. Gajah Mada', 'Jl. Kartini', 'Jl. Proklamasi', 'Jl. Kemerdekaan',\n 'Jl. Imam Bonjol', 'Jl. Pemuda', 'Jl. Pattimura', 'Jl. Sisingamangaraja',\n 'Jl. Thamrin', 'Jl. Rasuna Said', 'Jl. MT Haryono', 'Jl. Basuki Rahmat',\n 'Jl. Wolter Monginsidi', 'Jl. Teuku Umar', 'Jl. Cut Nyak Dien', 'Jl. Majapahit'\n ],\n cities: [\n 'Jakarta', 'Surabaya', 'Bandung', 'Medan', 'Semarang', 'Makassar', 'Palembang',\n 'Tangerang', 'Depok', 'Bekasi', 'Bogor', 'Yogyakarta', 'Malang', 'Batam',\n 'Pekanbaru', 'Bandar Lampung', 'Padang', 'Denpasar', 'Samarinda', 'Banjarmasin',\n 'Pontianak', 'Balikpapan', 'Jambi', 'Manado', 'Mataram', 'Kupang', 'Ambon'\n ],\n states: [\n 'DKI Jakarta', 'Jawa Barat', 'Jawa Tengah', 'Jawa Timur', 'Banten',\n 'Sumatera Utara', 'Sumatera Barat', 'Sumatera Selatan', 'Riau', 'Lampung',\n 'Kepulauan Riau', 'Bangka Belitung', 'Jambi', 'Bengkulu', 'Aceh',\n 'Kalimantan Barat', 'Kalimantan Tengah', 'Kalimantan Selatan', 'Kalimantan Timur',\n 'Kalimantan Utara', 'Sulawesi Utara', 'Sulawesi Tengah', 'Sulawesi Selatan',\n 'Sulawesi Tenggara', 'Gorontalo', 'Sulawesi Barat', 'Bali', 'Nusa Tenggara Barat',\n 'Nusa Tenggara Timur', 'Maluku', 'Maluku Utara', 'Papua', 'Papua Barat',\n 'DI Yogyakarta'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Akuntan', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Financial Analyst', 'Product Manager', 'System Administrator',\n 'Customer Service', 'Quality Assurance Engineer', 'Technical Writer',\n 'Database Administrator', 'Network Engineer', 'Content Writer', 'Account Manager'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 999);\n const rt = Random.int(1, 20);\n const rw = Random.int(1, 15);\n return `${street} No. ${number}, RT ${rt}/RW ${rw}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+62 ###-####-####',\n '08##-####-####',\n '(021) ####-####',\n '021-####-####',\n '+62 (###) ###-####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com', 'outlook.com', 'hotmail.com',\n 'icloud.com', 'protonmail.com', 'mail.com',\n 'gmail.co.id', 'yahoo.co.id', 'plasa.com', 'telkom.net'\n ],\n\n companyNames: [\n 'PT Astra International', 'PT Telkom Indonesia', 'PT Bank Central Asia',\n 'PT Unilever Indonesia', 'PT Indofood Sukses Makmur', 'PT Garuda Indonesia',\n 'PT Pertamina', 'PT Bank Mandiri', 'PT Bukit Asam', 'PT Freeport Indonesia',\n 'PT Gudang Garam', 'PT Djarum', 'PT HM Sampoerna', 'PT Kalbe Farma',\n 'PT XL Axiata', 'PT Indosat Ooredoo', 'PT Gojek Indonesia', 'PT Traveloka'\n ],\n\n industries: [\n 'Teknologi', 'Keuangan', 'Kesehatan', 'Pendidikan', 'Retail',\n 'Manufaktur', 'Media', 'Telekomunikasi', 'Energi', 'Transportasi',\n 'Properti', 'Konsultasi', 'Perhotelan', 'Otomotif', 'Pertambangan'\n ],\n\n catchPhrases: [\n 'Inovasi untuk masa depan', 'Solusi terbaik untuk Anda', 'Membangun bersama menuju sukses',\n 'Kualitas terbaik, pelayanan prima', 'Mitra terpercaya Anda', 'Menghadirkan kemudahan',\n 'Solusi digital untuk kehidupan', 'Bersama meraih kesuksesan', 'Komitmen untuk keunggulan'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const de_DE: LocaleDefinition = {\n firstNamesMale: [\n 'Lukas', 'Leon', 'Tim', 'Paul', 'Jonas', 'Finn', 'Noah', 'Felix',\n 'Elias', 'Ben', 'Luca', 'Maximilian', 'Jan', 'Niklas', 'Tom', 'Moritz',\n 'Max', 'Julian', 'David', 'Alexander', 'Simon', 'Fabian', 'Tobias',\n 'Sebastian', 'Philipp', 'Florian', 'Kevin', 'Christian', 'Daniel',\n 'Michael', 'Stefan', 'Thomas', 'Andreas', 'Matthias', 'Markus', 'Peter',\n 'Klaus', 'Wolfgang', 'Jürgen', 'Hans', 'Dieter', 'Helmut', 'Werner'\n ],\n firstNamesFemale: [\n 'Emma', 'Mia', 'Hannah', 'Sofia', 'Anna', 'Emilia', 'Lina', 'Marie',\n 'Sophia', 'Lena', 'Lea', 'Leonie', 'Amelie', 'Laura', 'Lisa', 'Luisa',\n 'Sarah', 'Julia', 'Katharina', 'Nina', 'Jana', 'Michelle', 'Christina',\n 'Vanessa', 'Jessica', 'Jennifer', 'Sandra', 'Stefanie', 'Melanie',\n 'Andrea', 'Petra', 'Sabine', 'Susanne', 'Martina', 'Monika', 'Birgit',\n 'Claudia', 'Karin', 'Angelika', 'Ingrid', 'Helga', 'Gisela', 'Ursula'\n ],\n lastNames: [\n 'Müller', 'Schmidt', 'Schneider', 'Fischer', 'Weber', 'Meyer', 'Wagner',\n 'Becker', 'Schulz', 'Hoffmann', 'Schäfer', 'Koch', 'Bauer', 'Richter',\n 'Klein', 'Wolf', 'Schröder', 'Neumann', 'Schwarz', 'Zimmermann', 'Braun',\n 'Krüger', 'Hofmann', 'Hartmann', 'Lange', 'Schmitt', 'Werner', 'Schmitz',\n 'Krause', 'Meier', 'Lehmann', 'Schmid', 'Schulze', 'Maier', 'Köhler',\n 'Herrmann', 'König', 'Walter', 'Mayer', 'Huber', 'Kaiser', 'Fuchs',\n 'Peters', 'Lang', 'Scholz', 'Möller', 'Weiß', 'Jung', 'Hahn', 'Schubert'\n ],\n streets: [\n 'Hauptstraße', 'Bahnhofstraße', 'Gartenstraße', 'Schulstraße', 'Dorfstraße',\n 'Kirchstraße', 'Bergstraße', 'Waldstraße', 'Schillerstraße', 'Goethestraße',\n 'Lindenstraße', 'Parkstraße', 'Mozartstraße', 'Beethovenstraße', 'Bachstraße',\n 'Kantstraße', 'Lessingstraße', 'Fichtestraße', 'Schubertstraße', 'Brahmsstraße',\n 'Friedrichstraße', 'Wilhelmstraße', 'Marktstraße', 'Kaiserstraße', 'Poststraße',\n 'Ringstraße', 'Am Markt', 'Rosenstraße', 'Birkenweg', 'Ahornweg'\n ],\n cities: [\n 'Berlin', 'Hamburg', 'München', 'Köln', 'Frankfurt', 'Stuttgart', 'Düsseldorf',\n 'Dortmund', 'Essen', 'Leipzig', 'Bremen', 'Dresden', 'Hannover', 'Nürnberg',\n 'Duisburg', 'Bochum', 'Wuppertal', 'Bielefeld', 'Bonn', 'Münster', 'Karlsruhe',\n 'Mannheim', 'Augsburg', 'Wiesbaden', 'Gelsenkirchen', 'Mönchengladbach',\n 'Braunschweig', 'Chemnitz', 'Kiel', 'Aachen', 'Halle', 'Magdeburg', 'Freiburg',\n 'Krefeld', 'Lübeck', 'Oberhausen', 'Erfurt', 'Mainz', 'Rostock', 'Kassel'\n ],\n states: [\n 'Baden-Württemberg', 'Bayern', 'Berlin', 'Brandenburg', 'Bremen',\n 'Hamburg', 'Hessen', 'Mecklenburg-Vorpommern', 'Niedersachsen',\n 'Nordrhein-Westfalen', 'Rheinland-Pfalz', 'Saarland', 'Sachsen',\n 'Sachsen-Anhalt', 'Schleswig-Holstein', 'Thüringen'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Software Engineer', 'Projektmanager', 'Datenanalyst', 'Marketing Manager',\n 'Vertriebsmitarbeiter', 'Buchhalter', 'Personalleiter', 'Designer',\n 'Betriebsleiter', 'Business Analyst', 'Finanzanalyst', 'Produktmanager',\n 'Systemadministrator', 'Kundenbetreuer', 'Quality Assurance Engineer',\n 'Technischer Redakteur', 'Datenbankadministrator', 'Netzwerkingenieur'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Vertrieb', 'Personalwesen', 'Finanzen',\n 'Betrieb', 'Kundenservice', 'IT', 'Forschung und Entwicklung',\n 'Recht', 'Produktmanagement', 'Design', 'Qualitätssicherung', 'Verwaltung'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const houseNumber = Random.int(1, 200);\n return `${street} ${houseNumber}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+49 (###) #######',\n '0### ########',\n '0#### #######',\n '+49 (0)### ########',\n '01## #######'\n ],\n\n emailDomains: [\n 'gmail.com', 'web.de', 'gmx.de', 't-online.de', 'yahoo.de',\n 'hotmail.de', 'outlook.de', 'mail.de', 'freenet.de', '1und1.de'\n ],\n\n companyNames: [\n 'Volkswagen AG', 'Siemens AG', 'BMW AG', 'Mercedes-Benz AG', 'Bosch GmbH',\n 'SAP SE', 'Deutsche Bank AG', 'Allianz SE', 'BASF SE', 'Adidas AG',\n 'Deutsche Telekom AG', 'Audi AG', 'Deutsche Post AG', 'Bayer AG', 'Henkel AG'\n ],\n\n industries: [\n 'Technologie', 'Finanzen', 'Gesundheitswesen', 'Bildung', 'Einzelhandel',\n 'Fertigung', 'Medien', 'Telekommunikation', 'Energie', 'Transport',\n 'Immobilien', 'Beratung', 'Gastgewerbe', 'Automobil', 'Luftfahrt'\n ],\n\n catchPhrases: [\n 'Innovation für die Zukunft', 'Ihr Erfolg ist unser Geschäft', 'Gemeinsam die Zukunft gestalten',\n 'Qualität made in Germany', 'Vertrauen und Kompetenz', 'Exzellenz in jedem Detail',\n 'Nachhaltig und zuverlässig', 'Präzision und Innovation', 'Ihr Partner für Wachstum'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const fr_FR: LocaleDefinition = {\n firstNamesMale: [\n 'Gabriel', 'Raphaël', 'Léo', 'Louis', 'Lucas', 'Adam', 'Arthur', 'Hugo',\n 'Jules', 'Maël', 'Noah', 'Tom', 'Nathan', 'Ethan', 'Paul', 'Théo',\n 'Pierre', 'Jean', 'Marc', 'François', 'Michel', 'Nicolas', 'Antoine',\n 'Philippe', 'Jacques', 'Christophe', 'Olivier', 'Julien', 'David',\n 'Alexandre', 'Sébastien', 'Laurent', 'Guillaume', 'Maxime', 'Benjamin',\n 'Thomas', 'Vincent', 'Daniel', 'Patrick', 'Christian', 'Bernard', 'André'\n ],\n firstNamesFemale: [\n 'Emma', 'Léa', 'Chloé', 'Manon', 'Camille', 'Zoé', 'Sarah', 'Lola',\n 'Inès', 'Jade', 'Louise', 'Lina', 'Rose', 'Alice', 'Juliette', 'Clara',\n 'Marie', 'Sophie', 'Isabelle', 'Julie', 'Nathalie', 'Caroline', 'Laura',\n 'Émilie', 'Pauline', 'Charlotte', 'Lucie', 'Céline', 'Marine', 'Sandra',\n 'Valérie', 'Sylvie', 'Catherine', 'Martine', 'Christine', 'Françoise',\n 'Monique', 'Nicole', 'Véronique', 'Brigitte', 'Dominique', 'Anne', 'Claire'\n ],\n lastNames: [\n 'Martin', 'Bernard', 'Thomas', 'Petit', 'Robert', 'Richard', 'Durand',\n 'Dubois', 'Moreau', 'Laurent', 'Simon', 'Michel', 'Lefebvre', 'Leroy',\n 'Roux', 'David', 'Bertrand', 'Morel', 'Fournier', 'Girard', 'Bonnet',\n 'Dupont', 'Lambert', 'Fontaine', 'Rousseau', 'Vincent', 'Muller', 'Lefevre',\n 'Faure', 'Andre', 'Mercier', 'Blanc', 'Guerin', 'Boyer', 'Garnier',\n 'Chevalier', 'Francois', 'Legrand', 'Gauthier', 'Garcia', 'Perrin',\n 'Robin', 'Clement', 'Morin', 'Nicolas', 'Henry', 'Roussel', 'Matthieu'\n ],\n streets: [\n 'Rue de la Paix', 'Avenue des Champs-Élysées', 'Boulevard Haussmann',\n 'Rue de Rivoli', 'Rue Saint-Honoré', 'Avenue Montaigne', 'Rue du Faubourg',\n 'Boulevard Saint-Germain', 'Rue de Vaugirard', 'Avenue Victor Hugo',\n 'Rue Lafayette', 'Boulevard Voltaire', 'Rue de la République', 'Place de la Concorde',\n 'Rue Nationale', 'Avenue Jean Jaurès', 'Rue Pasteur', 'Boulevard Gambetta',\n 'Rue du Général de Gaulle', 'Avenue de la Liberté', 'Rue Carnot', 'Place du Marché',\n 'Rue Victor Hugo', 'Boulevard de la Mer', 'Rue des Écoles', 'Avenue du Président'\n ],\n cities: [\n 'Paris', 'Marseille', 'Lyon', 'Toulouse', 'Nice', 'Nantes', 'Strasbourg',\n 'Montpellier', 'Bordeaux', 'Lille', 'Rennes', 'Reims', 'Le Havre', 'Saint-Étienne',\n 'Toulon', 'Grenoble', 'Dijon', 'Angers', 'Nîmes', 'Villeurbanne', 'Saint-Denis',\n 'Le Mans', 'Aix-en-Provence', 'Clermont-Ferrand', 'Brest', 'Limoges', 'Tours',\n 'Amiens', 'Perpignan', 'Metz', 'Besançon', 'Boulogne-Billancourt', 'Orléans',\n 'Mulhouse', 'Rouen', 'Caen', 'Nancy', 'Argenteuil', 'Montreuil', 'Saint-Paul'\n ],\n states: [\n 'Île-de-France', 'Provence-Alpes-Côte d\\'Azur', 'Auvergne-Rhône-Alpes',\n 'Nouvelle-Aquitaine', 'Occitanie', 'Hauts-de-France', 'Pays de la Loire',\n 'Bretagne', 'Grand Est', 'Normandie', 'Bourgogne-Franche-Comté',\n 'Centre-Val de Loire', 'Corse'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Ingénieur Logiciel', 'Chef de Projet', 'Analyste de Données', 'Responsable Marketing',\n 'Commercial', 'Comptable', 'Responsable RH', 'Designer', 'Responsable des Opérations',\n 'Analyste d\\'Affaires', 'Analyste Financier', 'Chef de Produit',\n 'Administrateur Système', 'Chargé de Clientèle', 'Ingénieur Qualité',\n 'Rédacteur Technique', 'Administrateur de Base de Données', 'Ingénieur Réseau'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Commercial', 'Ressources Humaines', 'Finance',\n 'Opérations', 'Service Client', 'IT', 'Recherche et Développement',\n 'Juridique', 'Gestion de Produit', 'Design', 'Assurance Qualité', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const houseNumber = Random.int(1, 300);\n return `${houseNumber} ${street}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+33 # ## ## ## ##',\n '0# ## ## ## ##',\n '+33 (0)# ## ## ## ##',\n '06 ## ## ## ##',\n '07 ## ## ## ##'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.fr', 'outlook.fr', 'hotmail.fr', 'orange.fr',\n 'free.fr', 'laposte.net', 'sfr.fr', 'bbox.fr', 'numericable.fr'\n ],\n\n companyNames: [\n 'TotalEnergies SE', 'LVMH Moët Hennessy', 'L\\'Oréal SA', 'Sanofi SA',\n 'Air Liquide SA', 'Renault SA', 'Peugeot SA', 'Airbus SE', 'Thales SA',\n 'Société Générale', 'BNP Paribas', 'Crédit Agricole', 'Carrefour SA',\n 'Danone SA', 'Hermès International', 'Chanel SA', 'Dassault Aviation'\n ],\n\n industries: [\n 'Technologie', 'Finance', 'Santé', 'Éducation', 'Commerce de détail',\n 'Fabrication', 'Médias', 'Télécommunications', 'Énergie', 'Transport',\n 'Immobilier', 'Conseil', 'Hôtellerie', 'Automobile', 'Aérospatial'\n ],\n\n catchPhrases: [\n 'Innover pour l\\'avenir', 'Votre réussite est notre métier', 'Construire l\\'avenir ensemble',\n 'L\\'excellence à la française', 'Qualité et innovation', 'Engagement et confiance',\n 'Solutions durables', 'Créer de la valeur', 'Votre partenaire de croissance'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const pt_BR: LocaleDefinition = {\n firstNamesMale: [\n 'Miguel', 'Arthur', 'Heitor', 'Bernardo', 'Théo', 'Davi', 'Gabriel', 'Pedro',\n 'Lucas', 'Matheus', 'Rafael', 'João', 'Guilherme', 'Gustavo', 'Felipe',\n 'Bruno', 'Leonardo', 'Diego', 'Rodrigo', 'Marcelo', 'Vinícius', 'André',\n 'Thiago', 'Fernando', 'Ricardo', 'Daniel', 'Carlos', 'Paulo', 'José',\n 'Antônio', 'Francisco', 'Marcos', 'Roberto', 'Eduardo', 'Fábio', 'César',\n 'Alexandre', 'Renato', 'Márcio', 'Sérgio', 'Luciano', 'Anderson', 'Caio'\n ],\n firstNamesFemale: [\n 'Alice', 'Sophia', 'Helena', 'Valentina', 'Laura', 'Isabella', 'Manuela',\n 'Júlia', 'Heloísa', 'Luiza', 'Maria', 'Lorena', 'Lívia', 'Giovanna',\n 'Beatriz', 'Ana', 'Fernanda', 'Camila', 'Juliana', 'Mariana', 'Patrícia',\n 'Amanda', 'Letícia', 'Carolina', 'Gabriela', 'Renata', 'Bianca', 'Natália',\n 'Vanessa', 'Aline', 'Cristina', 'Paula', 'Adriana', 'Sandra', 'Tatiana',\n 'Luciana', 'Priscila', 'Débora', 'Simone', 'Carla', 'Andreia', 'Viviane'\n ],\n lastNames: [\n 'Silva', 'Santos', 'Oliveira', 'Souza', 'Rodrigues', 'Ferreira', 'Alves',\n 'Pereira', 'Lima', 'Gomes', 'Costa', 'Ribeiro', 'Martins', 'Carvalho',\n 'Almeida', 'Lopes', 'Soares', 'Fernandes', 'Vieira', 'Barbosa', 'Rocha',\n 'Dias', 'Nascimento', 'Araujo', 'Monteiro', 'Cardoso', 'Nunes', 'Mendes',\n 'Freitas', 'Cavalcanti', 'Castro', 'Pinto', 'Farias', 'Moreira', 'Correia',\n 'Rezende', 'Campos', 'Teixeira', 'Miranda', 'Duarte', 'Aragão', 'Machado',\n 'Barros', 'Andrade', 'Moura', 'Cunha', 'Azevedo', 'Melo', 'Ramos', 'Pires'\n ],\n streets: [\n 'Rua das Flores', 'Avenida Paulista', 'Rua Augusta', 'Avenida Atlântica',\n 'Rua Oscar Freire', 'Avenida Brasil', 'Rua XV de Novembro', 'Avenida Copacabana',\n 'Rua da Consolação', 'Avenida Brigadeiro Faria Lima', 'Rua Direita',\n 'Avenida Getúlio Vargas', 'Rua do Comércio', 'Avenida Rio Branco',\n 'Rua Sete de Setembro', 'Avenida Presidente Vargas', 'Rua da Paz',\n 'Avenida Santos Dumont', 'Rua Amazonas', 'Avenida Dom Pedro II',\n 'Rua Tiradentes', 'Avenida Independência', 'Rua Marechal Deodoro',\n 'Avenida Afonso Pena', 'Rua Barão do Rio Branco', 'Avenida Ipiranga'\n ],\n cities: [\n 'São Paulo', 'Rio de Janeiro', 'Brasília', 'Salvador', 'Fortaleza', 'Belo Horizonte',\n 'Manaus', 'Curitiba', 'Recife', 'Porto Alegre', 'Goiânia', 'Belém', 'Guarulhos',\n 'Campinas', 'São Luís', 'São Gonçalo', 'Maceió', 'Duque de Caxias', 'Natal',\n 'Teresina', 'Campo Grande', 'Nova Iguaçu', 'São Bernardo do Campo', 'João Pessoa',\n 'Santo André', 'Osasco', 'Jaboatão dos Guararapes', 'São José dos Campos',\n 'Ribeirão Preto', 'Uberlândia', 'Sorocaba', 'Contagem', 'Aracaju', 'Feira de Santana'\n ],\n states: [\n 'São Paulo', 'Rio de Janeiro', 'Minas Gerais', 'Bahia', 'Paraná', 'Rio Grande do Sul',\n 'Pernambuco', 'Ceará', 'Pará', 'Santa Catarina', 'Goiás', 'Maranhão', 'Espírito Santo',\n 'Paraíba', 'Amazonas', 'Mato Grosso', 'Rio Grande do Norte', 'Alagoas', 'Piauí',\n 'Distrito Federal', 'Mato Grosso do Sul', 'Sergipe', 'Rondônia', 'Tocantins',\n 'Acre', 'Amapá', 'Roraima'\n ],\n zipCodePattern: '#####-###',\n jobTitles: [\n 'Engenheiro de Software', 'Gerente de Projetos', 'Analista de Dados',\n 'Gerente de Marketing', 'Representante de Vendas', 'Contador', 'Gerente de RH',\n 'Designer', 'Gerente de Operações', 'Analista de Negócios', 'Analista Financeiro',\n 'Gerente de Produto', 'Administrador de Sistemas', 'Atendente ao Cliente',\n 'Engenheiro de Qualidade', 'Redator Técnico', 'Administrador de Banco de Dados',\n 'Engenheiro de Redes', 'Coordenador de Marketing', 'Supervisor de Vendas'\n ],\n departments: [\n 'Engenharia', 'Marketing', 'Vendas', 'Recursos Humanos', 'Financeiro',\n 'Operações', 'Atendimento ao Cliente', 'TI', 'Pesquisa e Desenvolvimento',\n 'Jurídico', 'Gestão de Produtos', 'Design', 'Qualidade', 'Administração'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const houseNumber = Random.int(1, 9999);\n const complement = Random.pick(['Apto', 'Casa', 'Sala', 'Bloco']);\n const complementNumber = Random.int(1, 500);\n return `${street}, ${houseNumber} - ${complement} ${complementNumber}, ${city} - ${state}, CEP ${zipCode}`;\n },\n\n generateZipCode(): string {\n const part1 = String(Random.int(10000, 99999));\n const part2 = String(Random.int(100, 999));\n return `${part1}-${part2}`;\n },\n\n phoneFormats: [\n '+55 (##) #####-####',\n '(##) #####-####',\n '(##) ####-####',\n '+55 ## #####-####',\n '0## # ####-####',\n '0800-###-####',\n '0300-###-####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com.br', 'outlook.com', 'hotmail.com', 'uol.com.br',\n 'bol.com.br', 'ig.com.br', 'terra.com.br', 'live.com', 'msn.com'\n ],\n\n companyNames: [\n 'Petróleo Brasileiro SA', 'Vale SA', 'Itaú Unibanco', 'Banco do Brasil',\n 'Bradesco SA', 'Caixa Econômica Federal', 'JBS SA', 'Ambev SA', 'B3 SA',\n 'Magazine Luiza', 'Lojas Renner', 'WEG SA', 'Raia Drogasil', 'Suzano SA',\n 'Embraer SA', 'Gol Linhas Aéreas', 'Azul SA', 'Tim Brasil', 'Vivo SA'\n ],\n\n industries: [\n 'Tecnologia', 'Finanças', 'Saúde', 'Educação', 'Varejo',\n 'Manufatura', 'Mídia', 'Telecomunicações', 'Energia', 'Transporte',\n 'Imobiliário', 'Consultoria', 'Hotelaria', 'Automotivo', 'Aeroespacial'\n ],\n\n catchPhrases: [\n 'Inovando para o futuro', 'Seu sucesso é nosso negócio', 'Construindo o futuro juntos',\n 'Qualidade e confiança', 'Excelência e compromisso', 'Soluções sustentáveis',\n 'Criando valor', 'Seu parceiro de confiança', 'Liderando a mudança'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ko_KR: LocaleDefinition = {\n // Nama keluarga Korea (성)\n lastNames: [\n 'Kim', 'Lee', 'Park', 'Choi', 'Jung', 'Kang', 'Cho', 'Yoon', 'Jang',\n 'Lim', 'Han', 'Oh', 'Seo', 'Shin', 'Kwon', 'Hwang', 'Ahn', 'Song',\n 'Hong', 'Jeon', 'Ko', 'Moon', 'Son', 'Yang', 'Baek', 'Heo', 'Nam',\n 'Shim', 'Roh', 'Ha', 'Joo', 'Koo', 'Chung', 'Min', 'Yoo', 'Sung',\n 'Ji', 'Woo', 'Chae', 'Yeo', 'Do', 'Bae', 'Noh', 'Pyo', 'Tae'\n ],\n // Nama depan pria Korea (이름 - 남성)\n firstNamesMale: [\n 'Minho', 'Joon', 'Hyun', 'Seung', 'Woong', 'Jin', 'Sung', 'Tae',\n 'Young', 'Dong', 'Soo', 'Jun', 'Woo', 'Hoon', 'Jae', 'Kyung',\n 'Ho', 'Chan', 'Hyuk', 'Min', 'Joon-Ho', 'Ji-Hoon', 'Seo-Jun', 'Do-Yun',\n 'Si-Woo', 'Ye-Jun', 'Min-Jun', 'Joo-Won', 'Ha-Jun', 'Woo-Jin',\n 'Yu-Jun', 'Hyun-Woo', 'Jun-Seo', 'Geon-Woo', 'Ji-Hu', 'Yoon-Seo'\n ],\n // Nama depan wanita Korea (이름 - 여성)\n firstNamesFemale: [\n 'Hye', 'Min', 'Ji', 'Soo', 'Young', 'Eun', 'Mi', 'Sun', 'Kyung',\n 'Jung', 'Hee', 'Jin', 'Yeon', 'Seo', 'Ha', 'Yoo', 'Ah', 'Na',\n 'Seo-Yun', 'Ji-Woo', 'Ha-Eun', 'Min-Seo', 'Seo-Hyun', 'Ji-Ah', 'Yoo-Na',\n 'Soo-Ah', 'Chae-Won', 'Eun-Seo', 'Ha-Yoon', 'Ji-Yoo', 'Ah-Rin',\n 'Ye-Eun', 'Ga-Eun', 'Yu-Ri', 'Hye-Won', 'So-Yeon', 'Da-Eun', 'Bo-Ra'\n ],\n streets: [\n 'Gangnam-daero', 'Teheran-ro', 'Seocho-daero', 'Yeongdong-daero',\n 'Sejong-daero', 'Jongno', 'Euljiro', 'Myeongdong-gil', 'Insadong-gil',\n 'Dongdaemun-ro', 'Sinchon-ro', 'Hongik-ro', 'Itaewon-ro', 'Apgujeong-ro',\n 'Garosu-gil', 'Cheonggyecheon-ro', 'Hangang-daero', 'Olympic-ro',\n 'Dongho-ro', 'Seongbuk-ro', 'Bukchon-ro', 'Samcheong-ro', 'Sajik-ro'\n ],\n cities: [\n 'Seoul', 'Busan', 'Incheon', 'Daegu', 'Daejeon', 'Gwangju', 'Suwon',\n 'Ulsan', 'Changwon', 'Goyang', 'Yongin', 'Seongnam', 'Bucheon', 'Ansan',\n 'Cheongju', 'Jeonju', 'Anyang', 'Cheonan', 'Pohang', 'Gimhae', 'Pyeongtaek',\n 'Uijeongbu', 'Siheung', 'Paju', 'Jinju', 'Gimpo', 'Iksan', 'Wonju'\n ],\n // Provinsi Korea (도/광역시)\n states: [\n 'Seoul', 'Busan', 'Incheon', 'Daegu', 'Daejeon', 'Gwangju', 'Ulsan',\n 'Sejong', 'Gyeonggi-do', 'Gangwon-do', 'North Chungcheong', 'South Chungcheong',\n 'North Jeolla', 'South Jeolla', 'North Gyeongsang', 'South Gyeongsang', 'Jeju'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\n 'Operations Manager', 'Business Analyst', 'Financial Analyst', 'Product Manager',\n 'System Administrator', 'Customer Service Representative', 'QA Engineer',\n 'Technical Writer', 'Database Administrator', 'Network Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n // Format Korea: Nama Keluarga + Nama Depan\n return `${lastName} ${firstName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n // Format alamat Korea: Provinsi, Kota, Jalan, Nomor bangunan, Kode Pos\n const buildingNumber = Random.int(1, 500);\n const dong = Random.pick(['Gangnam-gu', 'Seocho-gu', 'Songpa-gu', 'Jongno-gu', 'Jung-gu', 'Yongsan-gu']);\n return `${state}, ${city}, ${dong}, ${street} ${buildingNumber}, ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+82-##-####-####',\n '0##-###-####',\n '010-####-####',\n '011-###-####',\n '016-###-####',\n '019-###-####',\n '02-###-####',\n '031-###-####',\n '032-###-####',\n '051-###-####'\n ],\n\n emailDomains: [\n 'gmail.com', 'naver.com', 'daum.net', 'nate.com', 'yahoo.co.kr',\n 'hotmail.com', 'outlook.com', 'hanmail.net', 'paran.com', 'empas.com'\n ],\n\n companyNames: [\n '삼성전자', '현대자동차', 'SK 하이닉스', 'LG 전자', 'POSCO',\n 'KB 국민은행', '삼성생명', '현대모비스', '기아', 'LG 화학',\n 'SK 텔레콤', 'KT', 'LG 유플러스', 'NAVER', '카카오',\n '셀트리온', '삼성바이오로직스', '현대중공업', '두산', '롯데그룹'\n ],\n\n industries: [\n '기술', '금융', '의료', '교육', '유통',\n '제조', '미디어', '통신', '에너지', '운송',\n '부동산', '컨설팅', '호텔', '자동차', '항공우주'\n ],\n\n catchPhrases: [\n '미래를 창조합니다', '고객의 성공이 우리의 사명', '함께 미래를築습니다',\n '품질과 신뢰', '혁신과 전통', '최고의 서비스를 제공합니다',\n '지속 가능한 성장', '가치를 창출합니다', '당신의 파트너'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const en_AU: LocaleDefinition = {\n firstNamesMale: [\n 'Oliver', 'Jack', 'Noah', 'William', 'Thomas', 'James', 'Henry', 'Lucas',\n 'Charlie', 'Ethan', 'Liam', 'Mason', 'Benjamin', 'Alexander', 'Samuel',\n 'Daniel', 'Matthew', 'Joshua', 'Ryan', 'Andrew', 'Michael', 'David',\n 'Christopher', 'Nathan', 'Jacob', 'Dylan', 'Luke', 'Isaac', 'Harrison',\n 'Lachlan', 'Cooper', 'Max', 'Angus', 'Hamish', 'Oscar', 'Archer', 'Flynn'\n ],\n firstNamesFemale: [\n 'Charlotte', 'Amelia', 'Olivia', 'Isla', 'Mia', 'Ava', 'Grace', 'Chloe',\n 'Emily', 'Sophie', 'Ella', 'Ruby', 'Harper', 'Zoe', 'Lucy', 'Lily',\n 'Emma', 'Isabella', 'Sophia', 'Hannah', 'Jessica', 'Sarah', 'Madison',\n 'Abigail', 'Elizabeth', 'Scarlett', 'Sienna', 'Matilda', 'Georgia',\n 'Evie', 'Willow', 'Ivy', 'Layla', 'Jasmine', 'Poppy', 'Maya', 'Aria'\n ],\n lastNames: [\n 'Smith', 'Jones', 'Williams', 'Brown', 'Wilson', 'Taylor', 'Johnson',\n 'White', 'Martin', 'Anderson', 'Thompson', 'Nguyen', 'Thomas', 'Walker',\n 'Harris', 'Lee', 'Ryan', 'Robinson', 'Kelly', 'King', 'Murphy', 'Edwards',\n 'Hall', 'Moore', 'Clark', 'Jackson', 'Young', 'Lewis', 'Wood', 'Scott',\n 'Green', 'Davis', 'Baker', 'Adams', 'Nelson', 'Hill', 'Mitchell', 'Campbell',\n 'Roberts', 'Carter', 'Phillips', 'Evans', 'Turner', 'Collins', 'Stewart',\n 'Morris', 'Rogers', 'Reed', 'Cook', 'Morgan', 'Bell', 'Cooper', 'Richardson'\n ],\n streets: [\n 'George Street', 'Elizabeth Street', 'King Street', 'Queen Street', 'Collins Street',\n 'Bourke Street', 'Flinders Street', 'Swanston Street', 'William Street', 'Victoria Street',\n 'Chapel Street', 'High Street', 'Main Road', 'Oxford Street', 'Brunswick Street',\n 'Smith Street', 'Sydney Road', 'Lygon Street', 'Fitzroy Street', 'Acland Street',\n 'Beach Road', 'Princes Highway', 'Pacific Highway', 'Anzac Parade', 'Military Road',\n 'Crown Street', 'Park Road', 'Station Street', 'Church Street', 'Bay Street'\n ],\n cities: [\n 'Sydney', 'Melbourne', 'Brisbane', 'Perth', 'Adelaide', 'Gold Coast', 'Newcastle',\n 'Canberra', 'Sunshine Coast', 'Wollongong', 'Hobart', 'Geelong', 'Townsville',\n 'Cairns', 'Darwin', 'Toowoomba', 'Ballarat', 'Bendigo', 'Albury', 'Launceston',\n 'Mackay', 'Rockhampton', 'Bunbury', 'Bundaberg', 'Wagga Wagga', 'Hervey Bay',\n 'Mildura', 'Shepparton', 'Port Macquarie', 'Gladstone', 'Tamworth', 'Dubbo'\n ],\n states: [\n 'New South Wales', 'Victoria', 'Queensland', 'Western Australia',\n 'South Australia', 'Tasmania', 'Northern Territory',\n 'Australian Capital Territory'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\n 'Operations Manager', 'Business Analyst', 'Financial Analyst', 'Product Manager',\n 'Systems Administrator', 'Customer Service Representative', 'Quality Assurance Engineer',\n 'Technical Writer', 'Database Administrator', 'Network Engineer', 'Tradesperson',\n 'Nurse', 'Teacher', 'Electrician', 'Plumber', 'Carpenter', 'Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const houseNumber = Random.int(1, 999);\n const unitNumber = Random.boolean() ? `Unit ${Random.int(1, 50)}/` : '';\n return `${unitNumber}${houseNumber} ${street}, ${city} ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 9999));\n },\n\n phoneFormats: [\n '+61 # #### ####',\n '0# #### ####',\n '+61 (0)# #### ####',\n '04## ### ###',\n '04## ### ###',\n '02 #### ####',\n '03 #### ####',\n '07 #### ####',\n '08 #### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com.au', 'outlook.com.au', 'hotmail.com', 'live.com.au',\n 'bigpond.com', 'optusnet.com.au', 'tpg.com.au', 'iinet.net.au', 'internode.on.net'\n ],\n\n companyNames: [\n 'Commonwealth Bank', 'BHP Group', 'CSL Limited', 'Westpac Banking', 'ANZ Group',\n 'National Australia Bank', 'Wesfarmers', 'Woolworths Group', 'Telstra Corporation',\n 'Macquarie Group', 'Rio Tinto Australia', 'Fortescue Metals', 'Woodside Energy',\n 'Qantas Airways', 'Transurban Group', 'Goodman Group', 'Atlassian Corporation'\n ],\n\n industries: [\n 'Technology', 'Finance', 'Healthcare', 'Education', 'Retail',\n 'Manufacturing', 'Media', 'Telecommunications', 'Energy', 'Transport',\n 'Real Estate', 'Consulting', 'Hospitality', 'Automotive', 'Aerospace'\n ],\n\n catchPhrases: [\n 'Innovating for the future', 'Your success is our business', 'Building the future together',\n 'Quality and trust', 'Excellence and commitment', 'Sustainable solutions',\n 'Creating value', 'Your trusted partner', 'Leading the change'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const zh_CN: LocaleDefinition = {\n lastNames: [\n 'Wang', 'Li', 'Zhang', 'Liu', 'Chen', 'Yang', 'Huang', 'Zhao', 'Wu', 'Zhou',\n 'Xu', 'Sun', 'Ma', 'Zhu', 'Hu', 'Guo', 'He', 'Gao', 'Lin', 'Luo',\n 'Zheng', 'Liang', 'Xie', 'Song', 'Tang', 'Xu', 'Deng', 'Han', 'Feng', 'Cao',\n 'Peng', 'Zeng', 'Xiao', 'Tian', 'Dong', 'Pan', 'Yuan', 'Cai', 'Jiang', 'Yu'\n ],\n firstNamesMale: [\n 'Wei', 'Jun', 'Ming', 'Tao', 'Jie', 'Qiang', 'Lei', 'Yong', 'Jian', 'Ping',\n 'Bin', 'Feng', 'Long', 'Chao', 'Yang', 'Lin', 'Hao', 'Gang', 'Kai', 'Peng',\n 'Zhi', 'Yun', 'Bo', 'Hua', 'Xin', 'Liang', 'Chen', 'Dong', 'Fei', 'Xiong',\n 'Huan', 'Yu', 'Rui', 'Jing', 'Song', 'Zhen', 'Kun', 'Han', 'Xi', 'Cheng'\n ],\n firstNamesFemale: [\n 'Li', 'Fang', 'Xiu', 'Ying', 'Min', 'Jing', 'Juan', 'Yan', 'Hong', 'Mei',\n 'Xia', 'Qing', 'Lan', 'Yue', 'Xin', 'Ling', 'Na', 'Hui', 'Rong', 'Dan',\n 'Shan', 'Yun', 'Ping', 'Jie', 'Xue', 'Fen', 'Yu', 'Qian', 'Shu', 'Wen',\n 'Zhen', 'Xiang', 'Cui', 'Lin', 'Ran', 'Meng', 'Rou', 'Yi', 'Ning', 'Qin'\n ],\n streets: [\n 'Zhongshan Road', 'Renmin Road', 'Jiefang Road', 'Changjiang Road', 'Huanghe Road',\n 'Beijing Road', 'Shanghai Road', 'Guangzhou Road', 'Nanjing Road', 'Chengdu Road',\n 'Dongfeng Road', 'Xin Avenue', 'Heping Road', 'Wenhua Road', 'Jianshe Road',\n 'Minzhu Road', 'Gongyuan Road', 'Xueyuan Road', 'Keji Road', 'Binhe Road'\n ],\n cities: [\n 'Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Chengdu', 'Chongqing', 'Tianjin',\n 'Wuhan', 'Hangzhou', 'Nanjing', 'Xi\\'an', 'Shenyang', 'Harbin', 'Changchun',\n 'Dalian', 'Qingdao', 'Jinan', 'Zhengzhou', 'Shijiazhuang', 'Taiyuan', 'Hefei',\n 'Changsha', 'Nanchang', 'Fuzhou', 'Kunming', 'Guiyang', 'Nanning', 'Lanzhou'\n ],\n states: [\n 'Beijing', 'Shanghai', 'Tianjin', 'Chongqing', 'Hebei', 'Shanxi', 'Liaoning',\n 'Jilin', 'Heilongjiang', 'Jiangsu', 'Zhejiang', 'Anhui', 'Fujian', 'Jiangxi',\n 'Shandong', 'Henan', 'Hubei', 'Hunan', 'Guangdong', 'Hainan', 'Sichuan',\n 'Guizhou', 'Yunnan', 'Shaanxi', 'Gansu', 'Qinghai', 'Xinjiang', 'Guangxi'\n ],\n zipCodePattern: '######',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'R&D', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${lastName} ${firstName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const building = Random.int(1, 999);\n const unit = Random.int(1, 50);\n return `${state} Province, ${city}, ${street} No.${building}, Unit ${unit}, ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(100000, 999999));\n },\n\n phoneFormats: [\n '+86 ### #### ####',\n '### #### ####',\n '+86-###-####-####',\n '1##-####-####',\n '13#-####-####',\n '15#-####-####',\n '18#-####-####'\n ],\n\n emailDomains: [\n 'gmail.com', 'qq.com', '163.com', '126.com', 'sina.com',\n 'sohu.com', 'yahoo.com.cn', 'hotmail.com', 'outlook.com',\n 'gmail.cn', 'foxmail.com', 'yeah.net', '21cn.com'\n ],\n\n companyNames: [\n '阿里巴巴集团', '腾讯控股', '华为技术', '百度', '京东集团',\n '中国移动', '中国石化', '中国石油', '工商银行', '建设银行',\n '中国平安', '中国银行', '农业银行', '上汽集团', '比亚迪',\n '小米集团', '美团点评', '网易公司', '苏宁易购', '海尔集团'\n ],\n\n industries: [\n '科技', '金融', '医疗', '教育', '零售',\n '制造', '媒体', '电信', '能源', '交通',\n '房地产', '咨询', '酒店', '汽车', '航空航天'\n ],\n\n catchPhrases: [\n '创新引领未来', '客户至上', '携手共创美好明天',\n '品质卓越', '诚信为本', '追求卓越',\n '可持续发展', '创造价值', '您的合作伙伴'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const en_IN: LocaleDefinition = {\n firstNamesMale: [\n 'Rahul', 'Amit', 'Raj', 'Rohan', 'Arjun', 'Aditya', 'Aryan', 'Vikram', 'Suresh',\n 'Karan', 'Sandeep', 'Rajesh', 'Manoj', 'Ashok', 'Deepak', 'Ajay', 'Ravi',\n 'Krishna', 'Sanjay', 'Vijay', 'Anil', 'Ramesh', 'Rakesh', 'Nitin', 'Vivek',\n 'Sachin', 'Akash', 'Nikhil', 'Siddharth', 'Ankit', 'Varun', 'Kunal', 'Harsh'\n ],\n firstNamesFemale: [\n 'Priya', 'Pooja', 'Anita', 'Sneha', 'Kavita', 'Neha', 'Ritu', 'Anjali', 'Divya',\n 'Preeti', 'Sunita', 'Asha', 'Rekha', 'Sonal', 'Manisha', 'Deepika', 'Simran',\n 'Nisha', 'Swati', 'Meera', 'Radha', 'Seema', 'Geeta', 'Riya', 'Shreya',\n 'Ayesha', 'Sakshi', 'Tanvi', 'Aditi', 'Kritika', 'Ishita', 'Dia', 'Mira'\n ],\n lastNames: [\n 'Sharma', 'Verma', 'Singh', 'Kumar', 'Gupta', 'Patel', 'Shah', 'Reddy', 'Desai',\n 'Joshi', 'Rao', 'Mehta', 'Nair', 'Iyer', 'Chopra', 'Malhotra', 'Kapoor', 'Agarwal',\n 'Bansal', 'Jain', 'Sinha', 'Khan', 'Menon', 'Kulkarni', 'Bhatt', 'Trivedi',\n 'Pandey', 'Mishra', 'Yadav', 'Saxena', 'Bose', 'Ghosh', 'Chatterjee', 'Das'\n ],\n streets: [\n 'MG Road', 'Nehru Street', 'Gandhi Nagar', 'Park Street', 'Brigade Road',\n 'Anna Salai', 'Mall Road', 'Station Road', 'Marine Drive', 'Linking Road',\n 'Main Road', 'Church Street', 'Cross Road', 'Ring Road', 'Service Road',\n 'Residency Road', 'Commercial Street', 'Infantry Road', 'Richmond Road'\n ],\n cities: [\n 'Mumbai', 'Delhi', 'Bangalore', 'Hyderabad', 'Chennai', 'Kolkata', 'Pune', 'Ahmedabad',\n 'Jaipur', 'Surat', 'Lucknow', 'Kanpur', 'Nagpur', 'Indore', 'Bhopal', 'Visakhapatnam',\n 'Patna', 'Vadodara', 'Ghaziabad', 'Ludhiana', 'Agra', 'Nashik', 'Faridabad', 'Meerut',\n 'Rajkot', 'Kalyan', 'Vasai', 'Varanasi', 'Srinagar', 'Aurangabad', 'Dhanbad', 'Amritsar'\n ],\n states: [\n 'Maharashtra', 'Delhi', 'Karnataka', 'Telangana', 'Tamil Nadu', 'West Bengal',\n 'Gujarat', 'Rajasthan', 'Uttar Pradesh', 'Madhya Pradesh', 'Bihar', 'Kerala',\n 'Andhra Pradesh', 'Haryana', 'Punjab', 'Odisha', 'Jharkhand', 'Uttarakhand',\n 'Himachal Pradesh', 'Assam', 'Chhattisgarh', 'Goa', 'Jammu and Kashmir'\n ],\n zipCodePattern: '######',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Executive', 'Chartered Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Analyst'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Support', 'IT', 'Research & Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const houseNo = Random.int(1, 999);\n const sector = Random.pick(['A', 'B', 'C', 'D', 'E']);\n return `${houseNo}/${sector}, ${street}, ${city}, ${state} - ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(100000, 999999));\n },\n\n phoneFormats: [\n '+91 ##### #####',\n '0##### #####',\n '+91 (0)##### #####',\n '9##### #####',\n '8##### #####',\n '7##### #####',\n '6##### #####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.co.in', 'outlook.in', 'hotmail.co.in', 'live.in',\n 'rediffmail.com', 'sify.com', 'sancharnet.in', 'vsnl.com', 'dataone.in'\n ],\n\n companyNames: [\n 'Tata Consultancy Services', 'Reliance Industries', 'HDFC Bank', 'Infosys Limited',\n 'ICICI Bank', 'Hindustan Unilever', 'ITC Limited', 'Bharti Airtel',\n 'State Bank of India', 'Larsen & Toubro', 'Wipro Limited', 'Tata Motors',\n 'Mahindra & Mahindra', 'Maruti Suzuki', 'Bajaj Finance', 'Asian Paints',\n 'Titan Company', 'Sun Pharmaceutical', 'Dr Reddy\\'s Laboratories', 'Zomato Limited'\n ],\n\n industries: [\n 'Technology', 'Finance', 'Healthcare', 'Education', 'Retail',\n 'Manufacturing', 'Media', 'Telecommunications', 'Energy', 'Transport',\n 'Real Estate', 'Consulting', 'Hospitality', 'Automotive', 'Aerospace'\n ],\n\n catchPhrases: [\n 'Innovating for the future', 'Your success is our business', 'Building the future together',\n 'Quality and trust', 'Excellence and commitment', 'Sustainable solutions',\n 'Creating value', 'Your trusted partner', 'Leading the change'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const es_MX: LocaleDefinition = {\n firstNamesMale: [\n 'José', 'Juan', 'Luis', 'Miguel', 'Carlos', 'Antonio', 'Francisco', 'Alejandro',\n 'Pedro', 'Jesús', 'Manuel', 'Rafael', 'Javier', 'Daniel', 'Ricardo', 'Fernando',\n 'Jorge', 'Roberto', 'Eduardo', 'Sergio', 'Raúl', 'Arturo', 'Gerardo', 'Héctor',\n 'Andrés', 'Diego', 'Gabriel', 'Oscar', 'Julio', 'Ramón', 'Armando', 'Enrique'\n ],\n firstNamesFemale: [\n 'María', 'Guadalupe', 'Juana', 'Margarita', 'Rosa', 'Francisca', 'Teresa', 'Ana',\n 'Patricia', 'Carmen', 'Laura', 'Gabriela', 'Verónica', 'Silvia', 'Martha', 'Diana',\n 'Karla', 'Leticia', 'Sandra', 'Elena', 'Claudia', 'Alejandra', 'Daniela', 'Sofía',\n 'Adriana', 'Andrea', 'Monica', 'Beatriz', 'Cecilia', 'Paola', 'Fernanda', 'Lucía'\n ],\n lastNames: [\n 'Hernández', 'García', 'Martínez', 'López', 'González', 'Rodríguez', 'Pérez', 'Sánchez',\n 'Ramírez', 'Torres', 'Flores', 'Rivera', 'Gómez', 'Díaz', 'Cruz', 'Morales',\n 'Reyes', 'Gutiérrez', 'Ortiz', 'Mendoza', 'Castillo', 'Vargas', 'Romero', 'Jiménez',\n 'Ruiz', 'Álvarez', 'Vázquez', 'Medina', 'Aguilar', 'Salazar', 'Rojas', 'Herrera'\n ],\n streets: [\n 'Avenida Reforma', 'Calle Juárez', 'Avenida Insurgentes', 'Calle Hidalgo',\n 'Avenida Revolución', 'Calle Morelos', 'Avenida Universidad', 'Calle Independencia',\n 'Avenida Constitución', 'Calle 5 de Mayo', 'Avenida Chapultepec', 'Calle Madero',\n 'Avenida Patriotismo', 'Calle Guerrero', 'Avenida División del Norte', 'Calle Cuauhtémoc'\n ],\n cities: [\n 'Ciudad de México', 'Guadalajara', 'Monterrey', 'Puebla', 'Tijuana', 'León',\n 'Juárez', 'Zapopan', 'Mérida', 'San Luis Potosí', 'Querétaro', 'Toluca',\n 'Chihuahua', 'Aguascalientes', 'Saltillo', 'Mexicali', 'Culiacán', 'Acapulco',\n 'Cancún', 'Veracruz', 'Hermosillo', 'Morelia', 'Durango', 'Oaxaca', 'Tampico'\n ],\n states: [\n 'Ciudad de México', 'Jalisco', 'Nuevo León', 'Puebla', 'Baja California', 'Guanajuato',\n 'Chihuahua', 'Yucatán', 'San Luis Potosí', 'Querétaro', 'Estado de México',\n 'Veracruz', 'Aguascalientes', 'Coahuila', 'Sinaloa', 'Sonora', 'Michoacán',\n 'Guerrero', 'Quintana Roo', 'Tamaulipas', 'Oaxaca', 'Chiapas', 'Durango'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\n 'Representante de Ventas', 'Contador', 'Gerente de RH', 'Diseñador', 'Gerente de Operaciones',\n 'Analista de Negocios', 'Gerente de Producto', 'Administrador de Sistemas'\n ],\n departments: [\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\n 'Servicio al Cliente', 'TI', 'Investigación y Desarrollo', 'Legal', 'Administración'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 999);\n const colonia = Random.pick(['Centro', 'Norte', 'Sur', 'Oriente', 'Poniente']);\n return `${street} ${number}, Col. ${colonia}, ${zipCode} ${city}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+52 ## #### ####',\n '0## #### ####',\n '+52 (##) #### ####',\n '(##) #### ####',\n '1## #### ####',\n '55 #### ####',\n '33 #### ####',\n '81 #### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com.mx', 'outlook.com', 'hotmail.com', 'live.com',\n 'prodigy.net.mx', 'cablevision.net.mx', 'telmex.net.mx', 'uninet.com.mx',\n 'alestra.com.mx', 'totalplay.net'\n ],\n\n companyNames: [\n 'América Móvil', 'Grupo México', 'Grupo Aeroportuario del Sureste', 'Fomento Económico Mexicano',\n 'Grupo Bimbo', 'Cemex', 'Grupo Televisa', 'TV Azteca', 'Grupo Carso',\n 'Grupo Salinas', 'Banco Santander México', 'BBVA México', 'Banorte',\n 'Aeroméxico', 'Volaris', 'Interjet', 'Grupo Modelo', 'Heineken México',\n 'Walmart de México', 'Organización Soriana', 'El Puerto de Liverpool'\n ],\n\n industries: [\n 'Tecnología', 'Finanzas', 'Salud', 'Educación', 'Venta minorista',\n 'Fabricación', 'Medios', 'Telecomunicaciones', 'Energía', 'Transporte',\n 'Inmobiliaria', 'Consultoría', 'Hostelería', 'Automoción', 'Aeroespacial'\n ],\n\n catchPhrases: [\n 'Innovando para el futuro', 'Su éxito es nuestro negocio', 'Construyendo el futuro juntos',\n 'Calidad y confianza', 'Excelencia y compromiso', 'Soluciones sostenibles',\n 'Creamos valor', 'Su socio de confianza', 'Liderando el cambio'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const it_IT: LocaleDefinition = {\n firstNamesMale: [\n 'Francesco', 'Alessandro', 'Andrea', 'Lorenzo', 'Matteo', 'Gabriele', 'Mattia',\n 'Marco', 'Luca', 'Giovanni', 'Giuseppe', 'Antonio', 'Roberto', 'Paolo', 'Stefano',\n 'Carlo', 'Davide', 'Simone', 'Federico', 'Riccardo', 'Michele', 'Tommaso',\n 'Filippo', 'Vincenzo', 'Emanuele', 'Alberto', 'Daniele', 'Leonardo', 'Pietro'\n ],\n firstNamesFemale: [\n 'Sofia', 'Giulia', 'Aurora', 'Alice', 'Ginevra', 'Emma', 'Giorgia', 'Greta',\n 'Beatrice', 'Anna', 'Chiara', 'Francesca', 'Sara', 'Martina', 'Alessia', 'Elena',\n 'Silvia', 'Valentina', 'Federica', 'Laura', 'Elisa', 'Claudia', 'Monica', 'Paola',\n 'Roberta', 'Simona', 'Antonella', 'Maria', 'Lucia', 'Cristina', 'Isabella'\n ],\n lastNames: [\n 'Rossi', 'Russo', 'Ferrari', 'Esposito', 'Bianchi', 'Romano', 'Colombo', 'Ricci',\n 'Marino', 'Greco', 'Bruno', 'Gallo', 'Conti', 'De Luca', 'Costa', 'Giordano',\n 'Mancini', 'Rizzo', 'Lombardi', 'Moretti', 'Barbieri', 'Fontana', 'Santoro',\n 'Mariani', 'Rinaldi', 'Caruso', 'Ferrara', 'Galli', 'Martini', 'Leone', 'Longo'\n ],\n streets: [\n 'Via Roma', 'Corso Italia', 'Via Garibaldi', 'Via Mazzini', 'Piazza Duomo',\n 'Via Dante', 'Corso Vittorio Emanuele', 'Via Cavour', 'Via Verdi', 'Via Nazionale',\n 'Corso Umberto', 'Via Milano', 'Via Torino', 'Via Napoli', 'Viale Europa',\n 'Via della Repubblica', 'Corso Giuseppe Mazzini', 'Via San Francesco', 'Via Venezia'\n ],\n cities: [\n 'Roma', 'Milano', 'Napoli', 'Torino', 'Palermo', 'Genova', 'Bologna', 'Firenze',\n 'Bari', 'Catania', 'Venezia', 'Verona', 'Messina', 'Padova', 'Trieste', 'Brescia',\n 'Parma', 'Taranto', 'Prato', 'Modena', 'Reggio Calabria', 'Reggio Emilia', 'Perugia',\n 'Livorno', 'Ravenna', 'Cagliari', 'Foggia', 'Rimini', 'Salerno', 'Ferrara', 'Sassari'\n ],\n states: [\n 'Lazio', 'Lombardia', 'Campania', 'Piemonte', 'Sicilia', 'Liguria', 'Emilia-Romagna',\n 'Toscana', 'Puglia', 'Veneto', 'Calabria', 'Sardegna', 'Marche', 'Abruzzo',\n 'Friuli-Venezia Giulia', 'Umbria', 'Basilicata', 'Molise', 'Trentino-Alto Adige', 'Valle d\\'Aosta'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Ingegnere Software', 'Project Manager', 'Analista Dati', 'Responsabile Marketing',\n 'Rappresentante Vendite', 'Commercialista', 'Responsabile HR', 'Designer',\n 'Responsabile Operazioni', 'Analista di Business', 'Product Manager', 'Amministratore di Sistema'\n ],\n departments: [\n 'Ingegneria', 'Marketing', 'Vendite', 'Risorse Umane', 'Finanza', 'Operazioni',\n 'Servizio Clienti', 'IT', 'Ricerca e Sviluppo', 'Legale', 'Amministrazione'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 200);\n return `${street}, ${number}, ${zipCode} ${city} (${state.substring(0, 2).toUpperCase()})`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+39 0## ### ####',\n '+39 0## #######',\n '0## ### ####',\n '0## #######',\n '+39 3## ### ####',\n '3## ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.it', 'outlook.it', 'hotmail.it', 'libero.it',\n 'alice.it', 'tin.it', 'virgilio.it', 'tiscali.it', 'fastwebnet.it'\n ],\n\n companyNames: [\n 'Eni SpA', 'Enel SpA', 'Generali Italia', 'Intesa Sanpaolo', 'UniCredit SpA',\n 'Stellantis Italy', 'Ferrari NV', 'Lamborghini SpA', 'Pirelli & C',\n 'Telecom Italia', 'Poste Italiane', 'Leonardo SpA', 'Saipem SpA',\n 'Mediaset SpA', 'Moncler SpA', 'Armani SpA', 'Prada SpA', 'Gucci SpA'\n ],\n\n industries: [\n 'Tecnologia', 'Finanza', 'Sanità', 'Istruzione', 'Vendita al dettaglio',\n 'Produzione', 'Media', 'Telecomunicazioni', 'Energia', 'Trasporti',\n 'Immobiliare', 'Consulenza', 'Alberghiero', 'Automobilistico', 'Aerospaziale'\n ],\n\n catchPhrases: [\n 'Innovare per il futuro', 'Il vostro successo è il nostro lavoro', 'Costruire il futuro insieme',\n 'Qualità e fiducia', 'Eccellenza e impegno', 'Soluzioni sostenibili',\n 'Creiamo valore', 'Il vostro partner di fiducia', 'Guidare il cambiamento'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const es_ES: LocaleDefinition = {\n firstNamesMale: [\n 'Antonio', 'Manuel', 'José', 'Francisco', 'David', 'Juan', 'Javier', 'Daniel',\n 'Carlos', 'Miguel', 'Alejandro', 'Pedro', 'Jesús', 'Pablo', 'Sergio', 'Rafael',\n 'Ángel', 'José Antonio', 'Fernando', 'Luis', 'Alberto', 'Jorge', 'Adrián',\n 'Álvaro', 'Diego', 'Raúl', 'Enrique', 'Rubén', 'Iván', 'Gonzalo', 'Hugo'\n ],\n firstNamesFemale: [\n 'María', 'Carmen', 'Ana', 'Isabel', 'Dolores', 'Pilar', 'Teresa', 'Rosa',\n 'Lucía', 'Paula', 'Sara', 'Laura', 'Marta', 'Elena', 'Cristina', 'Andrea',\n 'Sofía', 'Beatriz', 'Alba', 'Nuria', 'Silvia', 'Patricia', 'Raquel', 'Marina',\n 'Clara', 'Irene', 'Julia', 'Natalia', 'Rocío', 'Eva', 'Mónica', 'Susana'\n ],\n lastNames: [\n 'García', 'Fernández', 'González', 'Rodríguez', 'López', 'Martínez', 'Sánchez', 'Pérez',\n 'Gómez', 'Martín', 'Jiménez', 'Ruiz', 'Hernández', 'Díaz', 'Moreno', 'Muñoz',\n 'Álvarez', 'Romero', 'Alonso', 'Gutiérrez', 'Navarro', 'Torres', 'Domínguez',\n 'Vázquez', 'Ramos', 'Gil', 'Ramírez', 'Serrano', 'Blanco', 'Molina', 'Morales'\n ],\n streets: [\n 'Calle Mayor', 'Gran Vía', 'Calle Real', 'Paseo de la Castellana', 'Avenida de Andalucía',\n 'Calle Alcalá', 'Paseo del Prado', 'Calle de Serrano', 'Avenida Diagonal',\n 'Ronda de Segovia', 'Calle Toledo', 'Plaza de España', 'Calle Atocha',\n 'Paseo de Gracia', 'Calle Preciados', 'Avenida de América', 'Calle Génova'\n ],\n cities: [\n 'Madrid', 'Barcelona', 'Valencia', 'Sevilla', 'Zaragoza', 'Málaga', 'Murcia',\n 'Palma', 'Las Palmas', 'Bilbao', 'Alicante', 'Córdoba', 'Valladolid', 'Vigo',\n 'Gijón', 'Hospitalet', 'Vitoria', 'Granada', 'Elche', 'Oviedo', 'Badalona',\n 'Cartagena', 'Terrassa', 'Jerez', 'Sabadell', 'Santa Cruz', 'Pamplona', 'Almería'\n ],\n states: [\n 'Madrid', 'Cataluña', 'Comunidad Valenciana', 'Andalucía', 'Aragón', 'Galicia',\n 'Castilla y León', 'País Vasco', 'Canarias', 'Castilla-La Mancha', 'Murcia',\n 'Asturias', 'Islas Baleares', 'Extremadura', 'Navarra', 'Cantabria', 'La Rioja'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Ingeniero de Software', 'Jefe de Proyecto', 'Analista de Datos', 'Responsable de Marketing',\n 'Comercial', 'Contable', 'Jefe de RRHH', 'Diseñador', 'Responsable de Operaciones',\n 'Analista de Negocio', 'Jefe de Producto', 'Administrador de Sistemas'\n ],\n departments: [\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\n 'Atención al Cliente', 'Informática', 'Investigación y Desarrollo', 'Legal', 'Administración'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 300);\n const piso = Random.int(1, 8);\n const puerta = Random.pick(['A', 'B', 'C', 'D']);\n return `${street}, ${number}, ${piso}º ${puerta}, ${zipCode} ${city}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+34 ### ## ## ##',\n '### ## ## ##',\n '6## ## ## ##',\n '7## ## ## ##',\n '9## ## ## ##',\n '+34 6## ## ## ##'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.es', 'outlook.es', 'hotmail.es', 'terra.es',\n 'movistar.es', 'vodafone.es', 'orange.es', 'ono.com', 'wanadoo.es'\n ],\n\n companyNames: [\n 'Inditex SA', 'Banco Santander', 'BBVA', 'Iberdrola SA', 'Repsol SA',\n 'Telefónica SA', 'ACS Actividades', 'Iberia LAE', 'El Corte Inglés',\n 'Mercadona SA', 'Cellnex Telecom', 'Aena SME', 'Ferrovial SA',\n 'Acciona SA', 'CaixaBank', 'Sabadell', 'Mapfre SA'\n ],\n\n industries: [\n 'Tecnología', 'Finanzas', 'Salud', 'Educación', 'Venta minorista',\n 'Fabricación', 'Medios', 'Telecomunicaciones', 'Energía', 'Transporte',\n 'Inmobiliaria', 'Consultoría', 'Hostelería', 'Automoción', 'Aeroespacial'\n ],\n\n catchPhrases: [\n 'Innovando para el futuro', 'Su éxito es nuestro negocio', 'Construyendo el futuro juntos',\n 'Calidad y confianza', 'Excelencia y compromiso', 'Soluciones sostenibles',\n 'Creamos valor', 'Su socio de confianza', 'Liderando el cambio'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const nl_NL: LocaleDefinition = {\n firstNamesMale: [\n 'Jan', 'Pieter', 'Kees', 'Henk', 'Johan', 'Daan', 'Lucas', 'Sem', 'Bram', 'Thijs',\n 'Lars', 'Tim', 'Tom', 'Ruben', 'Sven', 'Stijn', 'Luuk', 'Jesse', 'Milan', 'Max',\n 'Finn', 'Teun', 'Bas', 'Nick', 'Thomas', 'Jasper', 'Jelle', 'Roel', 'Sander'\n ],\n firstNamesFemale: [\n 'Anna', 'Emma', 'Sophie', 'Julia', 'Lisa', 'Laura', 'Sanne', 'Eva', 'Lotte',\n 'Sara', 'Isa', 'Anne', 'Nina', 'Fleur', 'Femke', 'Iris', 'Noa', 'Maud', 'Roos',\n 'Eline', 'Demi', 'Lynn', 'Amy', 'Lieke', 'Naomi', 'Amber', 'Vera', 'Maja', 'Tess'\n ],\n lastNames: [\n 'de Jong', 'Jansen', 'de Vries', 'van den Berg', 'van Dijk', 'Bakker', 'Janssen',\n 'Visser', 'Smit', 'Meijer', 'de Boer', 'Mulder', 'de Groot', 'Bos', 'Vos',\n 'Peters', 'Hendriks', 'van Leeuwen', 'Dekker', 'Brouwer', 'de Wit', 'Dijkstra',\n 'Smits', 'de Graaf', 'van der Meer', 'van der Linden', 'Kok', 'Jacobs', 'de Haan'\n ],\n streets: [\n 'Hoofdstraat', 'Kerkstraat', 'Schoolstraat', 'Dorpsstraat', 'Stationsweg',\n 'Molenstraat', 'Nieuwstraat', 'Parkweg', 'Bosweg', 'Beatrixlaan', 'Wilhelminalaan',\n 'Julianastraat', 'Koningstraat', 'Prins Hendrikstraat', 'Marktstraat',\n 'Parallelweg', 'Gravenstraat', 'Binnenweg', 'Groeneweg', 'Lindenstraat'\n ],\n cities: [\n 'Amsterdam', 'Rotterdam', 'Den Haag', 'Utrecht', 'Eindhoven', 'Tilburg', 'Groningen',\n 'Almere', 'Breda', 'Nijmegen', 'Enschede', 'Haarlem', 'Arnhem', 'Zaanstad',\n 'Amersfoort', 'Apeldoorn', 'Hoofddorp', 'Maastricht', 'Leiden', 'Dordrecht',\n 'Zoetermeer', 'Zwolle', 'Deventer', 'Delft', 'Alkmaar', 'Heerlen', 'Venlo'\n ],\n states: [\n 'Noord-Holland', 'Zuid-Holland', 'Utrecht', 'Noord-Brabant', 'Gelderland',\n 'Overijssel', 'Limburg', 'Groningen', 'Friesland', 'Zeeland', 'Flevoland', 'Drenthe'\n ],\n zipCodePattern: '#### @@',\n jobTitles: [\n 'Software Engineer', 'Projectmanager', 'Data Analist', 'Marketingmanager',\n 'Vertegenwoordiger', 'Accountant', 'HR Manager', 'Designer', 'Operationeel Manager',\n 'Business Analist', 'Productmanager', 'Systeembeheerder', 'Kwaliteitsanalist'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Verkoop', 'Human Resources', 'Financiën', 'Operaties',\n 'Klantenservice', 'IT', 'Onderzoek en Ontwikkeling', 'Juridisch', 'Administratie'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 250);\n const letter = Random.boolean() ? Random.pick(['A', 'B', 'C']) : '';\n return `${street} ${number}${letter}, ${zipCode}, ${city}`;\n },\n\n generateZipCode(): string {\n const digits = String(Random.int(1000, 9999));\n const letters = String.fromCharCode(65 + Random.int(0, 25)) +\n String.fromCharCode(65 + Random.int(0, 25));\n return `${digits} ${letters}`;\n },\n\n phoneFormats: [\n '+31 (0)## ### ####',\n '0## ### ####',\n '+31 (0)# ### ####',\n '0# ### ####',\n '+31 (0)6 ########',\n '06 ########'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.nl', 'outlook.com', 'hotmail.nl', 'live.nl',\n 'ziggo.nl', 'kpnmail.nl', 'upcmail.nl', 'home.nl', 'hetnet.nl'\n ],\n\n companyNames: [\n 'Royal Dutch Shell', 'ASML Holding', 'Philips NV', 'Unilever NV',\n 'ING Groep', 'Heineken NV', 'Akzo Nobel', 'DSM NV', 'KLM Royal Dutch Airlines',\n 'Rabobank', 'ABN AMRO', 'Ahold Delhaize', 'Wolters Kluwer', 'Adyen NV',\n 'Just Eat Takeaway', 'Prosus NV', 'NN Group', 'Aegon NV'\n ],\n\n industries: [\n 'Technologie', 'Financiën', 'Gezondheidszorg', 'Onderwijs', 'Detailhandel',\n 'Productie', 'Media', 'Telecommunicatie', 'Energie', 'Transport',\n 'Onroerend goed', 'Consultancy', 'Horeca', 'Automotive', 'Luchtvaart'\n ],\n\n catchPhrases: [\n 'Innoveren voor de toekomst', 'Uw succes is onze zaak', 'Samen de toekomst bouwen',\n 'Kwaliteit en vertrouwen', 'Uitstekendheid en toewijding', 'Duurzame oplossingen',\n 'Waarde creëren', 'Uw vertrouwde partner', 'Verandering leiden'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const en_CA: LocaleDefinition = {\n firstNamesMale: [\n 'Liam', 'Noah', 'Oliver', 'Ethan', 'Logan', 'Lucas', 'Mason', 'Benjamin', 'Jack',\n 'James', 'William', 'Alexander', 'Michael', 'Jacob', 'Daniel', 'Matthew', 'Ryan',\n 'Nathan', 'Samuel', 'Owen', 'Dylan', 'Connor', 'Carter', 'Caleb', 'Luke', 'Wyatt',\n 'Thomas', 'Andrew', 'Nicholas', 'Adam', 'David', 'Joseph', 'Tyler', 'Hunter'\n ],\n firstNamesFemale: [\n 'Emma', 'Olivia', 'Ava', 'Sophia', 'Isabella', 'Charlotte', 'Amelia', 'Mia', 'Harper',\n 'Emily', 'Abigail', 'Ella', 'Madison', 'Scarlett', 'Grace', 'Chloe', 'Victoria',\n 'Sofia', 'Lily', 'Hannah', 'Avery', 'Zoe', 'Aria', 'Brooklyn', 'Claire', 'Leah',\n 'Maya', 'Addison', 'Riley', 'Sarah', 'Rachel', 'Jessica', 'Jennifer', 'Laura'\n ],\n lastNames: [\n 'Smith', 'Brown', 'Lee', 'Wilson', 'Martin', 'Roy', 'Tremblay', 'Anderson', 'Johnson',\n 'Taylor', 'Gagnon', 'White', 'Thomas', 'Thompson', 'Campbell', 'Clark', 'Lewis',\n 'Walker', 'Hall', 'Young', 'Allen', 'King', 'Wright', 'Scott', 'Robinson', 'Green',\n 'MacDonald', 'Murphy', 'Stewart', 'Cook', 'Bailey', 'Kelly', 'Ross', 'Mitchell'\n ],\n streets: [\n 'Main Street', 'King Street', 'Queen Street', 'Yonge Street', 'Bloor Street',\n 'Dundas Street', 'College Street', 'Bay Street', 'University Avenue', 'Front Street',\n 'Wellington Street', 'Richmond Street', 'Adelaide Street', 'Spadina Avenue',\n 'Parliament Street', 'Jarvis Street', 'Church Street', 'Victoria Street', 'First Avenue'\n ],\n cities: [\n 'Toronto', 'Montreal', 'Vancouver', 'Calgary', 'Edmonton', 'Ottawa', 'Winnipeg',\n 'Quebec City', 'Hamilton', 'Kitchener', 'London', 'Victoria', 'Halifax', 'Oshawa',\n 'Windsor', 'Saskatoon', 'Regina', 'Barrie', 'Kelowna', 'Abbotsford', 'Sherbrooke',\n 'Guelph', 'Kingston', 'Trois-Rivières', 'Sudbury', 'Thunder Bay', 'Moncton'\n ],\n states: [\n 'Ontario', 'Quebec', 'British Columbia', 'Alberta', 'Manitoba', 'Saskatchewan',\n 'Nova Scotia', 'New Brunswick', 'Newfoundland and Labrador', 'Prince Edward Island',\n 'Northwest Territories', 'Yukon', 'Nunavut'\n ],\n zipCodePattern: '@#@ #@#',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 9999);\n const unit = Random.boolean() ? `Unit ${Random.int(1, 100)}, ` : '';\n return `${unit}${number} ${street}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n const letters = 'ABCDEFGHJKLMNPRSTVWXYZ';\n const digits = '0123456789';\n return `${letters[Random.int(0, letters.length - 1)]}${digits[Random.int(0, 9)]}${letters[Random.int(0, letters.length - 1)]} ${digits[Random.int(0, 9)]}${letters[Random.int(0, letters.length - 1)]}${digits[Random.int(0, 9)]}`;\n },\n\n phoneFormats: [\n '+1 (###) ###-####',\n '(###) ###-####',\n '###-###-####',\n '###.###.####',\n '+1 ### ###-####',\n '1 (###) ###-####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.ca', 'outlook.com', 'hotmail.com', 'live.ca',\n 'sympatico.ca', 'rogers.com', 'shaw.ca', 'telus.net', 'bell.net'\n ],\n\n companyNames: [\n 'Royal Bank of Canada', 'Toronto-Dominion Bank', 'Enbridge Inc', 'Canadian National Railway',\n 'Bank of Nova Scotia', 'Bank of Montreal', 'Canadian Imperial Bank', 'Suncor Energy',\n 'Canadian Natural Resources', 'BCE Inc', 'Telus Corporation', 'Rogers Communications',\n 'George Weston Limited', 'Loblaw Companies', 'Empire Company', 'Metro Inc',\n 'Air Canada', 'Canadian Pacific Railway', 'Barrick Gold', 'Agnico Eagle Mines'\n ],\n\n industries: [\n 'Technology', 'Finance', 'Healthcare', 'Education', 'Retail',\n 'Manufacturing', 'Media', 'Telecommunications', 'Energy', 'Transport',\n 'Real Estate', 'Consulting', 'Hospitality', 'Automotive', 'Aerospace'\n ],\n\n catchPhrases: [\n 'Innovating for the future', 'Your success is our business', 'Building the future together',\n 'Quality and trust', 'Excellence and commitment', 'Sustainable solutions',\n 'Creating value', 'Your trusted partner', 'Leading the change'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const en_GB: LocaleDefinition = {\n firstNamesMale: [\n 'Oliver', 'George', 'Harry', 'Jack', 'Jacob', 'Noah', 'Charlie', 'Muhammad', 'Thomas',\n 'Oscar', 'William', 'James', 'Henry', 'Alfie', 'Leo', 'Joshua', 'Freddie', 'Ethan',\n 'Archie', 'Isaac', 'Alexander', 'Joseph', 'Edward', 'Samuel', 'Daniel', 'Max',\n 'Lucas', 'Mason', 'Harrison', 'Logan', 'Sebastian', 'Dylan', 'Arthur', 'Theo'\n ],\n firstNamesFemale: [\n 'Olivia', 'Amelia', 'Isla', 'Ava', 'Emily', 'Isabella', 'Mia', 'Poppy', 'Ella',\n 'Lily', 'Sophie', 'Grace', 'Sophia', 'Charlotte', 'Freya', 'Evie', 'Daisy', 'Florence',\n 'Alice', 'Jessica', 'Ivy', 'Millie', 'Ruby', 'Rosie', 'Scarlett', 'Isabelle',\n 'Phoebe', 'Willow', 'Sienna', 'Lucy', 'Emma', 'Harriet', 'Evelyn', 'Elsie'\n ],\n lastNames: [\n 'Smith', 'Jones', 'Taylor', 'Brown', 'Williams', 'Wilson', 'Johnson', 'Davies',\n 'Robinson', 'Wright', 'Thompson', 'Evans', 'Walker', 'White', 'Roberts', 'Green',\n 'Hall', 'Wood', 'Jackson', 'Clarke', 'Patel', 'Khan', 'Lewis', 'James', 'Roberts',\n 'Baker', 'Harrison', 'Hughes', 'Edwards', 'Collins', 'Morgan', 'Cooper', 'Bell'\n ],\n streets: [\n 'High Street', 'Station Road', 'Main Street', 'Park Road', 'Church Street',\n 'Victoria Road', 'Green Lane', 'Manor Road', 'Church Lane', 'Park Avenue',\n 'The Avenue', 'Queens Road', 'New Road', 'Grange Road', 'King Street', 'Kingsway',\n 'Windsor Road', 'London Road', 'Mill Lane', 'School Lane', 'The Green', 'The Crescent'\n ],\n cities: [\n 'London', 'Birmingham', 'Manchester', 'Leeds', 'Liverpool', 'Newcastle', 'Sheffield',\n 'Bristol', 'Glasgow', 'Leicester', 'Edinburgh', 'Bradford', 'Cardiff', 'Belfast',\n 'Nottingham', 'Coventry', 'Kingston upon Hull', 'Stoke-on-Trent', 'Plymouth',\n 'Wolverhampton', 'Derby', 'Southampton', 'Portsmouth', 'Brighton', 'Reading',\n 'Northampton', 'Luton', 'Bolton', 'Aberdeen', 'York', 'Oxford', 'Cambridge'\n ],\n states: [\n 'England', 'Scotland', 'Wales', 'Northern Ireland', 'Greater London', 'West Midlands',\n 'Greater Manchester', 'West Yorkshire', 'South Yorkshire', 'Merseyside', 'Tyne and Wear'\n ],\n zipCodePattern: '@## #@@',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 300);\n return `${number} ${street}, ${city}, ${zipCode}`;\n },\n\n generateZipCode(): string {\n const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n const area = letters[Random.int(0, letters.length - 1)] + letters[Random.int(0, letters.length - 1)];\n const district = Random.int(1, 99);\n const sector = Random.int(0, 9);\n const unit = letters[Random.int(0, letters.length - 1)] + letters[Random.int(0, letters.length - 1)];\n return `${area}${district} ${sector}${unit}`;\n },\n\n phoneFormats: [\n '+44 ## #### ####',\n '0## #### ####',\n '+44 (0)## #### ####',\n '07### ######',\n '07### ### ###',\n '020 #### ####',\n '01### ######',\n '01### ### ###'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.co.uk', 'outlook.co.uk', 'hotmail.co.uk', 'live.co.uk',\n 'btinternet.com', 'sky.com', 'talktalk.net', 'virginmedia.com', 'aol.co.uk'\n ],\n\n companyNames: [\n 'HSBC Holdings', 'BP plc', 'Shell plc', 'AstraZeneca', 'GlaxoSmithKline',\n 'Unilever PLC', 'Diageo plc', 'British American Tobacco', 'Rio Tinto Group',\n 'Barclays PLC', 'Lloyds Banking Group', 'NatWest Group', 'Vodafone Group',\n 'BT Group', 'Tesco PLC', 'Sainsbury\\'s', 'Marks & Spencer', 'Rolls-Royce Holdings'\n ],\n\n industries: [\n 'Technology', 'Finance', 'Healthcare', 'Education', 'Retail',\n 'Manufacturing', 'Media', 'Telecommunications', 'Energy', 'Transport',\n 'Real Estate', 'Consulting', 'Hospitality', 'Automotive', 'Aerospace'\n ],\n\n catchPhrases: [\n 'Innovating for the future', 'Your success is our business', 'Building the future together',\n 'Quality and trust', 'Excellence and commitment', 'Sustainable solutions',\n 'Creating value', 'Your trusted partner', 'Leading the change'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ru_RU: LocaleDefinition = {\n firstNamesMale: [\n 'Alexander', 'Dmitry', 'Maxim', 'Sergey', 'Andrey', 'Alexey', 'Artem', 'Ivan',\n 'Mikhail', 'Roman', 'Vladimir', 'Nikita', 'Yegor', 'Denis', 'Pavel', 'Kirill',\n 'Anton', 'Oleg', 'Konstantin', 'Igor', 'Evgeny', 'Viktor', 'Nikolay', 'Ilya',\n 'Timur', 'Daniil', 'Vadim', 'Georgy', 'Stanislav', 'Gleb', 'Ruslan', 'Yaroslav'\n ],\n firstNamesFemale: [\n 'Anastasia', 'Maria', 'Daria', 'Anna', 'Ekaterina', 'Victoria', 'Polina', 'Elizaveta',\n 'Alexandra', 'Natalia', 'Olga', 'Tatiana', 'Irina', 'Yulia', 'Elena', 'Ksenia',\n 'Svetlana', 'Marina', 'Vera', 'Sophia', 'Alina', 'Valeria', 'Veronika', 'Kristina',\n 'Diana', 'Lyubov', 'Galina', 'Nina', 'Larisa', 'Ludmila', 'Angelina', 'Arina'\n ],\n lastNames: [\n 'Ivanov', 'Smirnov', 'Kuznetsov', 'Popov', 'Vasiliev', 'Petrov', 'Sokolov', 'Mikhailov',\n 'Novikov', 'Fedorov', 'Morozov', 'Volkov', 'Alexeev', 'Lebedev', 'Semenov', 'Egorov',\n 'Pavlov', 'Kozlov', 'Stepanov', 'Nikolaev', 'Orlov', 'Andreev', 'Makarov', 'Nikitin',\n 'Zakharov', 'Zaitsev', 'Soloviev', 'Borisov', 'Yakovlev', 'Grigoriev', 'Romanov'\n ],\n streets: [\n 'Lenina Street', 'Pushkina Street', 'Sovetskaya Street', 'Tsentralnaya Street',\n 'Mira Avenue', 'Gagarina Street', 'Komsomolskaya Street', 'Kirova Street',\n 'Pobedy Avenue', 'Oktyabrskaya Street', 'Sadovaya Street', 'Moskovskaya Street',\n 'Nevsky Prospekt', 'Tverskaya Street', 'Arbat Street', 'Prospekt Mira',\n 'Kutuzovsky Prospekt', 'Leningradsky Prospekt', 'Novinsky Boulevard'\n ],\n cities: [\n 'Moscow', 'Saint Petersburg', 'Novosibirsk', 'Yekaterinburg', 'Kazan', 'Nizhny Novgorod',\n 'Chelyabinsk', 'Samara', 'Omsk', 'Rostov-on-Don', 'Ufa', 'Krasnoyarsk', 'Voronezh',\n 'Perm', 'Volgograd', 'Krasnodar', 'Saratov', 'Tyumen', 'Tolyatti', 'Izhevsk',\n 'Barnaul', 'Ulyanovsk', 'Irkutsk', 'Khabarovsk', 'Yaroslavl', 'Vladivostok', 'Tomsk'\n ],\n states: [\n 'Moscow Oblast', 'Saint Petersburg', 'Moscow', 'Sverdlovsk Oblast', 'Tatarstan',\n 'Krasnodar Krai', 'Chelyabinsk Oblast', 'Nizhny Novgorod Oblast', 'Samara Oblast',\n 'Bashkortostan', 'Rostov Oblast', 'Krasnoyarsk Krai', 'Novosibirsk Oblast',\n 'Perm Krai', 'Voronezh Oblast', 'Volgograd Oblast', 'Saratov Oblast'\n ],\n zipCodePattern: '######',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const building = Random.int(1, 200);\n const apartment = Random.int(1, 150);\n return `${state}, ${city}, ${street}, d. ${building}, kv. ${apartment}, ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(100000, 999999));\n },\n\n phoneFormats: [\n '+7 (###) ###-##-##',\n '8 (###) ###-##-##',\n '+7 ### ###-##-##',\n '8-###-###-##-##',\n '9##-###-##-##'\n ],\n\n emailDomains: [\n 'gmail.com', 'mail.ru', 'yandex.ru', 'rambler.ru', 'yahoo.com',\n 'outlook.com', 'hotmail.com', 'bk.ru', 'list.ru', 'inbox.ru'\n ],\n\n companyNames: [\n 'Газпром', 'Роснефть', 'Лукойл', 'Сбербанк', 'ВТБ',\n 'Российские железные дороги', 'Норникель', 'Новатэк', 'Татнефть',\n 'Аэрофлот', 'Яндекс', 'Mail.ru Group', 'Wildberries', 'Ozon',\n 'МТС', 'Билайн', 'МегаФон', 'Ростелеком', 'Алроса'\n ],\n\n industries: [\n 'Технологии', 'Финансы', 'Здравоохранение', 'Образование', 'Розничная торговля',\n 'Производство', 'Медиа', 'Телекоммуникации', 'Энергетика', 'Транспорт',\n 'Недвижимость', 'Консалтинг', 'Гостиницы', 'Автомобилестроение', 'Аэрокосмос'\n ],\n\n catchPhrases: [\n 'Инновации для будущего', 'Ваш успех - наше дело', 'Строим будущее вместе',\n 'Качество и надежность', 'Превосходство и приверженность', 'Устойчивые решения',\n 'Создаем ценность', 'Ваш надежный партнер', 'Ведущие перемены'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const pl_PL: LocaleDefinition = {\n firstNamesMale: [\n 'Jan', 'Andrzej', 'Piotr', 'Krzysztof', 'Stanisław', 'Tomasz', 'Paweł', 'Józef',\n 'Marcin', 'Michał', 'Grzegorz', 'Jerzy', 'Tadeusz', 'Adam', 'Łukasz', 'Zbigniew',\n 'Ryszard', 'Kazimierz', 'Marek', 'Mateusz', 'Kamil', 'Jakub', 'Robert', 'Rafał',\n 'Wojciech', 'Sławomir', 'Dariusz', 'Dawid', 'Bartosz', 'Kacper', 'Filip', 'Igor'\n ],\n firstNamesFemale: [\n 'Maria', 'Anna', 'Katarzyna', 'Małgorzata', 'Agnieszka', 'Barbara', 'Ewa', 'Krystyna',\n 'Elżbieta', 'Zofia', 'Teresa', 'Joanna', 'Magdalena', 'Monika', 'Jadwiga', 'Danuta',\n 'Irena', 'Halina', 'Helena', 'Beata', 'Aleksandra', 'Natalia', 'Dorota', 'Paulina',\n 'Sylwia', 'Iwona', 'Jolanta', 'Renata', 'Karolina', 'Weronika', 'Julia', 'Martyna'\n ],\n lastNames: [\n 'Nowak', 'Kowalski', 'Wiśniewski', 'Dąbrowski', 'Lewandowski', 'Wójcik', 'Kamiński',\n 'Kowalczyk', 'Zieliński', 'Szymański', 'Woźniak', 'Kozłowski', 'Jankowski', 'Wojciechowski',\n 'Kwiatkowski', 'Kaczmarek', 'Mazur', 'Krawczyk', 'Piotrowski', 'Grabowski', 'Nowakowski',\n 'Pawłowski', 'Michalski', 'Nowicki', 'Adamczyk', 'Dudek', 'Zając', 'Wieczorek', 'Jabłoński'\n ],\n streets: [\n 'ulica Główna', 'ulica Kwiatowa', 'ulica Słoneczna', 'ulica Polna', 'ulica Leśna',\n 'ulica Krótka', 'ulica Długa', 'ulica Szkolna', 'ulica Kościelna', 'ulica Parkowa',\n 'Plac Wolności', 'Aleja Solidarności', 'ulica 3 Maja', 'ulica Piłsudskiego',\n 'ulica Mickiewicza', 'ulica Słowackiego', 'ulica Kopernika', 'ulica Chopina'\n ],\n cities: [\n 'Warszawa', 'Kraków', 'Łódź', 'Wrocław', 'Poznań', 'Gdańsk', 'Szczecin', 'Bydgoszcz',\n 'Lublin', 'Białystok', 'Katowice', 'Gdynia', 'Częstochowa', 'Radom', 'Sosnowiec',\n 'Toruń', 'Kielce', 'Gliwice', 'Zabrze', 'Bytom', 'Olsztyn', 'Bielsko-Biała',\n 'Rzeszów', 'Ruda Śląska', 'Rybnik', 'Tychy', 'Dąbrowa Górnicza', 'Płock', 'Elbląg'\n ],\n states: [\n 'Mazowieckie', 'Śląskie', 'Wielkopolskie', 'Małopolskie', 'Dolnośląskie', 'Łódzkie',\n 'Pomorskie', 'Kujawsko-Pomorskie', 'Zachodniopomorskie', 'Lubelskie', 'Podkarpackie',\n 'Warmińsko-Mazurskie', 'Świętokrzyskie', 'Podlaskie', 'Opolskie', 'Lubuskie'\n ],\n zipCodePattern: '##-###',\n jobTitles: [\n 'Inżynier Oprogramowania', 'Kierownik Projektu', 'Analityk Danych', 'Kierownik Marketingu',\n 'Przedstawiciel Handlowy', 'Księgowy', 'Kierownik HR', 'Projektant', 'Kierownik Operacyjny',\n 'Analityk Biznesowy', 'Kierownik Produktu', 'Administrator Systemu', 'Inżynier Jakości'\n ],\n departments: [\n 'Inżynieria', 'Marketing', 'Sprzedaż', 'Zasoby Ludzkie', 'Finanse', 'Operacje',\n 'Obsługa Klienta', 'IT', 'Badania i Rozwój', 'Prawny', 'Administracja'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 150);\n const apartment = Random.int(1, 80);\n return `${street} ${number}/${apartment}, ${zipCode} ${city}, woj. ${state}`;\n },\n\n generateZipCode(): string {\n const part1 = String(Random.int(10, 99));\n const part2 = String(Random.int(100, 999));\n return `${part1}-${part2}`;\n },\n\n phoneFormats: [\n '+48 ### ### ###',\n '### ### ###',\n '+48 ## ### ## ##',\n '## ### ## ##',\n '+48 (##) ###-##-##',\n '(##) ###-##-##'\n ],\n\n emailDomains: [\n 'gmail.com', 'wp.pl', 'onet.pl', 'interia.pl', 'o2.pl',\n 'yahoo.com', 'outlook.com', 'hotmail.com', 'tlen.pl', 'gazeta.pl'\n ],\n\n companyNames: [\n 'PKN Orlen SA', 'CD Projekt SA', 'PZU SA', 'PKO Bank Polski', 'PGE SA',\n 'KGHM Polska Miedź', 'Tauron Polska Energia', 'Energa SA', 'LOTOS SA',\n 'Telekom Polska', 'Orange Polska', 'Play', 'Plus', 'T-Mobile Polska',\n 'Allegro.pl', 'Dino SA', 'Jeronimo Martins', 'Żabka Polska'\n ],\n\n industries: [\n 'Technologia', 'Finanse', 'Zdrowie', 'Edukacja', 'Detal',\n 'Produkcja', 'Media', 'Telekomunikacja', 'Energetyka', 'Transport',\n 'Nieruchomości', 'Konsulting', 'Hotele', 'Motoryzacja', 'Lotnictwo'\n ],\n\n catchPhrases: [\n 'Innowacje dla przyszłości', 'Twój sukces to nasza sprawa', 'Budujemy przyszłość razem',\n 'Jakość i zaufanie', 'Doskonałość i zaangażowanie', 'Zrównoważone rozwiązania',\n 'Tworzymy wartość', 'Twój zaufany partner', 'Prowadzimy zmiany'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const tr_TR: LocaleDefinition = {\n firstNamesMale: [\n 'Mehmet', 'Mustafa', 'Ahmet', 'Ali', 'Hüseyin', 'Hasan', 'İbrahim', 'İsmail',\n 'Yusuf', 'Murat', 'Süleyman', 'Ömer', 'Emre', 'Can', 'Burak', 'Kemal', 'Onur',\n 'Serkan', 'Fatih', 'Oğuz', 'Eren', 'Cem', 'Deniz', 'Barış', 'Kaan', 'Arda',\n 'Emir', 'Efe', 'Okan', 'Furkan', 'Yasin', 'Berkay', 'Umut', 'Volkan'\n ],\n firstNamesFemale: [\n 'Ayşe', 'Fatma', 'Emine', 'Hatice', 'Zeynep', 'Elif', 'Merve', 'Büşra', 'Esra',\n 'Sultan', 'Hanife', 'Meryem', 'Şeyma', 'Fadime', 'Cemre', 'Selin', 'Yasemin',\n 'Özlem', 'Gül', 'Aylin', 'Deniz', 'Ceren', 'Ece', 'Beyza', 'Tuğba', 'Burcu',\n 'Ebru', 'Nur', 'Buse', 'Defne', 'Ada', 'Aslı', 'Seda', 'Meltem'\n ],\n lastNames: [\n 'Yılmaz', 'Kaya', 'Demir', 'Şahin', 'Çelik', 'Yıldız', 'Yıldırım', 'Öztürk',\n 'Aydın', 'Özdemir', 'Arslan', 'Doğan', 'Kılıç', 'Aslan', 'Çetin', 'Kara',\n 'Koç', 'Kurt', 'Özkan', 'Şimşek', 'Erdoğan', 'Aksoy', 'Güneş', 'Çakır',\n 'Özgür', 'Korkmaz', 'Acar', 'Polat', 'Aktaş', 'Özer', 'Demirci', 'Yavuz'\n ],\n streets: [\n 'Atatürk Caddesi', 'İstiklal Caddesi', 'Cumhuriyet Caddesi', 'Barbaros Bulvarı',\n 'Bağdat Caddesi', 'Gazi Mustafa Kemal Bulvarı', 'Ankara Caddesi', 'İnönü Caddesi',\n 'Fevzi Çakmak Caddesi', 'Mithatpaşa Caddesi', 'Kızılay Meydanı', 'Fatih Caddesi',\n 'Yeşilırmak Sokak', 'Mehmet Akif Caddesi', 'Hürriyet Bulvarı', 'Mimar Sinan Caddesi'\n ],\n cities: [\n 'İstanbul', 'Ankara', 'İzmir', 'Bursa', 'Antalya', 'Adana', 'Konya', 'Gaziantep',\n 'Şanlıurfa', 'Kocaeli', 'Mersin', 'Diyarbakır', 'Hatay', 'Manisa', 'Kayseri',\n 'Samsun', 'Balıkesir', 'Kahramanmaraş', 'Van', 'Aydın', 'Denizli', 'Sakarya',\n 'Tekirdağ', 'Muğla', 'Eskişehir', 'Mardin', 'Malatya', 'Erzurum', 'Trabzon'\n ],\n states: [\n 'İstanbul', 'Ankara', 'İzmir', 'Bursa', 'Antalya', 'Adana', 'Konya', 'Gaziantep',\n 'Mersin', 'Kocaeli', 'Diyarbakır', 'Hatay', 'Manisa', 'Kayseri', 'Samsun',\n 'Balıkesir', 'Tekirdağ', 'Trabzon', 'Erzurum', 'Malatya', 'Van', 'Şanlıurfa'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Yazılım Mühendisi', 'Proje Yöneticisi', 'Veri Analisti', 'Pazarlama Müdürü',\n 'Satış Temsilcisi', 'Muhasebeci', 'İnsan Kaynakları Müdürü', 'Tasarımcı',\n 'Operasyon Müdürü', 'İş Analisti', 'Ürün Müdürü', 'Sistem Yöneticisi', 'Kalite Mühendisi'\n ],\n departments: [\n 'Mühendislik', 'Pazarlama', 'Satış', 'İnsan Kaynakları', 'Finans', 'Operasyon',\n 'Müşteri Hizmetleri', 'BT', 'Araştırma ve Geliştirme', 'Hukuk', 'İdari İşler'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const mahalle = Random.pick(['Merkez', 'Yeni', 'Çarşı', 'Kale', 'Bahçelievler']);\n const no = Random.int(1, 200);\n const daire = Random.int(1, 50);\n return `${mahalle} Mah., ${street} No:${no} D:${daire}, ${zipCode} ${city}/${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+90 (###) ###-####',\n '0(###) ###-####',\n '0### ###-####',\n '+90 ### ###-####',\n '05## ###-####',\n '053# ###-####',\n '054# ###-####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com', 'outlook.com', 'hotmail.com',\n 'yandex.com.tr', 'mail.ru', 'yandex.ru', 'live.com',\n 'icloud.com', 'protonmail.com', 'tutanota.com'\n ],\n\n companyNames: [\n 'Türk Hava Yolları', 'Türk Telekom', 'Tüpraş', 'BİM Birleşik Mağazalar',\n 'Ereğli Demir Çelik', 'Aygaz', 'Koç Holding', 'Sabancı Holding',\n 'Vestel', 'Arçelik', 'Turkcell', 'Vodafone Türkiye', 'Halkbank',\n 'Ziraat Bankası', 'İş Bankası', 'Garanti BBVA', 'Akbank', 'Yapı Kredi'\n ],\n\n industries: [\n 'Teknoloji', 'Finans', 'Sağlık', 'Eğitim', 'Perakende',\n 'Üretim', 'Medya', 'Telekomünikasyon', 'Enerji', 'Ulaştırma',\n 'Gayrimenkul', 'Danışmanlık', 'Otelcilik', 'Otomotiv', 'Havacılık'\n ],\n\n catchPhrases: [\n 'Gelecek için yenilik', 'Başarınız işimizdir', 'Birlikte gelecek inşa ediyoruz',\n 'Kalite ve güven', 'Mükemmellik ve bağlılık', 'Sürdürülebilir çözümler',\n 'Değer yaratıyoruz', 'Güvenilir ortağınız', 'Değişime öncülük ediyoruz'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const sv_SE: LocaleDefinition = {\n firstNamesMale: [\n 'Erik', 'Lars', 'Karl', 'Anders', 'Per', 'Johan', 'Nils', 'Lennart', 'Emil',\n 'Oscar', 'Gustav', 'Viktor', 'Axel', 'Filip', 'Elias', 'Lucas', 'Alexander',\n 'Oliver', 'William', 'Hugo', 'Liam', 'Noah', 'Adam', 'Isak', 'Anton', 'Theo',\n 'Mattias', 'Magnus', 'Stefan', 'Peter', 'Mikael', 'Daniel', 'Fredrik', 'Björn'\n ],\n firstNamesFemale: [\n 'Anna', 'Maria', 'Karin', 'Eva', 'Kristina', 'Lena', 'Emma', 'Sofia', 'Ingrid',\n 'Birgitta', 'Sara', 'Lisa', 'Linnea', 'Maja', 'Elin', 'Ida', 'Ebba', 'Wilma',\n 'Alice', 'Julia', 'Elsa', 'Alicia', 'Olivia', 'Astrid', 'Agnes', 'Ella', 'Freja',\n 'Klara', 'Saga', 'Isabelle', 'Emilia', 'Hanna', 'Amanda', 'Josefin', 'Ellen'\n ],\n lastNames: [\n 'Andersson', 'Johansson', 'Karlsson', 'Nilsson', 'Eriksson', 'Larsson', 'Olsson',\n 'Persson', 'Svensson', 'Gustafsson', 'Pettersson', 'Jonsson', 'Jansson', 'Hansson',\n 'Bengtsson', 'Jönsson', 'Lindberg', 'Jakobsson', 'Magnusson', 'Olofsson', 'Lindström',\n 'Lindqvist', 'Lindgren', 'Berg', 'Axelsson', 'Bergström', 'Lundberg', 'Lind', 'Lundgren'\n ],\n streets: [\n 'Storgatan', 'Drottninggatan', 'Kungsgatan', 'Biblioteksgatan', 'Birger Jarlsgatan',\n 'Sveavägen', 'Vasagatan', 'Hamngatan', 'Karlavägen', 'Valhallavägen',\n 'Linnégatan', 'Skånegatan', 'Södermalmsallén', 'Odengatan', 'Götgatan',\n 'Ringvägen', 'Hornsgatan', 'Folkungagatan', 'Östermalmsgatan', 'Norrtullsgatan'\n ],\n cities: [\n 'Stockholm', 'Göteborg', 'Malmö', 'Uppsala', 'Västerås', 'Örebro', 'Linköping',\n 'Helsingborg', 'Jönköping', 'Norrköping', 'Lund', 'Umeå', 'Gävle', 'Borås',\n 'Eskilstuna', 'Södertälje', 'Karlstad', 'Täby', 'Växjö', 'Halmstad', 'Sundsvall',\n 'Luleå', 'Trollhättan', 'Östersund', 'Borlänge', 'Falun', 'Skellefteå', 'Kalmar'\n ],\n states: [\n 'Stockholm', 'Västra Götaland', 'Skåne', 'Uppsala', 'Västmanland', 'Örebro',\n 'Östergötland', 'Jönköping', 'Kronoberg', 'Kalmar', 'Gotland', 'Blekinge',\n 'Halland', 'Värmland', 'Dalarna', 'Gävleborg', 'Västernorrland', 'Jämtland',\n 'Västerbotten', 'Norrbotten', 'Södermanland'\n ],\n zipCodePattern: '### ##',\n jobTitles: [\n 'Mjukvaruingenjör', 'Projektledare', 'Dataanalytiker', 'Marknadschef',\n 'Säljare', 'Revisor', 'HR-chef', 'Designer', 'Driftschef', 'Affärsanalytiker',\n 'Produktchef', 'Systemadministratör', 'Kvalitetsingenjör', 'Utvecklare'\n ],\n departments: [\n 'Teknik', 'Marknadsföring', 'Försäljning', 'Personal', 'Ekonomi', 'Drift',\n 'Kundtjänst', 'IT', 'Forskning och utveckling', 'Juridik', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 150);\n const apartment = Random.boolean() ? ` lgh ${Random.int(1001, 1299)}` : '';\n return `${street} ${number}${apartment}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n const part1 = String(Random.int(100, 999));\n const part2 = String(Random.int(10, 99));\n return `${part1} ${part2}`;\n },\n\n phoneFormats: [\n '+46 (0)# ### ###',\n '0# ### ###',\n '+46 (0)## ### ###',\n '0## ### ###',\n '+46 (0)### ### ##',\n '0### ### ##',\n '07# ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.se', 'outlook.com', 'hotmail.com', 'live.se',\n 'telia.com', 'comhem.se', 'bredband.net', 'swipnet.se', 'spray.se'\n ],\n\n companyNames: [\n 'Volvo AB', 'Ericsson', 'IKEA', 'H&M Hennes & Mauritz', 'Electrolux',\n 'Atlas Copco', 'Sandvik AB', 'SKF AB', 'Scania AB', 'AstraZeneca',\n 'SEB AB', 'Swedbank', 'Handelsbanken', 'Nordea', 'Telia Company',\n 'Investor AB', 'Husqvarna AB', 'ABB AB', 'Tetra Pak', 'Spotify AB'\n ],\n\n industries: [\n 'Teknik', 'Finans', 'Hälsovård', 'Utbildning', 'Detaljhandel',\n 'Tillverkning', 'Media', 'Telekom', 'Energi', 'Transport',\n 'Fastigheter', 'Konsult', 'Hotell', 'Automotive', 'Flyg'\n ],\n\n catchPhrases: [\n 'Innovativt för framtiden', 'Er framgång är vårt affär', 'Bygger framtiden tillsammans',\n 'Kvalitet och förtroende', 'Excellens och engagemang', 'Hållbara lösningar',\n 'Skapar värde', 'Er pålitliga partner', 'Leder förändring'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const nb_NO: LocaleDefinition = {\n firstNamesMale: [\n 'Jan', 'Per', 'Bjørn', 'Ole', 'Lars', 'Knut', 'Arne', 'Kjell', 'Tor', 'Svein',\n 'Thomas', 'Andreas', 'Martin', 'Daniel', 'Henrik', 'Magnus', 'Jonas', 'Emil',\n 'Alexander', 'Markus', 'Kristian', 'Fredrik', 'Marius', 'Erik', 'Øyvind',\n 'Adrian', 'Lucas', 'Tobias', 'Noah', 'Oliver', 'William', 'Filip', 'Jakob'\n ],\n firstNamesFemale: [\n 'Anne', 'Marit', 'Inger', 'Kari', 'Nina', 'Lise', 'Eva', 'Hilde', 'Ingrid',\n 'Emma', 'Nora', 'Sara', 'Sofie', 'Emilie', 'Ingrid', 'Thea', 'Maja', 'Eline',\n 'Ida', 'Julie', 'Maria', 'Vilde', 'Frida', 'Amalie', 'Victoria', 'Anna',\n 'Mathilde', 'Mia', 'Hanna', 'Linnea', 'Leah', 'Isabella', 'Ella', 'Hedda'\n ],\n lastNames: [\n 'Hansen', 'Johansen', 'Olsen', 'Larsen', 'Andersen', 'Pedersen', 'Nilsen', 'Kristiansen',\n 'Jensen', 'Karlsen', 'Johnsen', 'Pettersen', 'Eriksen', 'Berg', 'Haugen', 'Hagen',\n 'Johannessen', 'Andreassen', 'Jacobsen', 'Olsen', 'Solberg', 'Moen', 'Lund', 'Bakke',\n 'Lie', 'Strand', 'Nguyen', 'Halvorsen', 'Svendsen', 'Martinsen', 'Mikkelsen'\n ],\n streets: [\n 'Storgata', 'Kirkegata', 'Hovedgata', 'Karl Johans gate', 'Prinsens gate',\n 'Torgallmenningen', 'Grensen', 'Stortingsgata', 'Bogstadveien', 'Bygdøy allé',\n 'Parkveien', 'Skippergata', 'Kongens gate', 'Drammensveien', 'Pilestredet',\n 'Ullevålsveien', 'Markveien', 'Thorvald Meyers gate', 'Akersgata', 'Møllergata'\n ],\n cities: [\n 'Oslo', 'Bergen', 'Stavanger', 'Trondheim', 'Drammen', 'Fredrikstad', 'Kristiansand',\n 'Sandnes', 'Tromsø', 'Sarpsborg', 'Skien', 'Ålesund', 'Sandefjord', 'Haugesund',\n 'Tønsberg', 'Moss', 'Porsgrunn', 'Bodø', 'Arendal', 'Hamar', 'Larvik', 'Halden',\n 'Askøy', 'Lillehammer', 'Mo i Rana', 'Molde', 'Horten', 'Gjøvik', 'Kongsberg'\n ],\n states: [\n 'Oslo', 'Viken', 'Innlandet', 'Vestfold og Telemark', 'Agder', 'Rogaland',\n 'Vestland', 'Møre og Romsdal', 'Trøndelag', 'Nordland', 'Troms og Finnmark'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Programvareingeniør', 'Prosjektleder', 'Dataanalytiker', 'Markedssjef',\n 'Selger', 'Regnskapsfører', 'HR-leder', 'Designer', 'Driftsleder',\n 'Forretningsanalytiker', 'Produktleder', 'Systemadministrator', 'Kvalitetsingeniør'\n ],\n departments: [\n 'Ingeniør', 'Markedsføring', 'Salg', 'Personale', 'Økonomi', 'Drift',\n 'Kundeservice', 'IT', 'Forskning og utvikling', 'Juridisk', 'Administrasjon'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 200);\n return `${street} ${number}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 9999));\n },\n\n phoneFormats: [\n '+47 ### ## ###',\n '### ## ###',\n '+47 ## ## ## ##',\n '## ## ## ##',\n '4## ## ###',\n '9## ## ###'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.no', 'outlook.no', 'hotmail.no', 'live.no',\n 'online.no', 'home.no', 'getmail.no', 'broadpark.no', 'icloud.com'\n ],\n\n companyNames: [\n 'Equinor ASA', 'DNB ASA', 'Telenor ASA', 'Yara International', 'Norsk Hydro',\n 'Orkla ASA', 'Kongsberg Gruppen', 'Aker ASA', 'Mowi ASA', 'Lerøy Seafood',\n 'SalMar ASA', 'Gjensidige Forsikring', 'Storebrand', 'Wilh. Wilhelmsen',\n 'Frontline Ltd', 'Golden Ocean', 'Aker BP', 'Vår Energi', 'Höegh Autoliners'\n ],\n\n industries: [\n 'Teknologi', 'Finans', 'Helsevesen', 'Utdanning', 'Detaljhandel',\n 'Produksjon', 'Media', 'Telekom', 'Energi', 'Transport',\n 'Eiendom', 'Konsulent', 'Hoteller', 'Bilindustri', 'Luftfart'\n ],\n\n catchPhrases: [\n 'Innovasjon for fremtiden', 'Din suksess er vår sak', 'Bygger fremtiden sammen',\n 'Kvalitet og tillit', 'Fortreffelighet og engasjement', 'Bærekraftige løsninger',\n 'Skaper verdi', 'Din pålitelige partner', 'Leder endring'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const da_DK: LocaleDefinition = {\n firstNamesMale: [\n 'Morten', 'Peter', 'Jens', 'Michael', 'Lars', 'Henrik', 'Thomas', 'Søren',\n 'Christian', 'Martin', 'Niels', 'Rasmus', 'Anders', 'Mikkel', 'Frederik',\n 'Mathias', 'Casper', 'Simon', 'Mads', 'Jacob', 'Emil', 'Magnus', 'Lucas',\n 'Oliver', 'William', 'Noah', 'Oscar', 'Victor', 'Alexander', 'Sebastian'\n ],\n firstNamesFemale: [\n 'Anne', 'Kirsten', 'Mette', 'Hanne', 'Lene', 'Susanne', 'Camilla', 'Louise',\n 'Maria', 'Sofie', 'Julie', 'Emma', 'Ida', 'Anna', 'Laura', 'Sarah', 'Mathilde',\n 'Freja', 'Clara', 'Isabella', 'Alma', 'Ella', 'Karla', 'Josefine', 'Victoria',\n 'Caroline', 'Katrine', 'Line', 'Rikke', 'Trine', 'Charlotte', 'Maja'\n ],\n lastNames: [\n 'Nielsen', 'Jensen', 'Hansen', 'Pedersen', 'Andersen', 'Christensen', 'Larsen',\n 'Sørensen', 'Rasmussen', 'Jørgensen', 'Petersen', 'Madsen', 'Kristensen', 'Olsen',\n 'Thomsen', 'Christiansen', 'Poulsen', 'Johansen', 'Møller', 'Mortensen', 'Knudsen',\n 'Jakobsen', 'Laursen', 'Simonsen', 'Frederiksen', 'Kjær', 'Schmidt', 'Holm'\n ],\n streets: [\n 'Hovedgaden', 'Kirkevej', 'Skovvej', 'Parkvej', 'Strandvej', 'Møllevej',\n 'Skolevej', 'Birkevej', 'Rosenvej', 'Vestergade', 'Østergade', 'Nørregade',\n 'Søndergade', 'Tingvej', 'Lillevej', 'Storegade', 'Åvej', 'Byvej', 'Havnevej'\n ],\n cities: [\n 'København', 'Aarhus', 'Odense', 'Aalborg', 'Esbjerg', 'Randers', 'Kolding',\n 'Horsens', 'Vejle', 'Roskilde', 'Herning', 'Silkeborg', 'Næstved', 'Fredericia',\n 'Viborg', 'Køge', 'Holstebro', 'Taastrup', 'Slagelse', 'Hillerød', 'Sønderborg',\n 'Holbæk', 'Svendborg', 'Hjørring', 'Frederikshavn', 'Rønne', 'Nykøbing F'\n ],\n states: [\n 'Hovedstaden', 'Sjælland', 'Syddanmark', 'Midtjylland', 'Nordjylland'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Softwareingeniør', 'Projektleder', 'Dataanalytiker', 'Marketingchef',\n 'Salgsrepræsentant', 'Revisor', 'HR-chef', 'Designer', 'Driftschef',\n 'Forretningsanalytiker', 'Produktchef', 'Systemadministrator', 'Kvalitetsingeniør'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Salg', 'HR', 'Økonomi', 'Drift', 'Kundeservice',\n 'IT', 'Forskning og udvikling', 'Juridisk', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 200);\n const floor = Random.boolean() ? `, ${Random.int(1, 5)}. sal` : '';\n return `${street} ${number}${floor}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 9999));\n },\n\n phoneFormats: [\n '+45 ## ## ## ##',\n '## ## ## ##',\n '+45 (##) ## ## ##',\n '(##) ## ## ##',\n '2# ## ## ##',\n '3# ## ## ##',\n '4# ## ## ##',\n '5# ## ## ##'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.dk', 'outlook.dk', 'hotmail.dk', 'live.dk',\n 'mail.dk', 'telia.dk', 'tdc.dk', 'youmail.dk', 'post.tele.dk'\n ],\n\n companyNames: [\n 'A.P. Møller-Mærsk', 'Novo Nordisk', 'Carlsberg Group', 'Vestas Wind Systems',\n 'Danske Bank', 'Nordea', 'Ørsted', 'Coloplast', 'Demant',\n 'ISS A/S', 'DSV A/S', 'Pandora A/S', 'Royal Unibrew',\n 'Tryg A/S', 'GN Store Nord', 'Ambu A/S', 'Zealand Pharma'\n ],\n\n industries: [\n 'Teknologi', 'Finans', 'Sundhedsvæsen', 'Uddannelse', 'Detailhandel',\n 'Fremstilling', 'Medier', 'Telekommunikation', 'Energi', 'Transport',\n 'Ejendomme', 'Konsulentvirksomhed', 'Hoteller', 'Automobil', 'Luftfart'\n ],\n\n catchPhrases: [\n 'Innovation for fremtiden', 'Din succes er vores sag', 'Bygger fremtiden sammen',\n 'Kvalitet og tillid', 'Excellence og engagement', 'Bæredygtige løsninger',\n 'Skaber værdi', 'Din pålidelige partner', 'Leder forandring'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const fi_FI: LocaleDefinition = {\n firstNamesMale: [\n 'Jari', 'Mika', 'Mikko', 'Juha', 'Petri', 'Jukka', 'Antti', 'Timo', 'Ville',\n 'Matti', 'Pekka', 'Sami', 'Kari', 'Markus', 'Teemu', 'Joonas', 'Lauri', 'Tuomas',\n 'Eero', 'Oskari', 'Valtteri', 'Aleksi', 'Oliver', 'Emil', 'Elias', 'Leo',\n 'Onni', 'Aatos', 'Väinö', 'Eino', 'Veikko', 'Seppo', 'Heikki', 'Kalevi'\n ],\n firstNamesFemale: [\n 'Maria', 'Anna', 'Johanna', 'Sari', 'Hanna', 'Kaisa', 'Laura', 'Sanna', 'Minna',\n 'Tiina', 'Pirjo', 'Tuula', 'Eeva', 'Aino', 'Sofia', 'Emilia', 'Emma', 'Olivia',\n 'Aada', 'Helmi', 'Lilja', 'Elli', 'Isla', 'Venla', 'Linnea', 'Matilda', 'Aino',\n 'Kerttu', 'Ella', 'Anni', 'Iida', 'Sara', 'Oona', 'Pihla'\n ],\n lastNames: [\n 'Virtanen', 'Korhonen', 'Nieminen', 'Mäkinen', 'Hämäläinen', 'Laine', 'Heikkinen',\n 'Koskinen', 'Järvinen', 'Lehtonen', 'Lehtinen', 'Saarinen', 'Salminen', 'Heinonen',\n 'Niemi', 'Heikkilä', 'Kinnunen', 'Salonen', 'Tuominen', 'Laitinen', 'Turunen',\n 'Mattila', 'Rantanen', 'Karjalainen', 'Jokinen', 'Laaksonen', 'Savolainen', 'Mäkelä'\n ],\n streets: [\n 'Mannerheimintie', 'Hämeentie', 'Aleksanterinkatu', 'Esplanadi', 'Bulevardi',\n 'Pohjoinen Rautatiekatu', 'Fredrikinkatu', 'Iso Roobertinkatu', 'Kalevankatu',\n 'Töölönkatu', 'Runeberginkatu', 'Mechelininkatu', 'Hietaniemenkatu', 'Lapinlahdenkatu',\n 'Agricolankatu', 'Sturenkatu', 'Hämeentie', 'Koskelantie', 'Hitsaajankatu'\n ],\n cities: [\n 'Helsinki', 'Espoo', 'Tampere', 'Vantaa', 'Oulu', 'Turku', 'Jyväskylä', 'Lahti',\n 'Kuopio', 'Pori', 'Kouvola', 'Joensuu', 'Lappeenranta', 'Hämeenlinna', 'Vaasa',\n 'Rovaniemi', 'Seinäjoki', 'Mikkeli', 'Kotka', 'Salo', 'Porvoo', 'Kokkola',\n 'Lohja', 'Hyvinkää', 'Järvenpää', 'Rauma', 'Tuusula', 'Kajaani', 'Savonlinna'\n ],\n states: [\n 'Uusimaa', 'Varsinais-Suomi', 'Satakunta', 'Kanta-Häme', 'Pirkanmaa', 'Päijät-Häme',\n 'Kymenlaakso', 'Etelä-Karjala', 'Etelä-Savo', 'Pohjois-Savo', 'Pohjois-Karjala',\n 'Keski-Suomi', 'Etelä-Pohjanmaa', 'Pohjanmaa', 'Keski-Pohjanmaa', 'Pohjois-Pohjanmaa',\n 'Kainuu', 'Lappi', 'Ahvenanmaa'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Ohjelmistokehittäjä', 'Projektipäällikkö', 'Data-analyytikko', 'Markkinointipäällikkö',\n 'Myyntiedustaja', 'Kirjanpitäjä', 'HR-päällikkö', 'Suunnittelija', 'Toimintapäällikkö',\n 'Liiketoiminta-analyytikko', 'Tuotepäällikkö', 'Järjestelmänvalvoja', 'Laatuinsinööri'\n ],\n departments: [\n 'Kehitys', 'Markkinointi', 'Myynti', 'Henkilöstöhallinto', 'Talous', 'Toiminnot',\n 'Asiakaspalvelu', 'IT', 'Tutkimus ja kehitys', 'Oikeusosasto', 'Hallinto'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 200);\n const apartment = Random.boolean() ? ` ${Random.int(1, 99)}` : '';\n return `${street} ${number}${apartment}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+358 ## ### ####',\n '0## ### ####',\n '+358 (0)## ### ####',\n '0## #######',\n '04# ### ####',\n '040 ### ####',\n '044 ### ####',\n '045 ### ####',\n '050 ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.fi', 'outlook.fi', 'hotmail.fi', 'live.fi',\n 'elisanet.fi', 'luukku.com', 'kolumbus.fi', 'pp.inet.fi', 'mbnet.fi'\n ],\n\n companyNames: [\n 'Nokia Oyj', 'Neste Oyj', 'Nordea Bank', 'Kone Oyj', 'Fortum Oyj',\n 'UPM-Kymmene', 'Stora Enso', 'Wärtsilä Oyj', 'Metso Outotec', 'Sampo Group',\n 'Elisa Oyj', 'Telia Finland', 'DNA Oyj', 'Kesko Oyj', 'S-Group',\n 'Valio Ltd', 'Hartwall Oy', 'Fiskars Oyj', 'Marimekko Oyj', 'Rovio Entertainment'\n ],\n\n industries: [\n 'Teknologia', 'Rahoitus', 'Terveys', 'Koulutus', 'Vähittäiskauppa',\n 'Valmistus', 'Media', 'Telekommunikaatio', 'Energia', 'Kuljetus',\n 'Kiinteistöt', 'Konsultointi', 'Hotellit', 'Autoteollisuus', 'Ilmailu'\n ],\n\n catchPhrases: [\n 'Innovaatioita tulevaisuuteen', 'Menestyksesi on asiamme', 'Rakennamme tulevaisuutta yhdessä',\n 'Laatua ja luotettavuutta', 'Erinomaista sitoutumista', 'Kestäviä ratkaisuja',\n 'Luomme arvoa', 'Luotettava kumppanisi', 'Johdamme muutosta'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const es_AR: LocaleDefinition = {\n firstNamesMale: [\n 'Juan', 'Carlos', 'José', 'Luis', 'Jorge', 'Ricardo', 'Daniel', 'Marcelo',\n 'Alejandro', 'Pablo', 'Diego', 'Martín', 'Fernando', 'Gonzalo', 'Matías',\n 'Sebastián', 'Nicolás', 'Federico', 'Gabriel', 'Andrés', 'Ezequiel', 'Facundo',\n 'Maximiliano', 'Rodrigo', 'Germán', 'Luciano', 'Ignacio', 'Agustín', 'Franco'\n ],\n firstNamesFemale: [\n 'María', 'Ana', 'Laura', 'Marta', 'Silvia', 'Andrea', 'Gabriela', 'Claudia',\n 'Carolina', 'Valeria', 'Natalia', 'Paula', 'Verónica', 'Cecilia', 'Patricia',\n 'Sofía', 'Martina', 'Lucía', 'Valentina', 'Florencia', 'Camila', 'Milagros',\n 'Victoria', 'Catalina', 'Antonella', 'Agustina', 'Micaela', 'Julieta', 'Guadalupe'\n ],\n lastNames: [\n 'González', 'Rodríguez', 'Fernández', 'López', 'Martínez', 'García', 'Pérez', 'Gómez',\n 'Sánchez', 'Romero', 'Álvarez', 'Díaz', 'Torres', 'Ruiz', 'Ramírez', 'Flores',\n 'Benítez', 'Acosta', 'Medina', 'Castro', 'Molina', 'Moreno', 'Suárez', 'Vega',\n 'Pereyra', 'Gutiérrez', 'Silva', 'Vargas', 'Cabrera', 'Ramos', 'Navarro', 'Sosa'\n ],\n streets: [\n 'Avenida Corrientes', 'Avenida Santa Fe', 'Avenida 9 de Julio', 'Avenida Rivadavia',\n 'Calle Florida', 'Avenida de Mayo', 'Calle San Martín', 'Avenida Callao',\n 'Calle Lavalle', 'Avenida Córdoba', 'Avenida Belgrano', 'Calle Reconquista',\n 'Avenida Libertador', 'Calle Maipú', 'Avenida Pueyrredón', 'Calle Defensa',\n 'Avenida Independencia', 'Calle Rodríguez Peña', 'Avenida Las Heras'\n ],\n cities: [\n 'Buenos Aires', 'Córdoba', 'Rosario', 'Mendoza', 'La Plata', 'San Miguel de Tucumán',\n 'Mar del Plata', 'Salta', 'Santa Fe', 'San Juan', 'Resistencia', 'Neuquén',\n 'Corrientes', 'Santiago del Estero', 'Posadas', 'Bahía Blanca', 'Paraná',\n 'San Salvador de Jujuy', 'Formosa', 'La Rioja', 'Catamarca', 'San Luis', 'Río Cuarto'\n ],\n states: [\n 'Buenos Aires', 'Córdoba', 'Santa Fe', 'Mendoza', 'Tucumán', 'Entre Ríos',\n 'Salta', 'Chaco', 'Corrientes', 'Misiones', 'San Juan', 'Jujuy', 'Santiago del Estero',\n 'San Luis', 'Catamarca', 'La Rioja', 'Formosa', 'Neuquén', 'Río Negro',\n 'Chubut', 'Santa Cruz', 'Tierra del Fuego', 'La Pampa'\n ],\n zipCodePattern: '@####@@@',\n jobTitles: [\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\n 'Representante de Ventas', 'Contador', 'Gerente de RRHH', 'Diseñador', 'Gerente de Operaciones',\n 'Analista de Negocios', 'Gerente de Producto', 'Administrador de Sistemas'\n ],\n departments: [\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\n 'Atención al Cliente', 'IT', 'Investigación y Desarrollo', 'Legal', 'Administración'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 9999);\n const piso = Random.int(1, 20);\n const depto = Random.pick(['A', 'B', 'C', 'D', 'E']);\n return `${street} ${number}, Piso ${piso} Dpto ${depto}, ${zipCode} ${city}, ${state}`;\n },\n\n generateZipCode(): string {\n const letter = String.fromCharCode(65 + Random.int(0, 25));\n const digits = String(Random.int(1000, 9999));\n const letters = String.fromCharCode(65 + Random.int(0, 25)) +\n String.fromCharCode(65 + Random.int(0, 25)) +\n String.fromCharCode(65 + Random.int(0, 25));\n return `${letter}${digits}${letters}`;\n },\n\n phoneFormats: [\n '+54 9 ## #### ####',\n '0## #### ####',\n '+54 (0)## #### ####',\n '011 #### ####',\n '0341 #### ####',\n '0351 #### ####',\n '0261 #### ####',\n '0223 #### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com.ar', 'outlook.com', 'hotmail.com', 'live.com',\n 'fibertel.com.ar', 'speedy.com.ar', 'arnet.com.ar', 'cablenet.com.ar',\n 'telecentro.com.ar', 'claro.com.ar'\n ],\n\n companyNames: [\n 'YPF Sociedad Anónima', 'Grupo Galicia', 'Banco Santander Río', 'Banco Nación',\n 'Mercado Libre', 'Globant SE', 'Telecom Argentina', 'Telefónica Argentina',\n 'Aerolíneas Argentinas', 'Aluar Aluminio Argentino', 'Arcor SAIC', 'Molinos Río de la Plata',\n 'Grupo Clarín', 'Cablevisión', 'Pampa Energía', 'Transener SA', 'Edenor SA',\n 'Tenaris SA', 'Siderar SA', 'Petrobras Argentina'\n ],\n\n industries: [\n 'Tecnología', 'Finanzas', 'Salud', 'Educación', 'Venta minorista',\n 'Fabricación', 'Medios', 'Telecomunicaciones', 'Energía', 'Transporte',\n 'Inmobiliaria', 'Consultoría', 'Hostelería', 'Automoción', 'Aeroespacial'\n ],\n\n catchPhrases: [\n 'Innovando para el futuro', 'Su éxito es nuestro negocio', 'Construyendo el futuro juntos',\n 'Calidad y confianza', 'Excelencia y compromiso', 'Soluciones sostenibles',\n 'Creamos valor', 'Su socio de confianza', 'Liderando el cambio'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const es_CL: LocaleDefinition = {\n firstNamesMale: [\n 'Juan', 'Pedro', 'José', 'Luis', 'Carlos', 'Jorge', 'Miguel', 'Andrés',\n 'Francisco', 'Ricardo', 'Manuel', 'Alejandro', 'Diego', 'Sebastián', 'Cristian',\n 'Matías', 'Felipe', 'Gonzalo', 'Rodrigo', 'Javier', 'Pablo', 'Marcelo',\n 'Gabriel', 'Nicolás', 'Maximiliano', 'Tomás', 'Martín', 'Ignacio', 'Joaquín'\n ],\n firstNamesFemale: [\n 'María', 'Carmen', 'Rosa', 'Ana', 'Isabel', 'Teresa', 'Gloria', 'Patricia',\n 'Claudia', 'Andrea', 'Carolina', 'Francisca', 'Daniela', 'Camila', 'Javiera',\n 'Valentina', 'Constanza', 'Fernanda', 'Catalina', 'Isidora', 'Sofía', 'Martina',\n 'Florencia', 'Antonia', 'Emilia', 'Trinidad', 'Maite', 'Josefa', 'Amanda'\n ],\n lastNames: [\n 'González', 'Muñoz', 'Rojas', 'Díaz', 'Pérez', 'Soto', 'Contreras', 'Silva',\n 'Martínez', 'Sepúlveda', 'Morales', 'Rodríguez', 'López', 'Fuentes', 'Hernández',\n 'Torres', 'Araya', 'Flores', 'Espinoza', 'Valenzuela', 'Castillo', 'Tapia',\n 'Reyes', 'Vásquez', 'Ramírez', 'Núñez', 'Pizarro', 'Carrasco', 'Gutiérrez', 'Herrera'\n ],\n streets: [\n 'Avenida Libertador Bernardo O\\'Higgins', 'Avenida Providencia', 'Avenida Apoquindo',\n 'Avenida Las Condes', 'Avenida Vicuña Mackenna', 'Avenida Grecia', 'Calle Huérfanos',\n 'Calle Agustinas', 'Avenida Pedro de Valdivia', 'Avenida Bilbao', 'Calle Bandera',\n 'Avenida República', 'Calle Estado', 'Avenida Irarrázaval', 'Avenida Ñuñoa'\n ],\n cities: [\n 'Santiago', 'Valparaíso', 'Viña del Mar', 'Concepción', 'La Serena', 'Antofagasta',\n 'Temuco', 'Rancagua', 'Talca', 'Arica', 'Puerto Montt', 'Chillán', 'Iquique',\n 'Los Ángeles', 'Coyhaique', 'Punta Arenas', 'Valdivia', 'Osorno', 'Quillota',\n 'Curicó', 'Calama', 'Copiapó', 'Linares', 'Ovalle', 'San Antonio'\n ],\n states: [\n 'Región Metropolitana', 'Valparaíso', 'Biobío', 'Araucanía', 'Los Lagos',\n 'Maule', 'Antofagasta', 'Coquimbo', 'O\\'Higgins', 'Tarapacá', 'Los Ríos',\n 'Aysén', 'Magallanes', 'Atacama', 'Arica y Parinacota', 'Ñuble'\n ],\n zipCodePattern: '#######',\n jobTitles: [\n 'Ingeniero en Software', 'Jefe de Proyecto', 'Analista de Datos', 'Jefe de Marketing',\n 'Ejecutivo Comercial', 'Contador', 'Jefe de RRHH', 'Diseñador', 'Jefe de Operaciones',\n 'Analista de Negocios', 'Product Manager', 'Administrador de Sistemas'\n ],\n departments: [\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas', 'Operaciones',\n 'Atención al Cliente', 'TI', 'Investigación y Desarrollo', 'Legal', 'Administración'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 9999);\n const depto = Random.int(1, 500);\n return `${street} ${number}, Depto ${depto}, ${city}, ${state}, ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000000, 9999999));\n },\n\n phoneFormats: [\n '+56 9 #### ####',\n '9 #### ####',\n '+56 (9) #### ####',\n '(9) #### ####',\n '02 #### ####',\n '032 #### ####',\n '041 #### ####',\n '055 #### ####',\n '061 #### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.cl', 'outlook.cl', 'hotmail.cl', 'live.cl',\n 'vtr.net', 'movistar.cl', 'entel.cl', 'claro.cl', 'telsur.cl'\n ],\n\n companyNames: [\n 'Sociedad Química y Minera', 'Banco de Chile', 'Banco Santander Chile', 'Banco Estado',\n 'Latam Airlines', 'Falabella SA', 'Cencosud SA', 'Ripley Corp', 'Parque Arauco',\n 'Mallplaza', 'Empresas Copec', 'Colbún SA', 'Enel Chile', 'Enel Distribución',\n 'Chilectra', 'Aguas Andinas', 'CCU Compañía de las Cervecerías Unidas', 'Viña Concha y Toro'\n ],\n\n industries: [\n 'Tecnología', 'Finanzas', 'Salud', 'Educación', 'Venta minorista',\n 'Fabricación', 'Medios', 'Telecomunicaciones', 'Energía', 'Transporte',\n 'Inmobiliaria', 'Consultoría', 'Hostelería', 'Automoción', 'Aeroespacial'\n ],\n\n catchPhrases: [\n 'Innovando para el futuro', 'Su éxito es nuestro negocio', 'Construyendo el futuro juntos',\n 'Calidad y confianza', 'Excelencia y compromiso', 'Soluciones sostenibles',\n 'Creamos valor', 'Su socio de confianza', 'Liderando el cambio'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const th_TH: LocaleDefinition = {\n firstNamesMale: [\n 'Somchai', 'Somsak', 'Chai', 'Niran', 'Anon', 'Thana', 'Korn', 'Pong',\n 'Arun', 'Wit', 'Sak', 'Nop', 'Chai', 'Manop', 'Anucha', 'Weerasak',\n 'Surasak', 'Prasert', 'Phong', 'Sombat', 'Narong', 'Wichit', 'Lek', 'Noi',\n 'Anurak', 'Sarawut', 'Kittipong', 'Jirawat', 'Thanawat', 'Apichai'\n ],\n firstNamesFemale: [\n 'Somying', 'Noi', 'Lek', 'Malee', 'Siriporn', 'Suda', 'Nittaya', 'Pornpan',\n 'Orathai', 'Wanida', 'Suwanna', 'Pranee', 'Rattana', 'Chanya', 'Supaporn',\n 'Areerat', 'Apinya', 'Waranya', 'Jirapha', 'Panida', 'Kanokwan', 'Sudarat',\n 'Naruemon', 'Wilai', 'Amara', 'Thanaporn', 'Pimsiri', 'Sirikul', 'Nutcha'\n ],\n lastNames: [\n 'Srisuk', 'Tantrakul', 'Wongcharoen', 'Pholchai', 'Saetang', 'Chanthara', 'Wattana',\n 'Ruangsri', 'Pornprasert', 'Thongchai', 'Suwannaphon', 'Chaiyaporn', 'Kingkaew',\n 'Intharasombat', 'Duangkaew', 'Maneekan', 'Somkhuan', 'Thepthong', 'Ratanaporn',\n 'Wongsawat', 'Chanthaburi', 'Phongsri', 'Methaphan', 'Rattanawong', 'Phongphan'\n ],\n streets: [\n 'Sukhumvit Road', 'Rama IV Road', 'Silom Road', 'Sathorn Road', 'Ratchadamri Road',\n 'Petchburi Road', 'Rama I Road', 'Phayathai Road', 'Ratchadaphisek Road',\n 'Vibhavadi Rangsit Road', 'Ladprao Road', 'Charoenkrung Road', 'Yaowarat Road',\n 'Ratchawithi Road', 'Lan Luang Road', 'Phra Athit Road', 'Khao San Road'\n ],\n cities: [\n 'Bangkok', 'Nonthaburi', 'Nakhon Ratchasima', 'Chiang Mai', 'Hat Yai', 'Udon Thani',\n 'Pak Kret', 'Khon Kaen', 'Chon Buri', 'Nakhon Si Thammarat', 'Rayong', 'Lampang',\n 'Ubon Ratchathani', 'Surat Thani', 'Phuket', 'Nakhon Sawan', 'Chiang Rai', 'Saraburi',\n 'Samut Prakan', 'Trang', 'Phitsanulok', 'Krabi', 'Songkhla', 'Phetchaburi'\n ],\n states: [\n 'Bangkok', 'Nonthaburi', 'Pathum Thani', 'Samut Prakan', 'Chiang Mai', 'Chon Buri',\n 'Nakhon Ratchasima', 'Khon Kaen', 'Surat Thani', 'Udon Thani', 'Phuket', 'Songkhla',\n 'Rayong', 'Nakhon Si Thammarat', 'Chiang Rai', 'Ubon Ratchathani', 'Phitsanulok'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const soi = Random.int(1, 50);\n const number = Random.int(1, 999);\n return `${number} Soi ${soi}, ${street}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+66 # #### ####',\n '0# #### ####',\n '+66 (0)# #### ####',\n '08# ### ####',\n '09# ### ####',\n '06# ### ####',\n '02 ### ####',\n '03# ### ####',\n '04# ### ####',\n '05# ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.co.th', 'outlook.co.th', 'hotmail.co.th', 'live.co.th',\n 'hotmail.com', 'yahoo.com', 'thaimail.com', 'mailthai.com', 'sanook.com'\n ],\n\n companyNames: [\n 'PTT Public Company', 'Bangkok Bank', 'Kasikornbank', 'Siam Commercial Bank',\n 'Krung Thai Bank', 'Bank of Ayudhya', 'TMB Bank', 'Thanachart Bank',\n 'Advanced Info Service', 'True Corporation', 'DTAC', 'TOT Public Company',\n 'Thai Airways International', 'Bangkok Airways', 'AirAsia Thailand',\n 'Central Group', 'The Mall Group', 'Siam Piwat', 'Major Cineclic Group'\n ],\n\n industries: [\n 'เทคโนโลยี', 'การเงิน', 'การดูแลสุขภาพ', 'การศึกษา', 'การขายปลีก',\n 'การผลิต', 'สื่อ', 'โทรคมนาคม', 'พลังงาน', 'การขนส่ง',\n 'อสังหาริมทรัพย์', 'ที่ปรึกษา', 'โรงแรม', 'ยานยนต์', 'การบิน'\n ],\n\n catchPhrases: [\n 'นวัตกรรมเพื่ออนาคต', 'ความสำเร็จของคุณคือธุรกิจของเรา', 'สร้างอนาคตร่วมกัน',\n 'คุณภาพและความไว้วางใจ', 'ความเป็นเลิศและความมุ่งมั่น', 'โซลูชันที่ยั่งยืน',\n 'สร้างคุณค่า', 'พันธมิตรที่ไว้วางใจได้', 'นำไปสู่การเปลี่ยนแปลง'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const vi_VN: LocaleDefinition = {\n lastNames: [\n 'Nguyen', 'Tran', 'Le', 'Pham', 'Hoang', 'Huynh', 'Phan', 'Vu', 'Vo', 'Dang',\n 'Bui', 'Do', 'Ngo', 'Duong', 'Ly', 'Dinh', 'Trinh', 'Ha', 'Mai', 'Truong',\n 'To', 'Dao', 'Lam', 'Chau', 'Doan', 'Tang', 'Quach', 'Cao', 'Tong', 'Thai'\n ],\n firstNamesMale: [\n 'Van', 'Minh', 'Duc', 'Tuan', 'Thanh', 'Hieu', 'Khang', 'Phong', 'Hung',\n 'Quang', 'Hoang', 'Nam', 'Duy', 'Hai', 'Long', 'Khanh', 'Son', 'Thang',\n 'Dat', 'Huy', 'Trung', 'Tai', 'Vinh', 'Cuong', 'Khoa', 'Anh', 'Bao', 'Quan',\n 'Tien', 'Kien', 'Linh', 'Binh', 'An', 'Phu'\n ],\n firstNamesFemale: [\n 'Thi', 'Anh', 'Lan', 'Huong', 'Mai', 'Thu', 'Linh', 'Phuong', 'Ha', 'Hoa',\n 'Hang', 'Thuy', 'Yen', 'Nga', 'Nhu', 'Quynh', 'Van', 'Tuyet', 'Hien', 'Nhung',\n 'Dieu', 'Tam', 'My', 'Trang', 'Ngoc', 'Thao', 'Chi', 'Vy', 'Uyen', 'Khanh',\n 'Nhi', 'Bich', 'Trinh', 'Minh', 'Kim', 'Hong'\n ],\n streets: [\n 'Le Loi', 'Nguyen Hue', 'Tran Hung Dao', 'Ly Thai To', 'Hai Ba Trung',\n 'Ba Trieu', 'Phan Chu Trinh', 'Hoang Dieu', 'Nguyen Thai Hoc', 'Nguyen Trai',\n 'Tran Phu', 'Le Duan', 'Vo Thi Sau', 'Nguyen Du', 'Dong Khoi', 'Pasteur',\n 'Dien Bien Phu', 'Cach Mang Thang Tam', 'Vo Van Tan', 'Tran Quoc Toan'\n ],\n cities: [\n 'Ho Chi Minh City', 'Hanoi', 'Da Nang', 'Hai Phong', 'Can Tho', 'Bien Hoa',\n 'Hue', 'Nha Trang', 'Buon Ma Thuot', 'Vung Tau', 'Quy Nhon', 'Nam Dinh',\n 'Thai Nguyen', 'Phan Thiet', 'Thai Binh', 'Vinh', 'My Tho', 'Rach Gia',\n 'Long Xuyen', 'Cam Ranh', 'Ha Long', 'Pleiku', 'Bac Lieu', 'Cao Lanh'\n ],\n states: [\n 'Ho Chi Minh City', 'Hanoi', 'Da Nang', 'Hai Phong', 'Can Tho', 'Dong Nai',\n 'Binh Duong', 'Ba Ria-Vung Tau', 'Khanh Hoa', 'Lam Dong', 'Thua Thien Hue',\n 'Quang Nam', 'Thanh Hoa', 'Nghe An', 'Hai Duong', 'Nam Dinh', 'Thai Nguyen',\n 'Bac Ninh', 'Vinh Phuc', 'Phu Tho', 'Long An', 'Tien Giang', 'Ben Tre'\n ],\n zipCodePattern: '######',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${lastName} ${firstName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 999);\n const ward = Random.int(1, 20);\n const district = Random.int(1, 12);\n return `${number} ${street}, Ward ${ward}, District ${district}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(100000, 999999));\n },\n\n phoneFormats: [\n '+84 ## ### ####',\n '0## ### ####',\n '+84 (0)## ### ####',\n '09# ### ####',\n '03# ### ####',\n '05# ### ####',\n '07# ### ####',\n '08# ### ####',\n '02# ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com.vn', 'outlook.com', 'hotmail.com', 'live.com',\n 'yahoo.com', 'vnn.vn', 'hcm.vnn.vn', 'hn.vnn.vn', 'viettel.vn',\n 'vnnic.net.vn', 'fpt.vn', 'vtc.vn'\n ],\n\n companyNames: [\n 'Tập đoàn Vingroup', 'Tập đoàn Viettel', 'Tập đoàn FPT', 'Vietnam Oil and Gas Group',\n 'Ngân hàng Vietcombank', 'Ngân hàng BIDV', 'Ngân hàng VietinBank', 'Ngân hàng Techcombank',\n 'Vietnam Airlines', 'VietJet Air', 'Bamboo Airways', 'Tập đoàn TH',\n 'Tập đoàn Masan', 'Tập đoàn Vinamilk', 'Tập đoàn Hòa Phát', 'Tập đoàn Sun Group',\n 'Tập đoàn Novaland', 'Tập đoàn FLC', 'Tập đoàn T&T Group'\n ],\n\n industries: [\n 'Công nghệ', 'Tài chính', 'Y tế', 'Giáo dục', 'Bán lẻ',\n 'Sản xuất', 'Truyền thông', 'Viễn thông', 'Năng lượng', 'Giao thông',\n 'Bất động sản', 'Tư vấn', 'Khách sạn', 'Ô tô', 'Hàng không'\n ],\n\n catchPhrases: [\n 'Đổi mới cho tương lai', 'Thành công của bạn là công việc của chúng tôi', 'Xây dựng tương lai cùng nhau',\n 'Chất lượng và niềm tin', 'Xuất sắc và cam kết', 'Giải pháp bền vững',\n 'Tạo ra giá trị', 'Đối tác đáng tin cậy của bạn', 'Dẫn đầu sự thay đổi'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ms_MY: LocaleDefinition = {\n firstNamesMale: [\n 'Ahmad', 'Ali', 'Hassan', 'Ismail', 'Ibrahim', 'Mohd', 'Abdullah', 'Yusof',\n 'Rahman', 'Aziz', 'Zulkifli', 'Hamid', 'Halim', 'Hakim', 'Amin', 'Rashid',\n 'Fahmi', 'Faiz', 'Hafiz', 'Amirul', 'Danial', 'Syafiq', 'Iqbal', 'Haikal',\n 'Rizal', 'Ammar', 'Zikri', 'Arif', 'Ashraf', 'Firdaus', 'Nabil', 'Hakimi'\n ],\n firstNamesFemale: [\n 'Siti', 'Nur', 'Norain', 'Farah', 'Aisha', 'Zainab', 'Fatimah', 'Maryam',\n 'Amira', 'Sarah', 'Alya', 'Nadia', 'Sofea', 'Hanna', 'Aisyah', 'Najwa',\n 'Qistina', 'Irdina', 'Balqis', 'Ain', 'Nasuha', 'Izyan', 'Natasha', 'Erina',\n 'Fatin', 'Hanis', 'Syahirah', 'Insyirah', 'Marissa', 'Zulaikha', 'Nabila'\n ],\n lastNames: [\n 'Abdullah', 'Ahmad', 'Mohamed', 'Ibrahim', 'Hassan', 'Ismail', 'Rahman', 'Ali',\n 'Omar', 'Osman', 'Yusof', 'Aziz', 'Hamid', 'Salleh', 'Idris', 'Daud', 'Bakar',\n 'Mansor', 'Hussain', 'Yasin', 'Karim', 'Samad', 'Sulaiman', 'Hashim', 'Ramli',\n 'Harun', 'Wahab', 'Zain', 'Latif', 'Rashid', 'Ghani', 'Nasir', 'Rahim'\n ],\n streets: [\n 'Jalan Raja', 'Jalan Sultan', 'Jalan Tun Razak', 'Jalan Ampang', 'Jalan Bukit Bintang',\n 'Jalan Masjid India', 'Jalan Tuanku Abdul Rahman', 'Jalan Pudu', 'Jalan Imbi',\n 'Jalan Hang Tuah', 'Jalan Petaling', 'Jalan Chow Kit', 'Jalan Ipoh', 'Jalan Kelang Lama',\n 'Jalan Tun Perak', 'Jalan Munshi Abdullah', 'Jalan Genting Klang', 'Jalan Pahang'\n ],\n cities: [\n 'Kuala Lumpur', 'George Town', 'Ipoh', 'Shah Alam', 'Petaling Jaya', 'Johor Bahru',\n 'Malacca City', 'Alor Setar', 'Kuching', 'Kota Kinabalu', 'Seremban', 'Kuantan',\n 'Klang', 'Subang Jaya', 'Kota Bharu', 'Sandakan', 'Kuala Terengganu', 'Miri',\n 'Kangar', 'Putrajaya', 'Cyberjaya', 'Taiping', 'Sibu', 'Muar', 'Batu Pahat'\n ],\n states: [\n 'Selangor', 'Johor', 'Penang', 'Perak', 'Kedah', 'Pahang', 'Negeri Sembilan',\n 'Melaka', 'Kelantan', 'Terengganu', 'Perlis', 'Sabah', 'Sarawak',\n 'Kuala Lumpur', 'Putrajaya', 'Labuan'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 999);\n const taman = Random.pick(['Taman', 'Bandar', 'Kampung']);\n const area = Random.pick(['Indah', 'Jaya', 'Perdana', 'Utama', 'Sentosa']);\n return `No. ${number}, ${street}, ${taman} ${area}, ${zipCode} ${city}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+60 ## ### ####',\n '0## ### ####',\n '+60 (0)## ### ####',\n '01# ### ####',\n '012 ### ####',\n '013 ### ####',\n '014 ### ####',\n '016 ### ####',\n '017 ### ####',\n '018 ### ####',\n '019 ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com.my', 'outlook.com', 'hotmail.com', 'live.com',\n 'tm.net.my', 'maxis.com.my', 'digi.com.my', 'celcom.com.my', 'unifi.com.my'\n ],\n\n companyNames: [\n 'Petronas', 'Maybank', 'Public Bank', 'CIMB Group', 'Rhbank Malaysia',\n 'Tenaga Nasional', 'Petronas Dagangan', 'Axiata Group', 'Maxis Berhad',\n 'Digi.Com Berhad', 'Celcom Axiata', 'Umobile', 'AirAsia Berhad',\n 'Malaysia Airlines', 'Sime Darby', 'IOI Corporation', 'Sime Darby Plantation',\n 'Genting Berhad', 'Berjaya Group', 'YTL Corporation', 'Hong Leong Bank'\n ],\n\n industries: [\n 'Teknologi', 'Kewangan', 'Kesihatan', 'Pendidikan', 'Runcit',\n 'Perkilangan', 'Media', 'Telekomunikasi', 'Tenaga', 'Pengangkutan',\n 'Hartanah', 'Perundingan', 'Perhotelan', 'Automotif', 'Aerospace'\n ],\n\n catchPhrases: [\n 'Berinovasi untuk masa depan', 'Kejayaan anda adalah urusan kami', 'Membina masa depan bersama',\n 'Kualiti dan kepercayaan', 'Kecemerlangan dan komitmen', 'Penyelesaian mampan',\n 'Mencipta nilai', 'Rakan dipercayai anda', 'Memimpin perubahan'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const en_SG: LocaleDefinition = {\n firstNamesMale: [\n 'Wei Ming', 'Jun Hao', 'Ryan', 'Ethan', 'Kai', 'Zhi Hao', 'Darren', 'Marcus',\n 'Nicholas', 'Brandon', 'Wei Jie', 'Joshua', 'Matthew', 'Daniel', 'Benjamin',\n 'Aaron', 'Isaac', 'Jayden', 'Aiden', 'Sean', 'Adrian', 'Xavier', 'Lucas',\n 'Nathan', 'Tyler', 'Arjun', 'Ravi', 'Kumar', 'Raj', 'Vikram'\n ],\n firstNamesFemale: [\n 'Hui Ling', 'Xin Yi', 'Rachel', 'Chloe', 'Emma', 'Ying Xuan', 'Sarah', 'Emily',\n 'Michelle', 'Nicole', 'Angela', 'Amanda', 'Cheryl', 'Joyce', 'Melissa', 'Sophia',\n 'Isabelle', 'Natalie', 'Ashley', 'Crystal', 'Priya', 'Divya', 'Kavitha', 'Ananya',\n 'Shreya', 'Mei Ling', 'Li Ying', 'Jia Yi', 'Shi Hui', 'Wei Ting'\n ],\n lastNames: [\n 'Tan', 'Lim', 'Lee', 'Ng', 'Ong', 'Wong', 'Goh', 'Chua', 'Chan', 'Koh',\n 'Teo', 'Ang', 'Yeo', 'Lau', 'Tay', 'Ho', 'Low', 'Sim', 'Chia', 'Toh',\n 'Kumar', 'Singh', 'Kaur', 'Rahman', 'Ali', 'Hassan', 'Ahmad', 'Mohamed',\n 'Abdullah', 'Ibrahim', 'Chen', 'Wang', 'Zhang', 'Liu', 'Yang'\n ],\n streets: [\n 'Orchard Road', 'Raffles Boulevard', 'Shenton Way', 'Marina Boulevard', 'Beach Road',\n 'North Bridge Road', 'South Bridge Road', 'Collyer Quay', 'Robinson Road', 'Cecil Street',\n 'Eu Tong Sen Street', 'Serangoon Road', 'Geylang Road', 'Balestier Road', 'Thomson Road',\n 'Bukit Timah Road', 'Clementi Road', 'Jurong East Avenue', 'Ang Mo Kio Avenue', 'Tampines Avenue'\n ],\n cities: [\n 'Singapore', 'Woodlands', 'Tampines', 'Jurong East', 'Ang Mo Kio', 'Bedok',\n 'Hougang', 'Yishun', 'Sembawang', 'Bukit Panjang', 'Choa Chu Kang', 'Punggol',\n 'Sengkang', 'Pasir Ris', 'Clementi', 'Bukit Batok', 'Toa Payoh', 'Queenstown'\n ],\n states: [\n 'Central Region', 'North Region', 'North-East Region', 'East Region', 'West Region'\n ],\n zipCodePattern: '######',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Executive', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const block = Random.int(1, 999);\n const unit = `#${Random.int(1, 40).toString().padStart(2, '0')}-${Random.int(1, 999)}`;\n return `Blk ${block} ${street}, ${unit}, Singapore ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(100000, 999999));\n },\n\n phoneFormats: [\n '+65 #### ####',\n '#### ####',\n '+65 (####) ####',\n '(####) ####',\n '8### ####',\n '9### ####',\n '6### ####',\n '3### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com.sg', 'outlook.com', 'hotmail.com', 'live.com',\n 'singnet.com.sg', 'starhub.com', 'm1.com.sg', 'pacbell.net', 'asianet.com'\n ],\n\n companyNames: [\n 'DBS Bank', 'United Overseas Bank', 'Oversea-Chinese Banking Corporation',\n 'Singapore Telecommunications', 'Singapore Airlines', 'Singapore Exchange',\n 'CapitaLand Investment', 'City Developments Limited', 'Genting Singapore',\n 'Wilmar International', 'Thai Beverage', 'Yangzijiang Shipbuilding',\n 'Sembcorp Industries', 'Keppel Corporation', 'Jardine Cycle & Carriage',\n 'Hongkong Land', 'Dairy Farm International', 'Sheng Siong Group'\n ],\n\n industries: [\n 'Technology', 'Finance', 'Healthcare', 'Education', 'Retail',\n 'Manufacturing', 'Media', 'Telecommunications', 'Energy', 'Transport',\n 'Real Estate', 'Consulting', 'Hospitality', 'Automotive', 'Aerospace'\n ],\n\n catchPhrases: [\n 'Innovating for the future', 'Your success is our business', 'Building the future together',\n 'Quality and trust', 'Excellence and commitment', 'Sustainable solutions',\n 'Creating value', 'Your trusted partner', 'Leading the change'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const en_PH: LocaleDefinition = {\n firstNamesMale: [\n 'John', 'Mark', 'Angelo', 'Joshua', 'James', 'Michael', 'Christian', 'Carl',\n 'Kenneth', 'Anthony', 'Kristian', 'Daniel', 'Joseph', 'Gabriel', 'Rafael',\n 'Emmanuel', 'Nathaniel', 'Matthew', 'Andrew', 'Samuel', 'Diego', 'Luis',\n 'Marco', 'Paolo', 'Adrian', 'Ryan', 'Ethan', 'Jacob', 'Nathan', 'Vincent'\n ],\n firstNamesFemale: [\n 'Maria', 'Anna', 'Princess', 'Angel', 'Andrea', 'Nicole', 'Michelle', 'Sarah',\n 'Angelica', 'Christine', 'Patricia', 'Mary', 'Rose', 'Joy', 'Grace', 'Faith',\n 'Hope', 'Kristine', 'Jasmine', 'Sofia', 'Isabella', 'Gabriela', 'Katrina',\n 'Samantha', 'Jessica', 'Jennifer', 'Stephanie', 'Alexandra', 'Alessandra', 'Bianca'\n ],\n lastNames: [\n 'dela Cruz', 'Garcia', 'Reyes', 'Ramos', 'Mendoza', 'Santos', 'Flores', 'Gonzales',\n 'Bautista', 'Cruz', 'Fernandez', 'Lopez', 'Perez', 'Martinez', 'Rivera', 'Torres',\n 'Aquino', 'Villanueva', 'Castro', 'Santiago', 'Morales', 'Valdez', 'Navarro',\n 'Alvarez', 'Salazar', 'Romero', 'Manuel', 'Castillo', 'Aguilar', 'Mercado'\n ],\n streets: [\n 'EDSA', 'Roxas Boulevard', 'Quezon Avenue', 'Taft Avenue', 'España Boulevard',\n 'Ayala Avenue', 'Ortigas Avenue', 'Shaw Boulevard', 'Commonwealth Avenue',\n 'C-5 Road', 'Katipunan Avenue', 'Magsaysay Avenue', 'Rizal Avenue', 'Del Pilar Street',\n 'Araneta Avenue', 'Aurora Boulevard', 'Marcos Highway', 'Bonifacio Drive'\n ],\n cities: [\n 'Manila', 'Quezon City', 'Makati', 'Pasig', 'Taguig', 'Pasay', 'Parañaque',\n 'Las Piñas', 'Muntinlupa', 'Caloocan', 'Malabon', 'Navotas', 'Valenzuela',\n 'Marikina', 'San Juan', 'Mandaluyong', 'Cebu City', 'Davao City', 'Zamboanga City',\n 'Cagayan de Oro', 'General Santos', 'Iloilo City', 'Bacolod', 'Baguio'\n ],\n states: [\n 'Metro Manila', 'Calabarzon', 'Central Luzon', 'Central Visayas', 'Western Visayas',\n 'Davao Region', 'Northern Mindanao', 'Ilocos Region', 'Cagayan Valley', 'Bicol Region',\n 'Eastern Visayas', 'Zamboanga Peninsula', 'SOCCSKSARGEN', 'Cordillera', 'MIMAROPA'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Assurance Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 999);\n const barangay = Random.pick(['Barangay San Antonio', 'Barangay Santa Cruz', 'Barangay San Jose', 'Barangay Poblacion']);\n return `${number} ${street}, ${barangay}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 9999));\n },\n\n phoneFormats: [\n '+63 ### ### ####',\n '0### ### ####',\n '+63 (0)### ### ####',\n '09## ### ####',\n '091# ### ####',\n '092# ### ####',\n '093# ### ####',\n '094# ### ####',\n '095# ### ####',\n '096# ### ####',\n '097# ### ####',\n '098# ### ####',\n '099# ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com.ph', 'outlook.com', 'hotmail.com', 'live.com',\n 'yahoo.com', 'pldtdsl.net', 'globe.com.ph', 'smart.com.ph', 'sun.com.ph'\n ],\n\n companyNames: [\n 'SM Investments Corporation', 'Ayala Corporation', 'JG Summit Holdings', 'Metro Pacific Investments',\n 'BDO Unibank', 'Bank of the Philippine Islands', 'Metropolitan Bank & Trust', 'Philippine National Bank',\n 'PLDT Inc', 'Globe Telecom', 'Philippine Long Distance Telephone', 'Jollibee Foods Corporation',\n 'SM Prime Holdings', 'Ayala Land Inc', 'Megaworld Corporation', 'Robinsons Land Corporation',\n 'Cebu Pacific Air', 'Philippine Airlines', 'Manila Electric Company', 'Aboitiz Power Corporation'\n ],\n\n industries: [\n 'Technology', 'Finance', 'Healthcare', 'Education', 'Retail',\n 'Manufacturing', 'Media', 'Telecommunications', 'Energy', 'Transport',\n 'Real Estate', 'Consulting', 'Hospitality', 'Automotive', 'Aerospace'\n ],\n\n catchPhrases: [\n 'Innovating for the future', 'Your success is our business', 'Building the future together',\n 'Quality and trust', 'Excellence and commitment', 'Sustainable solutions',\n 'Creating value', 'Your trusted partner', 'Leading the change'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const en_NZ: LocaleDefinition = {\n firstNamesMale: [\n 'Oliver', 'Jack', 'Noah', 'William', 'James', 'Lucas', 'Mason', 'Ethan', 'Leo',\n 'Liam', 'Benjamin', 'Hunter', 'Joshua', 'Samuel', 'Daniel', 'Matthew', 'Joseph',\n 'Thomas', 'Harry', 'Charlie', 'Jacob', 'Archie', 'George', 'Max', 'Oscar',\n 'Finn', 'Isaac', 'Connor', 'Ryan', 'Lachlan', 'Cooper', 'Riley', 'Flynn'\n ],\n firstNamesFemale: [\n 'Charlotte', 'Olivia', 'Amelia', 'Isla', 'Mia', 'Harper', 'Emily', 'Ella', 'Sophie',\n 'Ava', 'Lily', 'Grace', 'Chloe', 'Isabella', 'Ruby', 'Lucy', 'Zoe', 'Emma',\n 'Hannah', 'Aria', 'Scarlett', 'Poppy', 'Evelyn', 'Willow', 'Sienna', 'Ivy',\n 'Hazel', 'Aurora', 'Madison', 'Layla', 'Alice', 'Eleanor', 'Maya'\n ],\n lastNames: [\n 'Smith', 'Wilson', 'Taylor', 'Brown', 'Williams', 'Jones', 'Anderson', 'White',\n 'Thompson', 'Davis', 'Martin', 'Clark', 'Robinson', 'Walker', 'Young', 'Harris',\n 'King', 'Scott', 'Green', 'Adams', 'Baker', 'Campbell', 'Mitchell', 'Roberts',\n 'Carter', 'Phillips', 'Evans', 'Turner', 'Collins', 'Stewart', 'Morris', 'Murphy'\n ],\n streets: [\n 'Queen Street', 'High Street', 'Main Street', 'Victoria Street', 'Lambton Quay',\n 'Courtenay Place', 'Cuba Street', 'Willis Street', 'The Terrace', 'Customhouse Quay',\n 'Karangahape Road', 'Ponsonby Road', 'Dominion Road', 'Great South Road', 'Broadway',\n 'Riccarton Road', 'Colombo Street', 'Cashel Street', 'Manchester Street', 'Hereford Street'\n ],\n cities: [\n 'Auckland', 'Wellington', 'Christchurch', 'Hamilton', 'Tauranga', 'Lower Hutt',\n 'Dunedin', 'Palmerston North', 'Napier', 'Porirua', 'Hibiscus Coast', 'New Plymouth',\n 'Rotorua', 'Whangarei', 'Nelson', 'Hastings', 'Invercargill', 'Upper Hutt',\n 'Gisborne', 'Taupo', 'Blenheim', 'Pukekohe', 'Timaru', 'Whanganui'\n ],\n states: [\n 'Auckland', 'Wellington', 'Canterbury', 'Waikato', 'Bay of Plenty', 'Otago',\n 'Manawatu-Wanganui', 'Hawke\\'s Bay', 'Northland', 'Taranaki', 'Southland',\n 'Nelson', 'Marlborough', 'Tasman', 'Gisborne', 'West Coast'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 999);\n const unit = Random.boolean() ? `Unit ${Random.int(1, 50)}, ` : '';\n return `${unit}${number} ${street}, ${city} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 9999));\n },\n\n phoneFormats: [\n '+64 # ### ####',\n '0# ### ####',\n '+64 (0)# ### ####',\n '02# ### ####',\n '021 ### ####',\n '022 ### ####',\n '027 ### ####',\n '03 ### ####',\n '04 ### ####',\n '06 ### ####',\n '07 ### ####',\n '09 ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.co.nz', 'outlook.co.nz', 'hotmail.co.nz', 'live.co.nz',\n 'xtra.co.nz', 'vodafone.co.nz', 'slingshot.co.nz', 'orcon.net.nz', 'ihug.co.nz'\n ],\n\n companyNames: [\n 'Air New Zealand', 'Fisher & Paykel Healthcare', 'Contact Energy', 'Meridian Energy',\n 'Spark New Zealand', 'Vector Limited', 'Infratil Limited', 'Kathmandu Holdings',\n 'The Warehouse Group', 'Foodstuffs North Island', 'Foodstuffs South Island',\n 'ANZ Bank New Zealand', 'ASB Bank', 'BNZ Bank', 'Westpac New Zealand',\n 'Fletcher Building', 'Goodman Property Trust', 'Kiwi Property Group', 'Z Energy'\n ],\n\n industries: [\n 'Technology', 'Finance', 'Healthcare', 'Education', 'Retail',\n 'Manufacturing', 'Media', 'Telecommunications', 'Energy', 'Transport',\n 'Real Estate', 'Consulting', 'Hospitality', 'Automotive', 'Aerospace'\n ],\n\n catchPhrases: [\n 'Innovating for the future', 'Your success is our business', 'Building the future together',\n 'Quality and trust', 'Excellence and commitment', 'Sustainable solutions',\n 'Creating value', 'Your trusted partner', 'Leading the change'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const en_ZA: LocaleDefinition = {\n firstNamesMale: [\n 'Liam', 'Joshua', 'Daniel', 'Matthew', 'Michael', 'Ethan', 'David', 'Ryan',\n 'Connor', 'Benjamin', 'Luke', 'Thabang', 'Sipho', 'Thabo', 'Mandla', 'Bongani',\n 'Jabulani', 'Sibusiso', 'Nkosinathi', 'Siyabonga', 'Andile', 'Lwazi', 'Sandile',\n 'Dylan', 'Tyler', 'Nathan', 'Christian', 'Kyle', 'Cameron', 'Jordan'\n ],\n firstNamesFemale: [\n 'Emma', 'Olivia', 'Sarah', 'Jessica', 'Emily', 'Hannah', 'Nicole', 'Amy',\n 'Chloe', 'Sophie', 'Nomsa', 'Thandi', 'Zanele', 'Precious', 'Nomvula', 'Lindiwe',\n 'Sibongile', 'Nokuthula', 'Busisiwe', 'Nompumelelo', 'Zinhle', 'Ayanda', 'Noluthando',\n 'Madison', 'Mia', 'Kayla', 'Paige', 'Amelia', 'Grace', 'Isabella'\n ],\n lastNames: [\n 'Smith', 'van der Merwe', 'Botha', 'Naidoo', 'Pillay', 'Mthembu', 'Dlamini', 'Nkosi',\n 'Zulu', 'Ndlovu', 'Ngcobo', 'Khumalo', 'Sithole', 'Mahlangu', 'Molefe', 'Mokoena',\n 'Du Plessis', 'Pretorius', 'Nel', 'Meyer', 'Venter', 'Muller', 'Marais', 'Coetzee',\n 'Williams', 'Jones', 'Brown', 'Taylor', 'Johnson', 'Davies', 'Singh', 'Patel'\n ],\n streets: [\n 'Mandela Street', 'Church Street', 'Main Road', 'Voortrekker Road', 'Oxford Road',\n 'Rissik Street', 'Commissioner Street', 'Jorrisen Street', 'Rivonia Road', 'William Nicol Drive',\n 'Jan Smuts Avenue', 'Beyers Naude Drive', 'Long Street', 'Adderley Street', 'Strand Street',\n 'Kloof Street', 'Sea Point Promenade', 'Smith Street', 'Anton Lembede Street', 'Victoria Embankment'\n ],\n cities: [\n 'Johannesburg', 'Cape Town', 'Durban', 'Pretoria', 'Port Elizabeth', 'Bloemfontein',\n 'East London', 'Pietermaritzburg', 'Polokwane', 'Nelspruit', 'Kimberley', 'Rustenburg',\n 'George', 'Midrand', 'Centurion', 'Sandton', 'Soweto', 'Benoni', 'Boksburg',\n 'Germiston', 'Randburg', 'Roodepoort', 'Vereeniging', 'Welkom', 'Newcastle'\n ],\n states: [\n 'Gauteng', 'Western Cape', 'KwaZulu-Natal', 'Eastern Cape', 'Free State',\n 'Limpopo', 'Mpumalanga', 'North West', 'Northern Cape'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'Systems Administrator', 'Quality Assurance Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 999);\n return `${number} ${street}, ${city}, ${state}, ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 9999));\n },\n\n phoneFormats: [\n '+27 ## ### ####',\n '0## ### ####',\n '+27 (0)## ### ####',\n '0## #### ####',\n '06# ### ####',\n '07# ### ####',\n '08# ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.co.za', 'outlook.co.za', 'hotmail.co.za', 'live.co.za',\n 'telkomsa.net', 'mweb.co.za', 'vodamail.co.za', 'absamail.co.za', 'iafrica.com'\n ],\n\n companyNames: [\n 'Naspers Limited', 'Prosus NV', 'Anglo American plc', 'BHP Billiton', 'Rio Tinto',\n 'Standard Bank Group', 'FirstRand Limited', 'Absa Group', 'Nedbank Group',\n 'Capitec Bank', 'Discovery Limited', 'Old Mutual', 'Sanlam Limited',\n 'MTN Group', 'Telkom SA', 'Vodacom Group', 'Shoprite Holdings', 'Pick n Pay Stores',\n 'Woolworths Holdings', 'Massmart Holdings', 'Sasol Limited', 'Impala Platinum'\n ],\n\n industries: [\n 'Technology', 'Finance', 'Healthcare', 'Education', 'Retail',\n 'Manufacturing', 'Media', 'Telecommunications', 'Energy', 'Transport',\n 'Real Estate', 'Consulting', 'Hospitality', 'Automotive', 'Aerospace'\n ],\n\n catchPhrases: [\n 'Innovating for the future', 'Your success is our business', 'Building the future together',\n 'Quality and trust', 'Excellence and commitment', 'Sustainable solutions',\n 'Creating value', 'Your trusted partner', 'Leading the change'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const pt_PT: LocaleDefinition = {\n firstNamesMale: [\n 'João', 'Francisco', 'Miguel', 'Rodrigo', 'Pedro', 'Tiago', 'Gonçalo', 'Diogo',\n 'José', 'António', 'Manuel', 'Carlos', 'Paulo', 'Rui', 'Luís', 'Bruno',\n 'Ricardo', 'Hugo', 'André', 'Nuno', 'Rafael', 'Daniel', 'David', 'Tomás',\n 'Bernardo', 'Martim', 'Santiago', 'Afonso', 'Duarte', 'Gabriel', 'Gustavo'\n ],\n firstNamesFemale: [\n 'Maria', 'Ana', 'Beatriz', 'Sofia', 'Mariana', 'Inês', 'Carolina', 'Catarina',\n 'Rita', 'Joana', 'Francisca', 'Teresa', 'Helena', 'Isabel', 'Leonor', 'Lara',\n 'Sara', 'Marta', 'Margarida', 'Diana', 'Matilde', 'Alice', 'Mafalda', 'Adriana',\n 'Carlota', 'Constança', 'Gabriela', 'Luísa', 'Melissa', 'Raquel', 'Cristina'\n ],\n lastNames: [\n 'Silva', 'Santos', 'Ferreira', 'Pereira', 'Oliveira', 'Costa', 'Rodrigues', 'Martins',\n 'Jesus', 'Sousa', 'Fernandes', 'Gonçalves', 'Gomes', 'Lopes', 'Marques', 'Alves',\n 'Almeida', 'Ribeiro', 'Pinto', 'Carvalho', 'Teixeira', 'Moreira', 'Correia', 'Mendes',\n 'Nunes', 'Soares', 'Vieira', 'Monteiro', 'Cardoso', 'Rocha', 'Neves', 'Coelho'\n ],\n streets: [\n 'Avenida da Liberdade', 'Rua Augusta', 'Rua da Prata', 'Avenida Almirante Reis',\n 'Rua Garrett', 'Praça do Comércio', 'Rua de Santa Catarina', 'Avenida dos Aliados',\n 'Rua das Flores', 'Avenida da República', 'Rua do Ouro', 'Rua Direita', 'Rua da Madalena',\n 'Avenida Fontes Pereira de Melo', 'Rua Braamcamp', 'Rua Alexandre Herculano'\n ],\n cities: [\n 'Lisboa', 'Porto', 'Vila Nova de Gaia', 'Amadora', 'Braga', 'Coimbra', 'Funchal',\n 'Setúbal', 'Almada', 'Agualva-Cacém', 'Queluz', 'Rio Tinto', 'Barreiro', 'Aveiro',\n 'Évora', 'Odivelas', 'Corroios', 'Loures', 'Gondomar', 'Guimarães', 'Matosinhos',\n 'Faro', 'Portimão', 'Leiria', 'Viseu', 'Castelo Branco', 'Vila Real', 'Santarém'\n ],\n states: [\n 'Lisboa', 'Porto', 'Braga', 'Aveiro', 'Faro', 'Setúbal', 'Coimbra', 'Leiria',\n 'Viseu', 'Santarém', 'Viana do Castelo', 'Vila Real', 'Évora', 'Beja',\n 'Castelo Branco', 'Guarda', 'Portalegre', 'Bragança', 'Açores', 'Madeira'\n ],\n zipCodePattern: '####-###',\n jobTitles: [\n 'Engenheiro de Software', 'Gestor de Projeto', 'Analista de Dados', 'Gestor de Marketing',\n 'Representante de Vendas', 'Contabilista', 'Gestor de RH', 'Designer', 'Gestor de Operações',\n 'Analista de Negócios', 'Gestor de Produto', 'Administrador de Sistemas'\n ],\n departments: [\n 'Engenharia', 'Marketing', 'Vendas', 'Recursos Humanos', 'Finanças', 'Operações',\n 'Apoio ao Cliente', 'IT', 'Investigação e Desenvolvimento', 'Jurídico', 'Administração'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 300);\n const floor = Random.int(1, 8);\n const door = Random.pick(['A', 'B', 'C', 'D', 'E']);\n return `${street}, ${number}, ${floor}º ${door}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n const part1 = String(Random.int(1000, 9999));\n const part2 = String(Random.int(100, 999));\n return `${part1}-${part2}`;\n },\n\n phoneFormats: [\n '+351 ### ### ###',\n '### ### ###',\n '+351 (###) ### ###',\n '(###) ### ###',\n '9## ### ###',\n '91# ### ###',\n '92# ### ###',\n '93# ### ###',\n '96# ### ###'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.pt', 'outlook.pt', 'hotmail.pt', 'live.pt',\n 'sapo.pt', 'iol.pt', 'netcabo.pt', 'clix.pt', 'aeiou.pt'\n ],\n\n companyNames: [\n 'EDP Energias de Portugal', 'Galp Energia', 'The Navigator Company', 'Jerónimo Martins',\n 'Sonae SGPS', 'NOS SGPS', 'CTT Correios', 'Banco Comercial Português', 'Caixa Geral de Depósitos',\n 'Novo Banco', 'Banco Santander Totta', 'Fidelidade Seguros', 'TAP Air Portugal',\n 'Sumol+Compal', 'Sogrape Vinhos', 'Corticeira Amorim', 'Impresa SGPS', 'Global Match'\n ],\n\n industries: [\n 'Tecnologia', 'Finanças', 'Saúde', 'Educação', 'Retalho',\n 'Manufatura', 'Media', 'Telecomunicações', 'Energia', 'Transportes',\n 'Imobiliário', 'Consultoria', 'Hotelaria', 'Automóvel', 'Aeroespacial'\n ],\n\n catchPhrases: [\n 'Inovar para o futuro', 'O seu sucesso é o nosso negócio', 'Construir o futuro juntos',\n 'Qualidade e confiança', 'Excelência e compromisso', 'Soluções sustentáveis',\n 'Criar valor', 'O seu parceiro de confiança', 'Liderar a mudança'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const el_GR: LocaleDefinition = {\n firstNamesMale: [\n 'Georgios', 'Ioannis', 'Konstantinos', 'Dimitrios', 'Nikolaos', 'Panagiotis', 'Vasileios',\n 'Christos', 'Athanasios', 'Michail', 'Spyridon', 'Andreas', 'Alexandros', 'Stefanos',\n 'Antonios', 'Theodoros', 'Evangelos', 'Ilias', 'Petros', 'Apostolos', 'Anastasios',\n 'Grigorios', 'Charalampos', 'Nikos', 'Kostas', 'Giorgos', 'Yannis', 'Dimitris', 'Marios'\n ],\n firstNamesFemale: [\n 'Maria', 'Eleni', 'Aikaterini', 'Vasiliki', 'Sofia', 'Angeliki', 'Georgia', 'Dimitra',\n 'Konstantina', 'Paraskevi', 'Ioanna', 'Anastasia', 'Christina', 'Styliani', 'Fotini',\n 'Panagiota', 'Despina', 'Katerina', 'Anna', 'Alexandra', 'Irini', 'Nikoletta',\n 'Evangelia', 'Chrysoula', 'Theodora', 'Zoi', 'Antonia', 'Eleftheria', 'Marina'\n ],\n lastNames: [\n 'Papadopoulos', 'Pappas', 'Georgiou', 'Dimitriou', 'Nikolaou', 'Ioannou', 'Konstantinou',\n 'Christodoulou', 'Vasiliou', 'Athanasiou', 'Petrou', 'Andreou', 'Oikonomou', 'Karagiannis',\n 'Angelopoulos', 'Alexandrou', 'Michailidis', 'Georgiadis', 'Papadakis', 'Vlahos',\n 'Papageorgiou', 'Theodorou', 'Nikou', 'Economou', 'Panagiotou', 'Makris', 'Kostopoulos'\n ],\n streets: [\n 'Odos Ermou', 'Leoforos Vasilissis Sofias', 'Odos Panepistimiou', 'Odos Stadiou',\n 'Leoforos Alexandras', 'Odos Akadimias', 'Odos Patision', 'Leoforos Kifisias',\n 'Odos Solonos', 'Odos Athinas', 'Leoforos Mesogeion', 'Odos Voukourestiou',\n 'Plateia Syntagmatos', 'Odos Mitropoleos', 'Leoforos Vouliagmenis'\n ],\n cities: [\n 'Athens', 'Thessaloniki', 'Patras', 'Heraklion', 'Larissa', 'Volos', 'Ioannina',\n 'Chania', 'Chalcis', 'Serres', 'Katerini', 'Kalamata', 'Kavala', 'Rhodes',\n 'Agrinio', 'Trikala', 'Lamia', 'Kozani', 'Drama', 'Veria', 'Corfu', 'Xanthi'\n ],\n states: [\n 'Attica', 'Central Macedonia', 'Crete', 'Thessaly', 'Western Greece', 'Peloponnese',\n 'Epirus', 'Central Greece', 'Eastern Macedonia and Thrace', 'Ionian Islands',\n 'Western Macedonia', 'North Aegean', 'South Aegean', 'Mount Athos'\n ],\n zipCodePattern: '### ##',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 200);\n return `${street} ${number}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n const part1 = String(Random.int(100, 999));\n const part2 = String(Random.int(10, 99));\n return `${part1} ${part2}`;\n },\n\n phoneFormats: [\n '+30 2# ### ####',\n '2# ### ####',\n '+30 (2#) ### ####',\n '(2#) ### ####',\n '+30 69# ### ####',\n '69# ### ####',\n '69# ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.gr', 'outlook.gr', 'hotmail.gr', 'live.gr',\n 'otenet.gr', 'forthnet.gr', 'wind.com.gr', 'cosmote.gr', 'vodafone.gr'\n ],\n\n companyNames: [\n 'National Bank of Greece', 'Piraeus Bank', 'Alpha Bank', 'Eurobank Ergasias',\n 'OTE Group', 'OPAP SA', 'Coca-Cola HBC', 'Titan Cement', 'Motor Oil Hellas',\n 'Hellenic Petroleum', 'Jumbo SA', 'Folli Follie', 'Lamda Development',\n 'Aegean Airlines', 'Mytilineos Holdings', 'GEK Terna', 'Ellaktor SA'\n ],\n\n industries: [\n 'Τεχνολογία', 'Χρηματοοικονομικά', 'Υγεία', 'Εκπαίδευση', 'Λιανική',\n 'Κατασκευές', 'ΜΜΕ', 'Τηλεπικοινωνίες', 'Ενέργεια', 'Μεταφορές',\n 'Ακίνητα', 'Συμβουλευτική', 'Ξενοδοχεία', 'Αυτοκινητοβιομηχανία', 'Αεροπορία'\n ],\n\n catchPhrases: [\n 'Καινοτομία για το μέλλον', 'Η επιτυχία σας είναι η δουλειά μας', 'Χτίζουμε το μέλλον μαζί',\n 'Ποιότητα και εμπιστοσύνη', 'Αριστεία και δέσμευση', 'Βιώσιμες λύσεις',\n 'Δημιουργούμε αξία', 'Ο αξιόπιστος συνεργάτης σας', 'Ηγούμαστε της αλλαγής'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const cs_CZ: LocaleDefinition = {\n firstNamesMale: [\n 'Jiří', 'Jan', 'Petr', 'Josef', 'Pavel', 'Martin', 'Tomáš', 'Jaroslav', 'Miroslav',\n 'Zdeněk', 'Václav', 'Milan', 'Michal', 'František', 'David', 'Lukáš', 'Jakub',\n 'Ondřej', 'Filip', 'Stanislav', 'Vojtěch', 'Adam', 'Radek', 'Daniel', 'Marek',\n 'Aleš', 'Roman', 'Ladislav', 'Karel', 'Patrik', 'Dominik', 'Matěj'\n ],\n firstNamesFemale: [\n 'Marie', 'Jana', 'Eva', 'Anna', 'Hana', 'Věra', 'Lenka', 'Alena', 'Petra',\n 'Kateřina', 'Lucie', 'Martina', 'Veronika', 'Jitka', 'Ivana', 'Michaela',\n 'Helena', 'Zuzana', 'Markéta', 'Andrea', 'Monika', 'Barbora', 'Tereza', 'Nikola',\n 'Simona', 'Kristýna', 'Natálie', 'Adéla', 'Eliška', 'Karolína', 'Daniela'\n ],\n lastNames: [\n 'Novák', 'Svoboda', 'Novotný', 'Dvořák', 'Černý', 'Procházka', 'Kučera', 'Veselý',\n 'Horáček', 'Němec', 'Pospíšil', 'Pokorný', 'Hájek', 'Jelínek', 'Král', 'Růžička',\n 'Beneš', 'Fiala', 'Sedláček', 'Doležal', 'Zeman', 'Kolář', 'Navrátil', 'Čermák',\n 'Urban', 'Vaněk', 'Blažek', 'Krejčí', 'Moravec', 'Marek', 'Štěpánek', 'Šimek'\n ],\n streets: [\n 'Václavské náměstí', 'Národní třída', 'Na Příkopě', 'Pařížská ulice', 'Karlova ulice',\n 'Nerudova ulice', 'Revolucní', 'Spálená', 'Vinohradská', 'Jugoslávská', 'Náměstí Míru',\n 'Jungmannova', 'Jindřišská', 'Sokolská', 'Žitná', 'Anglická', 'Italská', 'Rumunská'\n ],\n cities: [\n 'Praha', 'Brno', 'Ostrava', 'Plzeň', 'Liberec', 'Olomouc', 'České Budějovice',\n 'Hradec Králové', 'Ústí nad Labem', 'Pardubice', 'Zlín', 'Havířov', 'Kladno',\n 'Most', 'Opava', 'Frýdek-Místek', 'Jihlava', 'Teplice', 'Karviná', 'Karlovy Vary',\n 'Děčín', 'Chomutov', 'Přerov', 'Jablonec nad Nisou', 'Mladá Boleslav', 'Prostějov'\n ],\n states: [\n 'Hlavní město Praha', 'Středočeský', 'Jihočeský', 'Plzeňský', 'Karlovarský',\n 'Ústecký', 'Liberecký', 'Královéhradecký', 'Pardubický', 'Vysočina',\n 'Jihomoravský', 'Olomoucký', 'Zlínský', 'Moravskoslezský'\n ],\n zipCodePattern: '### ##',\n jobTitles: [\n 'Softwarový inženýr', 'Projektový manažer', 'Datový analytik', 'Marketingový manažer',\n 'Obchodní zástupce', 'Účetní', 'Personalista', 'Designer', 'Provozní manažer',\n 'Business analytik', 'Produktový manažer', 'Správce systému', 'Kontrolor kvality'\n ],\n departments: [\n 'Technický', 'Marketing', 'Prodej', 'Lidské zdroje', 'Finance', 'Provoz',\n 'Zákaznický servis', 'IT', 'Výzkum a vývoj', 'Právní', 'Administrativa'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 200);\n return `${street} ${number}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n const part1 = String(Random.int(100, 999));\n const part2 = String(Random.int(10, 99));\n return `${part1} ${part2}`;\n },\n\n phoneFormats: [\n '+420 ### ### ###',\n '### ### ###',\n '+420 (###) ### ###',\n '(###) ### ###',\n '6## ### ###',\n '7## ### ###'\n ],\n\n emailDomains: [\n 'gmail.com', 'seznam.cz', 'email.cz', 'post.cz', 'centrum.cz',\n 'volny.cz', 'atlas.cz', 'iol.cz', 'tiscali.cz', 'outlook.com'\n ],\n\n companyNames: [\n 'Škoda Auto', 'ČEZ Group', 'Agrofert', 'Komerční banka', 'Erste Group',\n 'O2 Czech Republic', 'Česká pojišťovna', 'Plzeňský Prazdroj', 'Fortuna',\n 'Avast Software', 'JetBrains', 'Rohlik.cz', 'Alza.cz', 'Mall.cz',\n 'Czech Airlines', 'České dráhy', 'Pražská energetika'\n ],\n\n industries: [\n 'Technologie', 'Finance', 'Zdravotnictví', 'Vzdělávání', 'Maloobchod',\n 'Výroba', 'Média', 'Telekomunikace', 'Energetika', 'Doprava',\n 'Nemovitosti', 'Poradenství', 'Hotely', 'Automobilový průmysl', 'Letectví'\n ],\n\n catchPhrases: [\n 'Inovace pro budoucnost', 'Váš úspěch je naše věc', 'Budujeme budoucnost společně',\n 'Kvalita a důvěra', 'Excellence a závazek', 'Udržitelná řešení',\n 'Tvoříme hodnotu', 'Váš spolehlivý partner', 'Vedeme změnu'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const de_AT: LocaleDefinition = {\n firstNamesMale: [\n 'Michael', 'Thomas', 'Christian', 'Andreas', 'Stefan', 'Markus', 'Alexander', 'Wolfgang',\n 'Florian', 'Daniel', 'Patrick', 'Mario', 'Manuel', 'Christoph', 'Philipp', 'Matthias',\n 'David', 'Sebastian', 'Lukas', 'Johannes', 'Marcel', 'Dominik', 'Benjamin', 'Tobias',\n 'Simon', 'Martin', 'Peter', 'Franz', 'Josef', 'Maximilian', 'Jakob', 'Felix'\n ],\n firstNamesFemale: [\n 'Anna', 'Julia', 'Sarah', 'Lisa', 'Laura', 'Katharina', 'Marie', 'Sophie', 'Lena',\n 'Magdalena', 'Christina', 'Nina', 'Hannah', 'Stefanie', 'Sandra', 'Daniela', 'Melanie',\n 'Jasmin', 'Verena', 'Elisabeth', 'Andrea', 'Maria', 'Petra', 'Sabine', 'Martina',\n 'Claudia', 'Eva', 'Michaela', 'Karin', 'Susanne', 'Barbara', 'Angelika'\n ],\n lastNames: [\n 'Müller', 'Gruber', 'Wagner', 'Huber', 'Pichler', 'Steiner', 'Moser', 'Mayer',\n 'Berger', 'Hofer', 'Leitner', 'Bauer', 'Schmid', 'Schneider', 'Reiter', 'Fischer',\n 'Weber', 'Maier', 'Schwarz', 'Eder', 'Brunner', 'Lang', 'Hoffmann', 'Binder',\n 'Lechner', 'Wolf', 'Koller', 'Fuchs', 'Haas', 'Wimmer', 'Egger', 'Aigner'\n ],\n streets: [\n 'Hauptstraße', 'Bahnhofstraße', 'Kirchenplatz', 'Marktplatz', 'Dorfstraße', 'Schulstraße',\n 'Wiener Straße', 'Linzer Straße', 'Salzburger Straße', 'Grazer Straße', 'Ringstraße',\n 'Innsbrucker Straße', 'Am Ring', 'Schönbrunner Straße', 'Mariahilfer Straße',\n 'Kärntner Straße', 'Graben', 'Herrengasse', 'Landstraße', 'Favoritenstraße'\n ],\n cities: [\n 'Wien', 'Graz', 'Linz', 'Salzburg', 'Innsbruck', 'Klagenfurt', 'Villach', 'Wels',\n 'Sankt Pölten', 'Dornbirn', 'Steyr', 'Wiener Neustadt', 'Feldkirch', 'Bregenz',\n 'Leonding', 'Klosterneuburg', 'Baden', 'Wolfsberg', 'Leoben', 'Krems', 'Traun',\n 'Amstetten', 'Lustenau', 'Kapfenberg', 'Mödling', 'Hallein', 'Kufstein', 'Traiskirchen'\n ],\n states: [\n 'Wien', 'Niederösterreich', 'Oberösterreich', 'Steiermark', 'Tirol', 'Kärnten',\n 'Salzburg', 'Vorarlberg', 'Burgenland'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Softwareentwickler', 'Projektmanager', 'Datenanalyst', 'Marketingleiter',\n 'Vertriebsmitarbeiter', 'Buchhalter', 'Personalleiter', 'Designer', 'Betriebsleiter',\n 'Business Analyst', 'Produktmanager', 'Systemadministrator', 'Qualitätsingenieur'\n ],\n departments: [\n 'Technik', 'Marketing', 'Vertrieb', 'Personalwesen', 'Finanzen', 'Betrieb',\n 'Kundenservice', 'IT', 'Forschung und Entwicklung', 'Recht', 'Verwaltung'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 150);\n const door = Random.int(1, 30);\n return `${street} ${number}/${door}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 9999));\n },\n\n phoneFormats: [\n '+43 (0)# #######',\n '0# #######',\n '+43 (0)## #######',\n '0## #######',\n '+43 (0)### ######',\n '0### ######',\n '06## ######',\n '06## #######',\n '067# #######',\n '068# #######'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.at', 'outlook.at', 'hotmail.at', 'live.at',\n 'aon.at', 'gmx.at', 'chello.at', 'inode.at', 'utanet.at'\n ],\n\n companyNames: [\n 'OMV AG', 'Erste Group Bank', 'Raiffeisen Bank', 'Vienna Insurance Group',\n 'Red Bull GmbH', 'Swarovski', 'Voestalpine', 'Andritz AG', 'Verbund AG',\n 'Austrian Airlines', 'Magna International', 'Lenzing AG', 'Porsche Holding',\n 'Spar Österreich', 'Rewe International', 'Hofer KG', 'Billa AG'\n ],\n\n industries: [\n 'Technologie', 'Finanzen', 'Gesundheitswesen', 'Bildung', 'Einzelhandel',\n 'Fertigung', 'Medien', 'Telekommunikation', 'Energie', 'Transport',\n 'Immobilien', 'Beratung', 'Gastgewerbe', 'Automobil', 'Luftfahrt'\n ],\n\n catchPhrases: [\n 'Innovation für die Zukunft', 'Ihr Erfolg ist unser Geschäft', 'Gemeinsam die Zukunft gestalten',\n 'Qualität und Vertrauen', 'Exzellenz und Engagement', 'Nachhaltige Lösungen',\n 'Wert schaffen', 'Ihr verlässlicher Partner', 'Veränderung vorantreiben'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const de_CH: LocaleDefinition = {\n firstNamesMale: [\n 'David', 'Luca', 'Noah', 'Leon', 'Nico', 'Jan', 'Marco', 'Lukas', 'Jonas', 'Sandro',\n 'Thomas', 'Michael', 'Daniel', 'Christian', 'Stefan', 'Patrick', 'Andreas', 'Markus',\n 'Peter', 'Martin', 'Marcel', 'Simon', 'Fabian', 'Tobias', 'Raphael', 'Samuel',\n 'Benjamin', 'Adrian', 'Florian', 'Dominik', 'Matthias', 'Alexander'\n ],\n firstNamesFemale: [\n 'Mia', 'Emma', 'Laura', 'Lara', 'Sophie', 'Anna', 'Julia', 'Sara', 'Lea', 'Nina',\n 'Lisa', 'Sarah', 'Melanie', 'Michelle', 'Jennifer', 'Nadine', 'Nicole', 'Stefanie',\n 'Andrea', 'Sandra', 'Claudia', 'Martina', 'Jasmin', 'Vanessa', 'Sabrina', 'Anja',\n 'Elena', 'Chiara', 'Alina', 'Elisa', 'Noemi', 'Ladina'\n ],\n lastNames: [\n 'Müller', 'Meier', 'Schmid', 'Keller', 'Weber', 'Huber', 'Schneider', 'Meyer',\n 'Steiner', 'Fischer', 'Gerber', 'Brunner', 'Baumann', 'Frei', 'Zimmermann', 'Moser',\n 'Widmer', 'Wyss', 'Graf', 'Roth', 'Hofmann', 'Lehmann', 'Bühler', 'Hofer',\n 'Suter', 'Kuhn', 'Koch', 'Blanc', 'Kohler', 'Wenger', 'Lang', 'Kaufmann'\n ],\n streets: [\n 'Bahnhofstrasse', 'Hauptstrasse', 'Dorfstrasse', 'Bergstrasse', 'Kirchgasse',\n 'Schulhausstrasse', 'Poststrasse', 'Seestrasse', 'Talstrasse', 'Gartenstrasse',\n 'Waldhofstrasse', 'Industriestrasse', 'Rosenweg', 'Lindenweg', 'Parkstrasse',\n 'Feldweg', 'Mühlestrasse', 'Brunnenweg', 'Ringstrasse', 'Zürcherstrasse'\n ],\n cities: [\n 'Zürich', 'Genf', 'Basel', 'Lausanne', 'Bern', 'Winterthur', 'Luzern', 'St. Gallen',\n 'Lugano', 'Biel', 'Thun', 'Köniz', 'La Chaux-de-Fonds', 'Schaffhausen', 'Fribourg',\n 'Chur', 'Vernier', 'Neuchâtel', 'Uster', 'Sion', 'Emmen', 'Zug', 'Yverdon-les-Bains',\n 'Kriens', 'Rapperswil-Jona', 'Dübendorf', 'Montreux', 'Frauenfeld', 'Dietikon', 'Wil'\n ],\n states: [\n 'Zürich', 'Bern', 'Luzern', 'Uri', 'Schwyz', 'Obwalden', 'Nidwalden', 'Glarus',\n 'Zug', 'Fribourg', 'Solothurn', 'Basel-Stadt', 'Basel-Landschaft', 'Schaffhausen',\n 'Appenzell Ausserrhoden', 'Appenzell Innerrhoden', 'St. Gallen', 'Graubünden',\n 'Aargau', 'Thurgau', 'Ticino', 'Vaud', 'Valais', 'Neuchâtel', 'Genève', 'Jura'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Softwareentwickler', 'Projektleiter', 'Datenanalyst', 'Marketingleiter',\n 'Verkäufer', 'Buchhalter', 'Personalleiter', 'Designer', 'Betriebsleiter',\n 'Business Analyst', 'Produktmanager', 'Systemadministrator', 'Qualitätsingenieur'\n ],\n departments: [\n 'Technik', 'Marketing', 'Verkauf', 'Personal', 'Finanzen', 'Betrieb',\n 'Kundendienst', 'IT', 'Forschung und Entwicklung', 'Recht', 'Verwaltung'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 150);\n return `${street} ${number}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 9999));\n },\n\n phoneFormats: [\n '+41 (0)## ### ## ##',\n '0## ### ## ##',\n '+41 (0)## ### ## ##',\n '0## ### ## ##',\n '07# ### ## ##',\n '075 ### ## ##',\n '076 ### ## ##',\n '077 ### ## ##',\n '078 ### ## ##',\n '079 ### ## ##'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.ch', 'outlook.ch', 'hotmail.ch', 'bluewin.ch',\n 'swissonline.ch', 'sunrise.ch', 'quickline.ch', 'gmx.ch', 'mail.ch'\n ],\n\n companyNames: [\n 'Nestlé SA', 'Roche Holding', 'Novartis AG', 'UBS Group', 'Credit Suisse',\n 'Zurich Insurance', 'ABB Ltd', 'Glencore International', 'Trafigura',\n 'Mercuria Energy', 'Swiss Re', 'Richemont', 'Swatch Group',\n 'Holcim Group', 'LafargeHolcim', 'Sika AG', 'Georg Fischer', 'Schindler Group'\n ],\n\n industries: [\n 'Technologie', 'Finanzen', 'Gesundheitswesen', 'Bildung', 'Einzelhandel',\n 'Fertigung', 'Medien', 'Telekommunikation', 'Energie', 'Transport',\n 'Immobilien', 'Beratung', 'Gastgewerbe', 'Automobil', 'Luftfahrt'\n ],\n\n catchPhrases: [\n 'Innovation für die Zukunft', 'Ihr Erfolg ist unser Geschäft', 'Gemeinsam die Zukunft gestalten',\n 'Schweizer Qualität und Präzision', 'Vertrauen und Zuverlässigkeit', 'Nachhaltige Lösungen',\n 'Exzellenz in jedem Detail', 'Ihr vertrauenswürdiger Partner', 'Fortschritt durch Innovation'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const nl_BE: LocaleDefinition = {\n firstNamesMale: [\n 'Lars', 'Thomas', 'Lucas', 'Maxime', 'Nathan', 'Louis', 'Noah', 'Arthur', 'Victor',\n 'Adam', 'Mohamed', 'Nicolas', 'Alexander', 'Simon', 'Mathias', 'Robbe', 'Wout',\n 'Jan', 'Pieter', 'Koen', 'Bart', 'Tom', 'Kevin', 'David', 'Michael', 'Johan',\n 'Marc', 'Steven', 'Peter', 'Filip', 'Stijn', 'Bram'\n ],\n firstNamesFemale: [\n 'Emma', 'Louise', 'Marie', 'Anna', 'Laura', 'Lisa', 'Julie', 'Noor', 'Lotte',\n 'Sara', 'Camille', 'Charlotte', 'Ella', 'Nina', 'Fien', 'Lena', 'Amber', 'Luna',\n 'Sarah', 'Sophie', 'Kim', 'Elke', 'Sofie', 'Eline', 'Jana', 'Karen', 'Nathalie',\n 'Katrien', 'Ann', 'Veerle', 'Ellen', 'Inge'\n ],\n lastNames: [\n 'Peeters', 'Janssens', 'Maes', 'Jacobs', 'Mertens', 'Willems', 'Claes', 'Goossens',\n 'Wouters', 'De Smet', 'De Vos', 'Hermans', 'Van de Velde', 'Vermeulen', 'Dubois',\n 'Lambert', 'Laurent', 'Simon', 'Leroy', 'Dupont', 'Martens', 'De Wilde', 'Hendrickx',\n 'Michiels', 'Van den Berg', 'Pauwels', 'Stevens', 'De Clercq', 'Coppens', 'Bogaert'\n ],\n streets: [\n 'Grote Markt', 'Kerkstraat', 'Dorpsstraat', 'Stationsstraat', 'Hoogstraat',\n 'Molenstraat', 'Nieuwstraat', 'Brugsestraat', 'Antwerpsestraat', 'Brusselsestraat',\n 'Koning Albertlaan', 'Koningin Elisabethlaan', 'Leopold II-laan', 'Mechelsesteenweg',\n 'Turnhoutsebaan', 'Leuvenselaan', 'Gentsebaan', 'Gentsestraat', 'Markt', 'Burg'\n ],\n cities: [\n 'Brussel', 'Antwerpen', 'Gent', 'Charleroi', 'Luik', 'Brugge', 'Namen', 'Leuven',\n 'Bergen', 'Mechelen', 'Aalst', 'La Louvière', 'Kortrijk', 'Hasselt', 'Sint-Niklaas',\n 'Oostende', 'Doornik', 'Genk', 'Seraing', 'Roeselare', 'Moeskroen', 'Verviers',\n 'Dendermonde', 'Beringen', 'Turnhout', 'Dilbeek', 'Heist-op-den-Berg', 'Vilvoorde'\n ],\n states: [\n 'Antwerpen', 'Limburg', 'Oost-Vlaanderen', 'West-Vlaanderen', 'Vlaams-Brabant',\n 'Waals-Brabant', 'Henegouwen', 'Luik', 'Luxemburg', 'Namen', 'Brussels Hoofdstedelijk Gewest'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Software Engineer', 'Projectmanager', 'Data Analist', 'Marketingmanager',\n 'Verkoopvertegenwoordiger', 'Boekhouder', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analist', 'Productmanager', 'Systeembeheerder', 'Kwaliteitsingenieur'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Verkoop', 'Human Resources', 'Financiën', 'Operaties',\n 'Klantenservice', 'IT', 'Onderzoek en Ontwikkeling', 'Juridisch', 'Administratie'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 300);\n const bus = Random.boolean() ? ` bus ${Random.int(1, 50)}` : '';\n return `${street} ${number}${bus}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 9999));\n },\n\n phoneFormats: [\n '+32 # ### ## ##',\n '0# ### ## ##',\n '+32 (0)# ### ## ##',\n '04## ## ## ##',\n '047# ## ## ##',\n '048# ## ## ##',\n '049# ## ## ##'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.be', 'outlook.be', 'hotmail.be', 'live.be',\n 'telenet.be', 'proximus.be', 'skynet.be', 'pandora.be', 'belgacom.net'\n ],\n\n companyNames: [\n 'Anheuser-Busch InBev', 'KBC Group', 'Belfius Bank', 'Ageas SA', 'Umicore SA',\n 'Solvay SA', 'Groupe Bruxelles Lambert', 'Ackermans & van Haaren', 'Colruyt NV',\n 'Delhaize Group', 'Galeria Inno', 'Telenet Group', 'Proximus', 'bpost',\n 'Brussels Airlines', 'Cofinimmo', 'Warehouses De Pauw', 'Aperam SA'\n ],\n\n industries: [\n 'Technologie', 'Financiën', 'Gezondheidszorg', 'Onderwijs', 'Detailhandel',\n 'Productie', 'Media', 'Telecommunicatie', 'Energie', 'Transport',\n 'Onroerend goed', 'Consultancy', 'Horeca', 'Automotive', 'Luchtvaart'\n ],\n\n catchPhrases: [\n 'Innoveren voor de toekomst', 'Uw succes is onze zaak', 'Samen de toekomst bouwen',\n 'Kwaliteit en vertrouwen', 'Uitstekendheid en toewijding', 'Duurzame oplossingen',\n 'Waarde creëren', 'Uw vertrouwde partner', 'Verandering leiden'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const hu_HU: LocaleDefinition = {\n firstNamesMale: [\n 'László', 'István', 'József', 'János', 'Zoltán', 'Sándor', 'Gábor', 'Ferenc',\n 'Péter', 'Attila', 'Tamás', 'András', 'Balázs', 'Máté', 'Dávid', 'Ádám',\n 'Levente', 'Bence', 'Márk', 'Dominik', 'Norbert', 'Kristóf', 'Richárd', 'Viktor',\n 'Gyula', 'Imre', 'Csaba', 'Tibor', 'Mihály', 'Zsolt', 'Krisztián', 'Róbert'\n ],\n firstNamesFemale: [\n 'Mária', 'Erzsébet', 'Ilona', 'Katalin', 'Éva', 'Anna', 'Margit', 'Judit',\n 'Ágnes', 'Eszter', 'Andrea', 'Krisztina', 'Erika', 'Mónika', 'Zsuzsanna', 'Réka',\n 'Petra', 'Laura', 'Zsófia', 'Lilla', 'Dóra', 'Boglárka', 'Fanni', 'Viktória',\n 'Renáta', 'Nikolett', 'Tímea', 'Beatrix', 'Anita', 'Noémi', 'Emese', 'Orsolya'\n ],\n lastNames: [\n 'Nagy', 'Kovács', 'Tóth', 'Szabó', 'Horváth', 'Varga', 'Kiss', 'Molnár',\n 'Németh', 'Farkas', 'Balogh', 'Papp', 'Takács', 'Juhász', 'Lakatos', 'Mészáros',\n 'Oláh', 'Simon', 'Rácz', 'Fekete', 'Szűcs', 'Kocsis', 'Szilágyi', 'Török',\n 'Fehér', 'Balázs', 'Gál', 'Vincze', 'Szalai', 'Máté', 'Kozma', 'Hegedűs'\n ],\n streets: [\n 'Fő utca', 'Kossuth utca', 'Petőfi utca', 'Rákóczi út', 'Dózsa György út',\n 'Árpád utca', 'Vörösmarty utca', 'Bem utca', 'Ady Endre utca', 'József Attila utca',\n 'Mátyás király utca', 'Széchenyi utca', 'Deák Ferenc utca', 'Hősök tere',\n 'Andrássy út', 'Váci utca', 'Dohány utca', 'Nagykörút', 'Baross utca', 'Üllői út'\n ],\n cities: [\n 'Budapest', 'Debrecen', 'Szeged', 'Miskolc', 'Pécs', 'Győr', 'Nyíregyháza', 'Kecskemét',\n 'Székesfehérvár', 'Szombathely', 'Szolnok', 'Tatabánya', 'Kaposvár', 'Érd', 'Veszprém',\n 'Békéscsaba', 'Zalaegerszeg', 'Sopron', 'Eger', 'Nagykanizsa', 'Dunakeszi', 'Hódmezővásárhely',\n 'Szentendre', 'Cegléd', 'Vác', 'Gyula', 'Baja', 'Ózd', 'Salgótarján', 'Mosonmagyaróvár'\n ],\n states: [\n 'Budapest', 'Pest', 'Fejér', 'Komárom-Esztergom', 'Veszprém', 'Győr-Moson-Sopron',\n 'Vas', 'Zala', 'Baranya', 'Somogy', 'Tolna', 'Borsod-Abaúj-Zemplén', 'Heves',\n 'Nógrád', 'Hajdú-Bihar', 'Jász-Nagykun-Szolnok', 'Szabolcs-Szatmár-Bereg',\n 'Bács-Kiskun', 'Békés', 'Csongrád-Csanád'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Szoftverfejlesztő', 'Projektvezető', 'Adatelemző', 'Marketing menedzser',\n 'Értékesítési képviselő', 'Könyvelő', 'HR vezető', 'Tervező', 'Üzemeltetési vezető',\n 'Üzleti elemző', 'Termékmenedzser', 'Rendszergazda', 'Minőségbiztosítási mérnök'\n ],\n departments: [\n 'Mérnöki', 'Marketing', 'Értékesítés', 'Humán erőforrás', 'Pénzügy', 'Üzemeltetés',\n 'Ügyfélszolgálat', 'IT', 'Kutatás-fejlesztés', 'Jogi', 'Adminisztráció'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n // Hungarian name format: Last First\n return `${lastName} ${firstName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 200);\n return `${zipCode} ${city}, ${street} ${number}.`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 9999));\n },\n\n phoneFormats: [\n '+36 (##) ###-####',\n '(##) ###-####',\n '+36 ## ###-####',\n '## ###-####',\n '+36 (20) ###-####',\n '(20) ###-####',\n '(30) ###-####',\n '(70) ###-####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.hu', 'outlook.hu', 'hotmail.hu', 'live.hu',\n 'freemail.hu', 'citromail.hu', 'mail.hu', 'indamail.hu', 'vipmail.hu'\n ],\n\n companyNames: [\n 'MOL Nyrt', 'OTP Bank', 'Richter Gedeon', 'Magyar Telekom', 'MVM Zrt',\n 'FHB Bank', 'Graphisoft Park', 'Wizz Air', '4iG Nyrt', 'Masterplast',\n 'Opus Global', 'Rába Nyrt', 'Zwack Unicum', 'Pick Szeged', 'Duna Autó',\n 'CIG Pannonia', 'Budapest Bank', 'K&H Bank', 'Erste Bank Hungary'\n ],\n\n industries: [\n 'Technológia', 'Pénzügy', 'Egészségügy', 'Oktatás', 'Kiskereskedelem',\n 'Gyártás', 'Média', 'Távközlés', 'Energia', 'Szállítás',\n 'Ingatlan', 'Tanácsadás', 'Szálloda', 'Autóipar', 'Repülés'\n ],\n\n catchPhrases: [\n 'Innováció a jövőért', 'Az ön sikere a mi dolgunk', 'Közösen építjük a jövőt',\n 'Minőség és megbízhatóság', 'Kiválóság és elkötelezettség', 'Fenntartható megoldások',\n 'Értéket teremtünk', 'Az ön megbízható partnere', 'Vezetjük a változást'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ro_RO: LocaleDefinition = {\n firstNamesMale: [\n 'Ion', 'Gheorghe', 'Nicolae', 'Vasile', 'Constantin', 'Andrei', 'Mihai', 'Alexandru',\n 'Adrian', 'Cristian', 'Florin', 'Marian', 'Daniel', 'Ionuț', 'Gabriel', 'Bogdan',\n 'Ștefan', 'Vlad', 'Radu', 'George', 'David', 'Cosmin', 'Dragoș', 'Ciprian',\n 'Sorin', 'Dan', 'Viorel', 'Petru', 'Dumitru', 'Emil', 'Liviu', 'Ovidiu'\n ],\n firstNamesFemale: [\n 'Maria', 'Elena', 'Ana', 'Ioana', 'Andreea', 'Alexandra', 'Mihaela', 'Cristina',\n 'Gabriela', 'Alina', 'Daniela', 'Monica', 'Simona', 'Diana', 'Raluca', 'Adriana',\n 'Laura', 'Nicoleta', 'Corina', 'Carmen', 'Oana', 'Roxana', 'Valentina', 'Camelia',\n 'Florentina', 'Georgeta', 'Mariana', 'Luminița', 'Silvia', 'Anca', 'Magdalena', 'Irina'\n ],\n lastNames: [\n 'Popescu', 'Ionescu', 'Popa', 'Radu', 'Dumitrescu', 'Georgescu', 'Stan', 'Stoica',\n 'Constantin', 'Munteanu', 'Dima', 'Vasile', 'Barbu', 'Preda', 'Mocanu', 'Ilie',\n 'Mihai', 'Dobre', 'Andrei', 'Stanciu', 'Tudor', 'Enache', 'Ștefan', 'Marin',\n 'Niculescu', 'Drăghici', 'Alexandru', 'Matei', 'Sandu', 'Cristea', 'Oprea', 'Munteanu'\n ],\n streets: [\n 'Strada Independenței', 'Bulevardul Unirii', 'Strada Republicii', 'Calea Victoriei',\n 'Strada Libertății', 'Bulevardul Carol I', 'Strada Mihai Viteazu', 'Strada Aviatorilor',\n 'Bulevardul Magheru', 'Strada Dorobanți', 'Calea Moșilor', 'Strada Lipscani',\n 'Bulevardul Brâncoveanu', 'Strada Obor', 'Calea Grivița', 'Bulevardul Pache Protopopescu'\n ],\n cities: [\n 'București', 'Cluj-Napoca', 'Timișoara', 'Iași', 'Constanța', 'Craiova', 'Brașov',\n 'Galați', 'Ploiești', 'Oradea', 'Brăila', 'Arad', 'Pitești', 'Sibiu', 'Bacău',\n 'Târgu Mureș', 'Baia Mare', 'Buzău', 'Botoșani', 'Satu Mare', 'Râmnicu Vâlcea',\n 'Suceava', 'Piatra Neamț', 'Drobeta-Turnu Severin', 'Focșani', 'Târgoviște', 'Tulcea'\n ],\n states: [\n 'București', 'Cluj', 'Timiș', 'Iași', 'Constanța', 'Dolj', 'Brașov', 'Galați',\n 'Prahova', 'Bihor', 'Brăila', 'Arad', 'Argeș', 'Sibiu', 'Bacău', 'Mureș',\n 'Maramureș', 'Buzău', 'Botoșani', 'Satu Mare', 'Vâlcea', 'Suceava', 'Neamț',\n 'Mehedinți', 'Vrancea', 'Dâmbovița', 'Tulcea', 'Bistrița-Năsăud', 'Caraș-Severin'\n ],\n zipCodePattern: '######',\n jobTitles: [\n 'Inginer Software', 'Manager de Proiect', 'Analist de Date', 'Manager Marketing',\n 'Reprezentant Vânzări', 'Contabil', 'Manager HR', 'Designer', 'Manager Operațiuni',\n 'Analist de Afaceri', 'Manager Produs', 'Administrator Sistem', 'Inginer Calitate'\n ],\n departments: [\n 'Inginerie', 'Marketing', 'Vânzări', 'Resurse Umane', 'Finanțe', 'Operațiuni',\n 'Servicii Clienți', 'IT', 'Cercetare și Dezvoltare', 'Juridic', 'Administrație'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 200);\n const bloc = Random.pick(['A', 'B', 'C', 'D']);\n const scara = Random.int(1, 4);\n const ap = Random.int(1, 50);\n return `${street} nr. ${number}, Bl. ${bloc}, Sc. ${scara}, Ap. ${ap}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(100000, 999999));\n },\n\n phoneFormats: [\n '+40 ### ### ####',\n '0### ### ####',\n '+40 (0)### ### ####',\n '07## ### ####',\n '071# ### ####',\n '072# ### ####',\n '073# ### ####',\n '074# ### ####',\n '075# ### ####',\n '076# ### ####',\n '077# ### ####',\n '078# ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.ro', 'outlook.ro', 'hotmail.ro', 'live.ro',\n 'yahoo.com', 'gmx.com', 'aol.com', 'icloud.com', 'protonmail.com'\n ],\n\n companyNames: [\n 'OMV Petrom', 'Romgaz', 'Banca Transilvania', 'BRD Groupe Société Générale',\n 'Digi Communications', 'Orange România', 'Vodafone România', 'Telekom România',\n 'Hidroelectrica', 'Nuclearelectrica', 'Transgaz', 'Transelectrica',\n 'Rompetrol Rafinare', 'OMV Petrom Rafinare', 'Aeroporturi București',\n 'CFR Călători', 'CFR Marfă', 'Poșta Română', 'Electrica SA'\n ],\n\n industries: [\n 'Tehnologie', 'Finanțe', 'Sănătate', 'Educație', 'Comerț cu amănuntul',\n 'Producție', 'Media', 'Telecomunicații', 'Energie', 'Transport',\n 'Imobiliare', 'Consultanță', 'Hoteluri', 'Automobile', 'Aviație'\n ],\n\n catchPhrases: [\n 'Inovație pentru viitor', 'Succesul dumneavoastră este afacerea noastră', 'Construim viitorul împreună',\n 'Calitate și încredere', 'Excelență și angajament', 'Soluții durabile',\n 'Creăm valoare', 'Partenerul dumneavoastră de încredere', 'Conducem schimbarea'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ar_AE: LocaleDefinition = {\n firstNamesMale: [\n 'Mohammed', 'Ahmed', 'Abdullah', 'Sultan', 'Khalid', 'Omar', 'Ali', 'Hassan',\n 'Saeed', 'Rashid', 'Hamad', 'Majid', 'Fahad', 'Nasser', 'Faisal', 'Yousef',\n 'Ibrahim', 'Abdulrahman', 'Saud', 'Mansour', 'Talal', 'Waleed', 'Tariq', 'Zayed',\n 'Rashed', 'Hamdan', 'Maktoum', 'Obaid', 'Salem', 'Marwan', 'Jassim', 'Nawaf'\n ],\n firstNamesFemale: [\n 'Fatima', 'Aisha', 'Mariam', 'Noura', 'Sara', 'Hessa', 'Latifa', 'Shamsa',\n 'Moza', 'Sheikha', 'Amna', 'Salama', 'Meitha', 'Hind', 'Maryam', 'Shamma',\n 'Reem', 'Layla', 'Dana', 'Khawla', 'Budoor', 'Jawaher', 'Maitha', 'Mouza',\n 'Shaikha', 'Alia', 'Asma', 'Hanan', 'Nada', 'Noor', 'Wadha', 'Mahra'\n ],\n lastNames: [\n 'Al Maktoum', 'Al Nahyan', 'Al Qasimi', 'Al Sharqi', 'Al Nuaimi', 'Al Mualla',\n 'Al Ali', 'Al Mansouri', 'Al Shamsi', 'Al Ketbi', 'Al Kaabi', 'Al Dhaheri',\n 'Al Mazrouei', 'Al Hamadi', 'Al Suwaidi', 'Al Zaabi', 'Al Marzouqi', 'Al Ahbabi',\n 'Al Mansoori', 'Al Blooshi', 'Al Muhairi', 'Al Shehhi', 'Al Hashimi', 'Al Zarooni',\n 'Al Falasi', 'Al Ameri', 'Al Kindi', 'Al Marri', 'Al Yasi', 'Al Mheiri'\n ],\n streets: [\n 'Sheikh Zayed Road', 'Khalifa Street', 'Hamdan Street', 'Al Wasl Road', 'Jumeirah Road',\n 'Al Khaleej Road', 'Airport Road', 'Al Rigga Road', 'Al Maktoum Road', 'Baniyas Road',\n 'Sheikh Mohammed Bin Rashid Boulevard', 'Al Salam Street', 'Al Ain Road', 'Corniche Road',\n 'Sheikh Rashid Road', 'Al Ittihad Road', 'Al Dhafra Street', 'Marina Walk', 'The Walk JBR'\n ],\n cities: [\n 'Dubai', 'Abu Dhabi', 'Sharjah', 'Al Ain', 'Ajman', 'Ras Al Khaimah', 'Fujairah',\n 'Umm Al Quwain', 'Khor Fakkan', 'Dibba', 'Kalba', 'Jebel Ali', 'Al Dhaid',\n 'Madinat Zayed', 'Liwa', 'Ghayathi', 'Ruwais', 'Al Mirfa', 'Mezaira'\n ],\n states: [\n 'Dubai', 'Abu Dhabi', 'Sharjah', 'Ajman', 'Umm Al Quwain', 'Ras Al Khaimah', 'Fujairah'\n ],\n zipCodePattern: '',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const building = Random.pick(['Tower', 'Building', 'Plaza', 'Centre']);\n const buildingName = Random.pick(['Al Barsha', 'Marina', 'Downtown', 'Business Bay']);\n const office = Random.int(100, 999);\n return `Office ${office}, ${buildingName} ${building}, ${street}, ${city}, ${state}`;\n },\n\n generateZipCode(): string {\n return '';\n },\n\n phoneFormats: [\n '+971 ## ### ####',\n '0## ### ####',\n '+971 (0)## ### ####',\n '05# ### ####',\n '050 ### ####',\n '052 ### ####',\n '054 ### ####',\n '056 ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.ae', 'outlook.com', 'hotmail.com',\n 'emirates.net.ae', 'etisalat.ae', 'du.ae', 'mail.ae',\n 'icloud.com', 'protonmail.com'\n ],\n\n companyNames: [\n 'Emirates Group', 'Etisalat', 'Emirates NBD', 'ADNOC', 'Dubai World',\n 'Emaar Properties', 'Mubadala Investment', 'DP World', 'Flydubai',\n 'Dubai Islamic Bank', 'First Abu Dhabi Bank', 'Chalhoub Group',\n 'Majid Al Futtaim', 'Al Futtaim Group', 'Jumeirah Group'\n ],\n\n industries: [\n 'التكنولوجيا', 'المالية', 'الرعاية الصحية', 'التعليم', 'التجزئة',\n 'التصنيع', 'الإعلام', 'الاتصالات', 'الطاقة', 'النقل',\n 'العقارات', 'الاستشارات', 'الضيافة', 'السيارات', 'الطيران'\n ],\n\n catchPhrases: [\n 'الابتكار للمستقبل', 'نجاحكم هو عملنا', 'نبني المستقبل معاً',\n 'الجودة والثقة', 'التميز والالتزام', 'حلول مستدامة',\n 'نخلق القيمة', 'شريككم الموثوق', 'نقود التغيير'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ar_SA: LocaleDefinition = {\n firstNamesMale: [\n 'Mohammed', 'Abdullah', 'Fahd', 'Khalid', 'Faisal', 'Mansour', 'Saud', 'Abdulaziz',\n 'Turki', 'Sultan', 'Salman', 'Nasser', 'Talal', 'Bandar', 'Mishal', 'Abdulrahman',\n 'Yousef', 'Ahmed', 'Ali', 'Omar', 'Hassan', 'Saad', 'Faris', 'Rakan', 'Nawaf',\n 'Majed', 'Hamad', 'Waleed', 'Tariq', 'Rashid', 'Ibrahim', 'Ziyad'\n ],\n firstNamesFemale: [\n 'Noura', 'Sarah', 'Maha', 'Hessa', 'Lulwa', 'Latifa', 'Abeer', 'Reem', 'Hind',\n 'Jawaher', 'Mona', 'Amal', 'Deema', 'Lama', 'Nada', 'Hanan', 'Ghada', 'Basma',\n 'Arwa', 'Reema', 'Maryam', 'Fatima', 'Nora', 'Layla', 'Dana', 'Sama', 'Rana',\n 'Asma', 'Raghad', 'Wafa', 'Anoud', 'Atheer'\n ],\n lastNames: [\n 'Al Saud', 'Al Otaibi', 'Al Ghamdi', 'Al Zahrani', 'Al Harbi', 'Al Qahtani',\n 'Al Shehri', 'Al Malki', 'Al Dosari', 'Al Mutairi', 'Al Rashid', 'Al Saeed',\n 'Al Mansour', 'Al Juhani', 'Al Anazi', 'Al Shamrani', 'Al Subai', 'Al Yami',\n 'Al Faisal', 'Al Turki', 'Al Khalifa', 'Al Abdulaziz', 'Al Thani', 'Al Dawsari',\n 'Al Shaalan', 'Al Balawi', 'Al Ahmadi', 'Al Sulaiman', 'Al Mubarak', 'Al Hamad'\n ],\n streets: [\n 'King Fahd Road', 'King Abdullah Road', 'King Abdulaziz Road', 'Olaya Street',\n 'Tahlia Street', 'Madinah Road', 'Makkah Road', 'Al Urubah Road', 'Prince Mohammed Road',\n 'King Khalid Road', 'Al Malaz Street', 'Al Imam Saud Road', 'Al Amir Sultan Road',\n 'Corniche Road', 'Airport Road', 'Al Kharj Road', 'Riyadh Park Road', 'King Saud Road'\n ],\n cities: [\n 'Riyadh', 'Jeddah', 'Makkah', 'Madinah', 'Dammam', 'Khobar', 'Dhahran', 'Jubail',\n 'Tabuk', 'Abha', 'Khamis Mushait', 'Buraidah', 'Hail', 'Najran', 'Yanbu', 'Jazan',\n 'Al Ahsa', 'Taif', 'Qatif', 'Al Kharj', 'Ras Tanura', 'Hafar Al Batin', 'Arar', 'Sakaka'\n ],\n states: [\n 'Riyadh', 'Makkah', 'Madinah', 'Eastern Province', 'Asir', 'Tabuk', 'Qassim',\n 'Hail', 'Northern Borders', 'Jazan', 'Najran', 'Al Bahah', 'Al Jouf'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const district = Random.pick(['Al Malaz', 'Al Olaya', 'Al Naseem', 'Al Salamah', 'Al Rawdah']);\n const buildingNumber = Random.int(1000, 9999);\n return `Building ${buildingNumber}, ${district}, ${street}, ${city} ${zipCode}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+966 ## ### ####',\n '0## ### ####',\n '+966 (0)## ### ####',\n '05# ### ####',\n '050 ### ####',\n '053 ### ####',\n '054 ### ####',\n '055 ### ####',\n '056 ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com.sa', 'outlook.com', 'hotmail.com',\n 'live.com', 'icloud.com', 'mail.com', 'protonmail.com',\n 'stc.net.sa', 'mobily.com.sa'\n ],\n\n companyNames: [\n 'Saudi Aramco', 'SABIC', 'Al Rajhi Bank', 'STC', 'Samba Financial Group',\n 'Riyad Bank', 'Saudi Electricity Company', 'ACWA Power', 'Maaden',\n 'Jarir Marketing', 'Abdullah Al Othaim Markets', 'Bin Dawood',\n 'Almarai Company', 'Savola Group', 'Zain KSA'\n ],\n\n industries: [\n 'التكنولوجيا', 'المالية', 'الرعاية الصحية', 'التعليم', 'التجزئة',\n 'التصنيع', 'الإعلام', 'الاتصالات', 'الطاقة', 'النقل',\n 'العقارات', 'الاستشارات', 'الضيافة', 'السيارات', 'الطيران'\n ],\n\n catchPhrases: [\n 'الابتكار للمستقبل', 'نجاحكم هو عملنا', 'نبني المستقبل معاً',\n 'الجودة والثقة', 'التميز والالتزام', 'حلول مستدامة',\n 'نخلق القيمة', 'شريككم الموثوق', 'نقود التغيير'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ar_EG: LocaleDefinition = {\n firstNamesMale: [\n 'Mohamed', 'Ahmed', 'Mahmoud', 'Ali', 'Omar', 'Youssef', 'Hassan', 'Amr',\n 'Khaled', 'Ibrahim', 'Mustafa', 'Osama', 'Tamer', 'Hossam', 'Karim', 'Tarek',\n 'Sherif', 'Adel', 'Walid', 'Ashraf', 'Magdy', 'Hazem', 'Hany', 'Ayman',\n 'Ramy', 'Wael', 'Essam', 'Medhat', 'Samir', 'Fathy', 'Samy', 'Nabil'\n ],\n firstNamesFemale: [\n 'Fatma', 'Mona', 'Nour', 'Mariam', 'Sara', 'Nada', 'Heba', 'Aya', 'Salma',\n 'Yasmin', 'Rana', 'Layla', 'Hala', 'Dina', 'Rania', 'Amira', 'Eman', 'Noha',\n 'Sahar', 'Nagwa', 'Manal', 'Somaya', 'Ghada', 'Amal', 'Nawal', 'Hanan',\n 'Maha', 'Samira', 'Hanaa', 'Rabab', 'Soha', 'Menna'\n ],\n lastNames: [\n 'Mohamed', 'Ahmed', 'Ali', 'Hassan', 'Ibrahim', 'Mahmoud', 'Youssef', 'Abdel Rahman',\n 'Abdel Aziz', 'Abdel Fattah', 'Abdel Hamid', 'El Sayed', 'El Shahat', 'Khalil',\n 'Mostafa', 'Salah', 'Fouad', 'Rashad', 'Farouk', 'Shawky', 'Refaat', 'Abdallah',\n 'El Sherbiny', 'El Maghraby', 'El Masry', 'El Naggar', 'El Sisi', 'El Din', 'Mansour'\n ],\n streets: [\n 'Tahrir Street', 'Ramses Street', 'Salah Salem Street', 'Mohamed Farid Street',\n 'Qasr El Nil Street', 'Talaat Harb Street', 'El Haram Street', 'Nasr Road',\n 'Makram Ebeid Street', 'Mostafa El Nahhas Street', 'El Geish Street', 'El Nozha Street',\n 'Abbas El Akkad Street', 'Ahmed Orabi Street', 'Port Said Street', 'October Bridge'\n ],\n cities: [\n 'Cairo', 'Alexandria', 'Giza', 'Shubra El Kheima', 'Port Said', 'Suez', 'Luxor',\n 'Mansoura', 'El Mahalla El Kubra', 'Tanta', 'Asyut', 'Ismailia', 'Faiyum', 'Zagazig',\n 'Aswan', 'Damietta', 'Damanhur', 'Minya', 'Beni Suef', 'Qena', 'Sohag', 'Hurghada',\n 'Kafr El Sheikh', 'Arish', 'Mallawi', '6th of October City', 'Sharm El Sheikh'\n ],\n states: [\n 'Cairo', 'Alexandria', 'Giza', 'Qalyubia', 'Port Said', 'Suez', 'Luxor',\n 'Dakahlia', 'Gharbia', 'Sharqia', 'Asyut', 'Ismailia', 'Faiyum', 'Beheira',\n 'Aswan', 'Damietta', 'Minya', 'Beni Suef', 'Qena', 'Sohag', 'Red Sea',\n 'Kafr El Sheikh', 'North Sinai', 'South Sinai', 'Matruh', 'New Valley'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const building = Random.int(1, 999);\n const floor = Random.int(1, 12);\n const apartment = Random.int(1, 50);\n return `Building ${building}, Floor ${floor}, Apartment ${apartment}, ${street}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n },\n\n phoneFormats: [\n '+20 ## #### ####',\n '0## #### ####',\n '+20 (0)## #### ####',\n '01# ### ### ##',\n '010# ### ####',\n '011# ### ####',\n '012# ### ####',\n '015# ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com', 'outlook.com', 'hotmail.com',\n 'live.com', 'icloud.com', 'mail.com',\n 'link.net', 'egynet.com', 'data.com.eg'\n ],\n\n companyNames: [\n 'Orange Egypt', 'Vodafone Egypt', 'Etisalat Egypt', 'Telecom Egypt',\n 'National Bank of Egypt', 'Banque Misr', 'Commercial International Bank',\n 'Egyptian Refining Company', 'Elsewedy Electric', 'Orascom Construction',\n 'Ezz Steel', 'Arab African International Bank', 'QNB Al Ahli',\n 'Fawry', 'Jumia Egypt', 'Souq.com'\n ],\n\n industries: [\n 'التكنولوجيا', 'المالية', 'الرعاية الصحية', 'التعليم', 'التجزئة',\n 'التصنيع', 'الإعلام', 'الاتصالات', 'الطاقة', 'النقل',\n 'العقارات', 'الاستشارات', 'الضيافة', 'السيارات', 'الطيران'\n ],\n\n catchPhrases: [\n 'الابتكار للمستقبل', 'نجاحكم هو عملنا', 'نبني المستقبل معاً',\n 'الجودة والثقة', 'التميز والالتزام', 'حلول مستدامة',\n 'نخلق القيمة', 'شريككم الموثوق', 'نقود التغيير'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const he_IL: LocaleDefinition = {\n firstNamesMale: [\n 'David', 'Moshe', 'Yosef', 'Daniel', 'Uri', 'Avi', 'Amit', 'Or', 'Yonatan', 'Eitan',\n 'Noam', 'Itai', 'Rotem', 'Lior', 'Omri', 'Alon', 'Yuval', 'Gal', 'Idan', 'Nir',\n 'Ariel', 'Ben', 'Shai', 'Yair', 'Tom', 'Adam', 'Tomer', 'Dor', 'Oren', 'Elad',\n 'Chen', 'Ran', 'Roi', 'Omer'\n ],\n firstNamesFemale: [\n 'Sarah', 'Miriam', 'Rachel', 'Tamar', 'Noa', 'Shira', 'Maya', 'Yael', 'Hila',\n 'Dana', 'Tal', 'Lihi', 'Noga', 'Adi', 'Roni', 'Noy', 'Shani', 'Mia', 'Ella',\n 'Yarden', 'Lian', 'Agam', 'Rotem', 'Lior', 'Amit', 'Carmel', 'Talia', 'Neta',\n 'Efrat', 'Gal', 'Inbar', 'Avigail', 'Chen'\n ],\n lastNames: [\n 'Cohen', 'Levy', 'Mizrahi', 'Peretz', 'Biton', 'Dahan', 'Avraham', 'Friedman',\n 'Azoulay', 'Yosef', 'Katz', 'Kaplan', 'Ben David', 'Ben Ami', 'Malka', 'Shapiro',\n 'Amar', 'Ohana', 'Elkayam', 'Golan', 'Goldberg', 'Stein', 'Schwartz', 'Levi',\n 'Ben Haim', 'Abuksis', 'Israeli', 'Sharon', 'Barak', 'Shalom', 'Weiss', 'Klein'\n ],\n streets: [\n 'Dizengoff Street', 'Rothschild Boulevard', 'Ben Yehuda Street', 'Allenby Street',\n 'King George Street', 'Jaffa Road', 'HaYarkon Street', 'Sderot Ben Gurion',\n 'Herzl Street', 'Weizmann Street', 'Basel Street', 'Nordau Boulevard', 'Ibn Gvirol Street',\n 'Rabin Square', 'Carmel Market', 'Neve Tzedek', 'Florentin', 'Sarona'\n ],\n cities: [\n 'Jerusalem', 'Tel Aviv', 'Haifa', 'Rishon LeZion', 'Petah Tikva', 'Ashdod', 'Netanya',\n 'Beer Sheva', 'Holon', 'Bnei Brak', 'Ramat Gan', 'Rehovot', 'Bat Yam', 'Ashkelon',\n 'Herzliya', 'Kfar Saba', 'Hadera', 'Modi\\'in', 'Nazareth', 'Lod', 'Ramla', 'Nahariya',\n 'Rosh HaAyin', 'Givatayim', 'Kiryat Ata', 'Raanana', 'Acre', 'Eilat'\n ],\n states: [\n 'Jerusalem', 'Tel Aviv', 'Haifa', 'Central', 'Southern', 'Northern', 'Judea and Samaria'\n ],\n zipCodePattern: '#######',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer', 'Operations Manager',\n 'Business Analyst', 'Product Manager', 'System Administrator', 'Quality Engineer'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance', 'Operations',\n 'Customer Service', 'IT', 'Research and Development', 'Legal', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const building = Random.int(1, 200);\n const apartment = Random.int(1, 50);\n return `${street} ${building}, Apt ${apartment}, ${city} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000000, 9999999));\n },\n\n phoneFormats: [\n '+972 ## ### ####',\n '0## ### ####',\n '+972 (0)## ### ####',\n '05# ### ####',\n '050 ### ####',\n '051 ### ####',\n '052 ### ####',\n '053 ### ####',\n '054 ### ####',\n '055 ### ####',\n '056 ### ####',\n '057 ### ####',\n '058 ### ####',\n '059 ### ####'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.co.il', 'outlook.co.il', 'hotmail.co.il', 'live.co.il',\n 'walla.co.il', 'nana.co.il', '012.net.il', 'bezeqint.net', 'zahav.net.il'\n ],\n\n companyNames: [\n 'Elbit Systems', 'Israel Aerospace Industries', 'Rafael Advanced Defense Systems',\n 'Teva Pharmaceutical Industries', 'Check Point Software Technologies',\n 'Nice Systems', 'Amdocs Limited', 'Verint Systems', 'NICE Ltd',\n 'Bank Hapoalim', 'Bank Leumi', 'Israel Discount Bank', 'Bank Mizrahi-Tefahot',\n 'Cellcom Israel', 'Partner Communications', 'Pelephone Communications',\n 'Bezeq The Israeli Telecommunication', 'Hot Telecommunication Systems'\n ],\n\n industries: [\n 'טכנולוגיה', 'פיננסים', 'בריאות', 'חינוך', 'קמעונאות',\n 'ייצור', 'מדיה', 'תקשורת', 'אנרגיה', 'תחבורה',\n 'נדל\"ן', 'ייעוץ', 'מלונאות', 'רכב', 'תעופה'\n ],\n\n catchPhrases: [\n 'חדשנות לעתיד', 'ההצלחה שלך היא העסק שלנו', 'בונים את העתיד יחד',\n 'איכות ואמון', 'מצוינות ומחויבות', 'פתרונות בני קיימא',\n 'יוצרים ערך', 'השותף האמין שלך', 'מובילים את השינוי'\n ]\n};","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const uk_UA: LocaleDefinition = {\n firstNamesMale: [\n 'Oleksandr', 'Dmytro', 'Maxym', 'Andriy', 'Serhiy', 'Oleksiy', 'Vitaliy',\n 'Yuriy', 'Volodymyr', 'Ivan', 'Petro', 'Mykola', 'Roman', 'Ihor', 'Vasyl',\n 'Taras', 'Bohdan', 'Vyacheslav', 'Valeriy', 'Leonid', 'Oleg', 'Viktor',\n 'Anatoliy', 'Mykhaylo', 'Pavlo', 'Hryhoriy', 'Stanislav', 'Eduard', 'Yevhen', 'Artem'\n ],\n firstNamesFemale: [\n 'Olena', 'Nataliya', 'Iryna', 'Tetyana', 'Oksana', 'Svitlana', 'Lyudmyla',\n 'Kateryna', 'Maryana', 'Anna', 'Maria', 'Anastasiya', 'Viktoriya', 'Yuliya',\n 'Olha', 'Nadiya', 'Larysa', 'Halyna', 'Ivanna', 'Roksolana', 'Solomiya',\n 'Lesya', 'Daryna', 'Sofiya', 'Mariya', 'Khrystyna', 'Alina', 'Polina', 'Diana', 'Vlada'\n ],\n lastNames: [\n 'Shevchenko', 'Kovalenko', 'Bondarenko', 'Tkachenko', 'Savchenko',\n 'Kovalchuk', 'Koval', 'Melnyk', 'Shevchuk', 'Boyko', 'Lysenko',\n 'Kravchenko', 'Karpenko', 'Yanenko', 'Oliynyk', 'Andriyenko',\n 'Pavlenko', 'Semenenko', 'Petrenko', 'Marchenko', 'Ivanenko',\n 'Lutsenko', 'Bilenko', 'Hrytsenko', 'Klimenko', 'Vasylchenko',\n 'Hnatyuk', 'Kruk', 'Zubenko', 'Moroz', 'Ponomarenko', 'Rudenko'\n ],\n streets: [\n 'Khreshchatyk Street', 'Shevchenko Boulevard', 'Franko Street',\n 'Hrushevskoho Street', 'Velyka Vasylkivska', 'Peremohy Avenue',\n 'Leva Tolstoho Street', 'Saksahanskoho Street', 'Vladimirska Street',\n 'Yaroslaviv Val', 'Lva Tolstoho', 'Kreshatik', 'Maidan Nezalezhnosti',\n 'Sofiyska Street', 'Volodymyrska Street', 'Pechersk Street', 'Podil Street'\n ],\n cities: [\n 'Kyiv', 'Kharkiv', 'Odesa', 'Dnipro', 'Donetsk', 'Zaporizhzhia',\n 'Lviv', 'Kryvyi Rih', 'Mykolaiv', 'Mariupol', 'Luhansk', 'Vinnytsia',\n 'Simferopol', 'Kherson', 'Poltava', 'Chernihiv', 'Cherkasy', 'Sumy',\n 'Zhytomyr', 'Khmelnytskyi', 'Rivne', 'Ivano-Frankivsk', 'Ternopil',\n 'Lutsk', 'Uzhhorod', 'Chernivtsi', 'Kirovohrad', 'Sevastopol'\n ],\n states: [\n 'Kyiv Oblast', 'Kharkiv Oblast', 'Odesa Oblast', 'Dnipropetrovsk Oblast',\n 'Donetsk Oblast', 'Zaporizhzhia Oblast', 'Lviv Oblast', 'Mykolaiv Oblast',\n 'Vinnytsia Oblast', 'Poltava Oblast', 'Chernihiv Oblast', 'Cherkasy Oblast',\n 'Sumy Oblast', 'Zhytomyr Oblast', 'Khmelnytskyi Oblast', 'Rivne Oblast',\n 'Ivano-Frankivsk Oblast', 'Ternopil Oblast', 'Lutsk Oblast', 'Zakarpattia Oblast',\n 'Chernivtsi Oblast', 'Kirovohrad Oblast', 'Kherson Oblast', 'Luhansk Oblast'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\n 'Operations Manager', 'Business Analyst', 'Product Manager', 'System Administrator',\n 'Quality Assurance Engineer', 'Technical Writer', 'Database Administrator',\n 'Network Engineer', 'DevOps Engineer', 'UX Designer', 'Content Manager'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const building = Random.int(1, 200);\n const apartment = Random.int(1, 300);\n return `${street} ${building}, apt. ${apartment}, ${city}, ${state}, ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const sk_SK: LocaleDefinition = {\n firstNamesMale: [\n 'Jakub', 'Martin', 'Matúš', 'Lukáš', 'Michal', 'Peter', 'Ján', 'Pavol',\n 'Stanislav', 'Tomáš', 'Juraj', 'Filip', 'Ondrej', 'Vladimír', 'Marián',\n 'Jozef', 'Miroslav', 'Róbert', 'Dušan', 'Milan', 'Richard', 'Patrik',\n 'Erik', 'Daniel', 'Samuel', 'Alex', 'Dominik', 'Kristián', 'Sebastián', 'Adam'\n ],\n firstNamesFemale: [\n 'Mária', 'Jana', 'Eva', 'Anna', 'Zuzana', 'Katarína', 'Natália', 'Lucia',\n 'Martina', 'Petra', 'Veronika', 'Simona', 'Andrea', 'Monika', 'Nikola',\n 'Dominika', 'Kristína', 'Michaela', 'Patrícia', 'Laura', 'Sofia', 'Emma',\n 'Nina', 'Timea', 'Viktória', 'Adriana', 'Daniela', 'Jana', 'Renáta', 'Tatiana'\n ],\n lastNames: [\n 'Horváth', 'Kováč', 'Varga', 'Tóth', 'Balogh', 'Nagy', 'Szabó', 'Molnár',\n 'Balog', 'Lakatoš', 'Vass', 'Rigó', 'Gál', 'Farkas', 'Kiss', 'Németh',\n 'Mészáros', 'Takács', 'Szűcs', 'Kováčová', 'Horváthová', 'Vargová',\n 'Tóthová', 'Baloghová', 'Nagyová', 'Szabóová', 'Molnárová', 'Balogová',\n 'Lakatošová', 'Vassová', 'Rigóová', 'Gálová', 'Farkasová', 'Kissóvá'\n ],\n streets: [\n 'Hlavná ulica', 'Dunajská ulica', 'Obchodná ulica', 'Štefánikova ulica',\n 'Kollárova ulica', 'Hviezdoslavovo námestie', 'SNP ulica', 'Partizánska ulica',\n 'Mierová ulica', 'Slobody ulica', 'Nová ulica', 'Záhradná ulica', 'Lipová ulica',\n 'Javorová ulica', 'Brežská ulica', 'Smreková ulica', 'Borová ulica', 'Jeseniová ulica'\n ],\n cities: [\n 'Bratislava', 'Košice', 'Prešov', 'Žilina', 'Banská Bystrica', 'Nitra',\n 'Trnava', 'Trenčín', 'Martin', 'Poprad', 'Prievidza', 'Zvolen', 'Považská Bystrica',\n 'Michalovce', 'Spišská Nová Ves', 'Komárno', 'Levice', 'Bardejov', 'Liptovský Mikuláš',\n 'Ružomberok', 'Piešťany', 'Topoľčany', 'Humenné', 'Senica', 'Dunajská Streda'\n ],\n states: [\n 'Bratislavský kraj', 'Trnavský kraj', 'Trenčiansky kraj', 'Nitriansky kraj',\n 'Žilinský kraj', 'Banskobystrický kraj', 'Prešovský kraj', 'Košický kraj'\n ],\n zipCodePattern: '### ##',\n jobTitles: [\n 'Softvérový inžinier', 'Projektový manažér', 'Dátový analytik', 'Marketingový manažér',\n 'Obchodný zástupca', 'Účtovník', 'HR manažér', 'Dizajnér', 'Prevádzkový manažér',\n 'Business analytik', 'Produktový manažér', 'System administrátor', 'QA inžinier',\n 'Technický spisovateľ', 'Databázový administrátor', 'Sieťový inžinier', 'DevOps inžinier'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Predaj', 'Ľudské zdroje', 'Financie',\n 'Prevádzka', 'Zákaznícky servis', 'IT', 'Vývoj a výskum',\n 'Právne oddelenie', 'Product Management', 'Design', 'Kvalita', 'Administratíva'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 500);\n return `${street} ${number}, ${zipCode} ${city}, ${state}`;\n },\n\n generateZipCode(): string {\n const part1 = String(Random.int(100, 999));\n const part2 = String(Random.int(10, 99));\n return `${part1} ${part2}`;\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const hr_HR: LocaleDefinition = {\n firstNamesMale: [\n 'Ivan', 'Marko', 'Luka', 'Josip', 'Matej', 'Filip', 'Petar', 'Ante',\n 'Tomislav', 'Stjepan', 'Nikola', 'David', 'Karlo', 'Vedran', 'Igor',\n 'Goran', 'Zoran', 'Damir', 'Mario', 'Dario', 'Robert', 'Andrej',\n 'Miran', 'Bruno', 'Ivica', 'Davor', 'Krešimir', 'Domagoj', 'Lovro', 'Roko'\n ],\n firstNamesFemale: [\n 'Ana', 'Marija', 'Ivana', 'Maja', 'Petra', 'Lucija', 'Katarina', 'Ema',\n 'Sara', 'Lara', 'Nina', 'Lea', 'Dora', 'Laura', 'Tina', 'Martina',\n 'Sanja', 'Vesna', 'Dragana', 'Biljana', 'Snježana', 'Dubravka', 'Jasna',\n 'Marina', 'Irena', 'Vedrana', 'Andrea', 'Monika', 'Kristina', 'Antonija'\n ],\n lastNames: [\n 'Horvat', 'Kovačević', 'Babić', 'Petrović', 'Jurić', 'Marković',\n 'Radić', 'Kovač', 'Knežević', 'Savić', 'Horvat', 'Galić', 'Bilić',\n 'Tomić', 'Vuković', 'Pavić', 'Lončar', 'Matić', 'Vidović', 'Jurić',\n 'Bošnjak', 'Dedić', 'Kralj', 'Bencić', 'Perić', 'Radoš', 'Šimić',\n 'Lukić', 'Varga', 'Nikolić', 'Stojanović', 'Mihalić', 'Rajić', 'Župan'\n ],\n streets: [\n 'Ilica', 'Varšavska ulica', 'Tkalčićeva ulica', 'Preradovićeva ulica',\n 'Gajeva ulica', 'Masarykova ulica', 'Kneza Mislava', 'Jurišićeva ulica',\n 'Hebrangova ulica', 'Strossmayerovo šetalište', 'Zrinjevac', 'Frankopanska ulica',\n 'Palmotićeva ulica', 'Gundulićeva ulica', 'Praška ulica', 'Draškovićeva ulica',\n 'Vlaška ulica', 'Maksimirska ulica', 'Savska ulica', 'Vukovarska ulica'\n ],\n cities: [\n 'Zagreb', 'Split', 'Rijeka', 'Osijek', 'Zadar', 'Pula', 'Slavonski Brod',\n 'Karlovac', 'Varaždin', 'Šibenik', 'Sisak', 'Velika Gorica', 'Vinkovci',\n 'Dubrovnik', 'Bjelovar', 'Virovitica', 'Požega', 'Koprivnica', 'Čakovec',\n 'Krapina', 'Gospić', 'Pazin', 'Rovinj', 'Makarska', 'Trogir', 'Korčula'\n ],\n states: [\n 'Zagrebačka županija', 'Splitsko-dalmatinska županija', 'Primorsko-goranska županija',\n 'Osječko-baranjska županija', 'Zadarska županija', 'Istarska županija',\n 'Brodsko-posavska županija', 'Karlovačka županija', 'Varaždinska županija',\n 'Šibensko-kninska županija', 'Sisačko-moslavačka županija', 'Vukovarsko-srijemska županija',\n 'Dubrovačko-neretvanska županija', 'Bjelovarsko-bilogorska županija', 'Virovitičko-podravska županija',\n 'Požeško-slavonska županija', 'Koprivničko-križevačka županija', 'Međimurska županija',\n 'Krapinsko-zagorska županija', 'Ličko-senjska županija'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Softverski inženjer', 'Voditelj projekata', 'Analitičar podataka', 'Marketing menadžer',\n 'Prodajni predstavnik', 'Računovođa', 'HR menadžer', 'Dizajner', 'Operativni menadžer',\n 'Poslovni analitičar', 'Produkt menadžer', 'Sistem administrator', 'QA inženjer',\n 'Tehnički pisac', 'Administrator baza podataka', 'Mrežni inženjer', 'DevOps inženjer'\n ],\n departments: [\n 'Inženjering', 'Marketing', 'Prodaja', 'Ljudski resursi', 'Financije',\n 'Operacije', 'Korisnička podrška', 'IT', 'Istraživanje i razvoj',\n 'Pravno', 'Upravljanje proizvodima', 'Dizajn', 'Kontrola kvalitete', 'Administracija'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 200);\n return `${street} ${number}, ${zipCode} ${city}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const rs_RS: LocaleDefinition = {\n firstNamesMale: [\n 'Marko', 'Nikola', 'Aleksandar', 'Stefan', 'Filip', 'Luka', 'Nemanja', 'Viktor',\n 'Uroš', 'Miloš', 'Vladimir', 'Mihailo', 'Petar', 'Jovan', 'Andrej', 'Ilija',\n 'Lazar', 'Vasilije', 'Pavle', 'Đorđe', 'Bogdan', 'Sava', 'Vojin', 'Rastko',\n 'Dragan', 'Zoran', 'Goran', 'Predrag', 'Dejan', 'Saša', 'Nebojša', 'Slobodan'\n ],\n firstNamesFemale: [\n 'Marija', 'Ana', 'Jelena', 'Milica', 'Sofija', 'Nina', 'Maja', 'Ivana',\n 'Teodora', 'Tijana', 'Bojana', 'Snežana', 'Vesna', 'Dragana', 'Biljana',\n 'Sanja', 'Marina', 'Irena', 'Katarina', 'Aleksandra', 'Jasmina', 'Natasha',\n 'Olivera', 'Sladjana', 'Zorica', 'Radmila', 'Ljubica', 'Gordana', 'Mirjana', 'Vera'\n ],\n lastNames: [\n 'Jovanović', 'Petrović', 'Nikolić', 'Stojanović', 'Đorđević', 'Stanković',\n 'Pavlović', 'Marković', 'Ilić', 'Milošević', 'Popović', 'Lukić', 'Simić',\n 'Živković', 'Mitić', 'Vasić', 'Krstić', 'Jović', 'Savić', 'Perić',\n 'Rajić', 'Mihailović', 'Lazarević', 'Veličković', 'Stefanović', 'Todorović',\n 'Nedeljković', 'Miljković', 'Bošković', 'Gajić', 'Ristić', 'Kostić', 'Tomić'\n ],\n streets: [\n 'Knez Mihailova', 'Terazije', 'Kralja Milana', 'Bulevar kralja Aleksandra',\n 'Nemanjina ulica', 'Kraljice Natalije', 'Makedonska ulica', 'Takovska ulica',\n 'Cara Lazara', 'Svetogorska ulica', 'Hilandarska ulica', 'Džordža Vašingtona',\n 'Bulevar umetnosti', 'Gandijeva ulica', 'Jurija Gagarina', 'Antifašističke borbe',\n 'Vojvode Putnika', 'Bulevar Zorana Đinđića', 'Autoput za Zagreb', 'Resavska ulica'\n ],\n cities: [\n 'Beograd', 'Novi Sad', 'Niš', 'Kragujevac', 'Subotica', 'Zrenjanin', 'Pančevo',\n 'Čačak', 'Kraljevo', 'Smederevo', 'Leskovac', 'Užice', 'Valjevo', 'Šabac',\n 'Vranje', 'Kruševac', 'Sombor', 'Požarevac', 'Pirot', 'Zaječar', 'Kikinda',\n 'Sremska Mitrovica', 'Jagodina', 'Vršac', 'Bor', 'Gornji Milanovac', 'Negotin'\n ],\n states: [\n 'Beograd', 'Vojvodina', 'Šumadija i Zapadna Srbija', 'Južna i Istočna Srbija',\n 'Autonomna Pokrajina Vojvodina', 'Autonomna Pokrajina Kosovo i Metohija'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Softverski inženjer', 'Menadžer projekata', 'Analitičar podataka', 'Marketing menadžer',\n 'Prodajni predstavnik', 'Računovođa', 'HR menadžer', 'Dizajner', 'Operativni menadžer',\n 'Poslovni analitičar', 'Produkt menadžer', 'Sistem administrator', 'QA inženjer',\n 'Tehnički pisac', 'Administrator baza podataka', 'Mrežni inženjer', 'DevOps inženjer'\n ],\n departments: [\n 'Inženjering', 'Marketing', 'Prodaja', 'Ljudski resursi', 'Finansije',\n 'Operacije', 'Korisnička podrška', 'IT', 'Istraživanje i razvoj',\n 'Pravno', 'Upravljanje proizvodima', 'Dizajn', 'Kontrola kvalitete', 'Administracija'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 200);\n const apartment = Random.int(1, 100);\n return `${street} ${number}/${apartment}, ${zipCode} ${city}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(11000, 38999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const lt_LT: LocaleDefinition = {\n firstNamesMale: [\n 'Jonas', 'Kazimieras', 'Antanas', 'Juozas', 'Petras', 'Aleksandras', 'Stasys',\n 'Mykolas', 'Andrius', 'Tomas', 'Mindaugas', 'Gintaras', 'Vytautas', 'Algirdas',\n 'Darius', 'Rolandas', 'Saulius', 'Marius', 'Lukas', 'Domantas', 'Nojus',\n 'Lukas', 'Matas', 'Tomas', 'Paulius', 'Simonas', 'Edgaras', 'Artūras', 'Žydrūnas', 'Arvydas'\n ],\n firstNamesFemale: [\n 'Ona', 'Marija', 'Janina', 'Elena', 'Aldona', 'Genovaitė', 'Danguolė',\n 'Rasa', 'Jūratė', 'Aušra', 'Vida', 'Laima', 'Giedrė', 'Nijolė', 'Birutė',\n 'Edita', 'Inga', 'Laura', 'Greta', 'Emilija', 'Sofija', 'Elzbieta',\n 'Kotryna', 'Ugnė', 'Rugilė', 'Gabija', 'Liepa', 'Aistė', 'Monika', 'Kristina'\n ],\n lastNames: [\n 'Kazlauskas', 'Jankauskas', 'Petrauskas', 'Stankevičius', 'Vasiliauskas',\n 'Žukauskas', 'Butkus', 'Paulauskas', 'Urbonas', 'Grigas', 'Rimkus',\n 'Stonkus', 'Jasinskas', 'Kalinauskas', 'Karpavičius', 'Laurinavičius',\n 'Macijauskas', 'Navickas', 'Orlauskas', 'Pocius', 'Ragulskis', 'Sakalauskas',\n 'Tamulis', 'Valančius', 'Zdanavičius', 'Adomaitis', 'Baltakis', 'Dambrauskas'\n ],\n streets: [\n 'Gedimino prospektas', 'Pilies gatvė', 'Didžioji gatvė', 'Vokiečių gatvė',\n 'Laisvės alėja', 'Savanorių prospektas', 'Kalvarijų gatvė', 'Žirmūnų gatvė',\n 'Ukmergės gatvė', 'Ozo gatvė', 'Konstitucijos prospektas', 'Verkių gatvė',\n 'Antakalnio gatvė', 'Tuskulėnų gatvė', 'Širvintų gatvė', 'Gynėjų gatvė'\n ],\n cities: [\n 'Vilnius', 'Kaunas', 'Klaipėda', 'Šiauliai', 'Panevėžys', 'Alytus',\n 'Marijampolė', 'Mažeikiai', 'Jonava', 'Utena', 'Kėdainiai', 'Telšiai',\n 'Visaginas', 'Tauragė', 'Ukmergė', 'Plungė', 'Kretinga', 'Šilutė',\n 'Radviliškis', 'Palanga', 'Gargždai', 'Druskininkai', 'Rokiškis', 'Biržai'\n ],\n states: [\n 'Vilniaus apskritis', 'Kauno apskritis', 'Klaipėdos apskritis', 'Šiaulių apskritis',\n 'Panevėžio apskritis', 'Alytaus apskritis', 'Marijampolės apskritis',\n 'Tauragės apskritis', 'Telšių apskritis', 'Utenos apskritis'\n ],\n zipCodePattern: 'LT-#####',\n jobTitles: [\n 'Programuotojas', 'Projektų vadovas', 'Duomenų analitikas', 'Rinkodaros vadovas',\n 'Pardavimų atstovas', 'Buhalteris', 'Žmogiškųjų išteklių vadovas', 'Dizaineris',\n 'Operacijų vadovas', 'Verslo analitikas', 'Produkto vadovas', 'Sistemų administratorius',\n 'Kokybės inžinierius', 'Techninis rašytojas', 'Duomenų bazių administratorius',\n 'Tinklų inžinierius', 'DevOps inžinierius', 'UX dizaineris', 'Turinio valdytojas'\n ],\n departments: [\n 'Inžinerija', 'Rinkodara', 'Pardavimai', 'Žmogiškieji ištekliai', 'Finansai',\n 'Operacijos', 'Klientų aptarnavimas', 'IT', 'Tyrimai ir plėtra',\n 'Teisinis', 'Produktų valdymas', 'Dizainas', 'Kokybės užtikrinimas', 'Administracija'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 100);\n const apartment = Random.int(1, 50);\n return `${street} ${number}-${apartment}, ${zipCode} ${city}, ${state}`;\n },\n\n generateZipCode(): string {\n return `LT-${String(Random.int(10000, 99999))}`;\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const lv_LV: LocaleDefinition = {\n firstNamesMale: [\n 'Jānis', 'Andris', 'Māris', 'Ivars', 'Guntis', 'Juris', 'Edgars', 'Artūrs',\n 'Uldis', 'Ēriks', 'Valdis', 'Aigars', 'Normunds', 'Sandis', 'Kaspars',\n 'Renārs', 'Oskars', 'Kristaps', 'Toms', 'Dāvis', 'Rihards', 'Aleksandrs',\n 'Sergejs', 'Dmitrijs', 'Aleksejs', 'Viktors', 'Pēteris', 'Pāvils', 'Jēkabs', 'Miķelis'\n ],\n firstNamesFemale: [\n 'Līga', 'Inese', 'Ilze', 'Dace', 'Sandra', 'Inga', 'Zane', 'Laima',\n 'Vita', 'Ieva', 'Kristīne', 'Agnese', 'Maija', 'Santa', 'Elīna',\n 'Laura', 'Anna', 'Marija', 'Jekaterina', 'Natālija', 'Tatjana', 'Jeļena',\n 'Olga', 'Svetlana', 'Irina', 'Aija', 'Baiba', 'Solvita', 'Guntra', 'Māra'\n ],\n lastNames: [\n 'Bērziņš', 'Kalniņš', 'Ozoliņš', 'Liepiņš', 'Vanags', 'Jansons', 'Karlsons',\n 'Andersons', 'Lejnieks', 'Krauze', 'Osis', 'Siliņš', 'Vītoliņš', 'Āboliņš',\n 'Lācis', 'Caune', 'Zariņš', 'Birziņš', 'Eglītis', 'Kļaviņš', 'Muižnieks',\n 'Sproģis', 'Šmits', 'Voss', 'Freimanis', 'Zariņš', 'Bērziņa', 'Kalniņa', 'Ozoliņa'\n ],\n streets: [\n 'Brīvības bulvāris', 'Elizabetes iela', 'Krasta iela', 'Daugavgrīvas iela',\n 'Maskavas iela', 'Dzirnavu iela', 'Tērbatas iela', 'Miera iela',\n 'Valdemāra iela', 'Blaumaņa iela', 'Stabu iela', 'Lāčplēša iela',\n 'Gogoļa iela', 'Prāgas iela', 'Skanstes iela', 'Gustava Zemgala gatve'\n ],\n cities: [\n 'Rīga', 'Daugavpils', 'Liepāja', 'Jelgava', 'Jūrmala', 'Ventspils',\n 'Rēzekne', 'Valmiera', 'Jēkabpils', 'Ogre', 'Tukums', 'Salaspils',\n 'Cēsis', 'Olaine', 'Kuldīga', 'Saldus', 'Talsi', 'Dobele',\n 'Sigulda', 'Ikšķile', 'Bauska', 'Limbazi', 'Aizkraukle', 'Gulbene'\n ],\n states: [\n 'Rīga', 'Vidzeme', 'Latgale', 'Kurzeme', 'Zemgale', 'Pierīga'\n ],\n zipCodePattern: 'LV-####',\n jobTitles: [\n 'Programmatūras inženieris', 'Projektu vadītājs', 'Datu analītiķis', 'Mārketinga vadītājs',\n 'Pārdošanas pārstāvis', 'Grāmatvedis', 'HR vadītājs', 'Dizainers', 'Operāciju vadītājs',\n 'Biznesa analītiķis', 'Produktu vadītājs', 'Sistēmu administrators', 'Kvalitātes inženieris',\n 'Tehniskais rakstnieks', 'Datubāzu administrators', 'Tīklu inženieris', 'DevOps inženieris'\n ],\n departments: [\n 'Inženierija', 'Mārketings', 'Pārdošana', 'Cilvēkresursi', 'Finanses',\n 'Operācijas', 'Klientu apkalpošana', 'IT', 'Pētniecība un attīstība',\n 'Juridiskais', 'Produktu vadība', 'Dizains', 'Kvalitātes nodrošinājums', 'Administrācija'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 200);\n const apartment = Random.int(1, 100);\n return `${street} ${number}-${apartment}, ${zipCode} ${city}, ${state}`;\n },\n\n generateZipCode(): string {\n return `LV-${String(Random.int(1000, 9999))}`;\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const et_EE: LocaleDefinition = {\n firstNamesMale: [\n 'Martin', 'Andrei', 'Sergei', 'Dmitri', 'Alexander', 'Igor', 'Jüri', 'Toomas',\n 'Tarmo', 'Marek', 'Rainer', 'Kristjan', 'Marko', 'Andres', 'Peeter',\n 'Kalle', 'Indrek', 'Matti', 'Urmas', 'Erik', 'Oliver', 'Markus', 'Daniel',\n 'Kevin', 'Joonas', 'Sander', 'Rasmus', 'Henri', 'Richard', 'Robert'\n ],\n firstNamesFemale: [\n 'Jelena', 'Anna', 'Natalja', 'Irina', 'Katrin', 'Marina', 'Olga', 'Svetlana',\n 'Tatjana', 'Nadežda', 'Galina', 'Ljudmila', 'Ene', 'Sirje', 'Piret',\n 'Kadri', 'Kristiina', 'Liina', 'Mari', 'Eva', 'Laura', 'Karin', 'Signe',\n 'Helena', 'Victoria', 'Emma', 'Sofia', 'Elisabeth', 'Maria', 'Anastasia'\n ],\n lastNames: [\n 'Tamm', 'Kask', 'Mägi', 'Koppel', 'Aas', 'Sepp', 'Kuznetsov', 'Ivanov',\n 'Smirnov', 'Toom', 'Lepik', 'Kivi', 'Mets', 'Lill', 'Oja', 'Saar',\n 'Volkov', 'Sokolov', 'Kruus', 'Rand', 'Kütt', 'Mänd', 'Puu', 'Kallas',\n 'Hein', 'Karu', 'Ilves', 'Kalda', 'Laur', 'Pärn', 'Roos', 'Tamme'\n ],\n streets: [\n 'Narva maantee', 'Pärnu maantee', 'Tartu maantee', 'Viru tänav', 'Vabaduse puiestee',\n 'Estonia puiestee', 'Liivalaia tänav', 'Sakala tänav', 'Endla tänav', 'Paldiski maantee',\n 'Suur-Ameerika tänav', 'Telliskivi tänav', 'Kopli tänav', 'Sõle tänav', 'Rannamäe tee',\n 'Kloostrimetsa tee', 'Peterburi tee', 'Lasnamäe tänav', 'Mustamäe tee', 'Ehitajate tee'\n ],\n cities: [\n 'Tallinn', 'Tartu', 'Narva', 'Pärnu', 'Kohtla-Järve', 'Viljandi', 'Rakvere',\n 'Maardu', 'Sillamäe', 'Kuressaare', 'Võru', 'Valga', 'Haapsalu', 'Jõhvi',\n 'Paide', 'Keila', 'Kiviõli', 'Tapa', 'Põlva', 'Türi', 'Elva', 'Rapla'\n ],\n states: [\n 'Harjumaa', 'Tartumaa', 'Ida-Virumaa', 'Pärnumaa', 'Lääne-Virumaa',\n 'Viljandimaa', 'Võrumaa', 'Saaremaa', 'Hiiumaa', 'Järvamaa',\n 'Raplamaa', 'Valgamaa', 'Põlvamaa', 'Läänemaa', 'Jõgevamaa'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Tarkvaraarendaja', 'Projektijuht', 'Andmeanalüütik', 'Turundusjuht',\n 'Müügiesindaja', 'Raamatupidaja', 'Personalijuht', 'Disainer', 'Tegevusjuht',\n 'Ärianalüütik', 'Tootejuht', 'Süsteemiadministraator', 'Kvaliteediinsener',\n 'Tehniline kirjutaja', 'Andmebaasi administraator', 'Võrguinsener', 'DevOps insener'\n ],\n departments: [\n 'Arendus', 'Turundus', 'Müük', 'Personal', 'Rahandus', 'Operatsioonid',\n 'Klienditugi', 'IT', 'Teadus ja arendus', 'Juriidiline', 'Tootejuhtimine',\n 'Disain', 'Kvaliteedikontroll', 'Administratsioon'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 100);\n const apartment = Random.int(1, 50);\n return `${street} ${number}-${apartment}, ${zipCode} ${city}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const bg_BG: LocaleDefinition = {\n firstNamesMale: [\n 'Georgi', 'Dimitar', 'Hristo', 'Stoyan', 'Ivan', 'Petar', 'Todor', 'Nikolay',\n 'Aleksandar', 'Andrey', 'Kiril', 'Borislav', 'Valentin', 'Plamen', 'Krasimir',\n 'Miroslav', 'Svetoslav', 'Vladimir', 'Borimir', 'Radoslav', 'Kaloyan', 'Martin',\n 'Viktor', 'Daniel', 'Emil', 'Rumen', 'Zdravko', 'Lyubomir', 'Anton', 'Stanislav'\n ],\n firstNamesFemale: [\n 'Maria', 'Elena', 'Yordanka', 'Svetlana', 'Galina', 'Diana', 'Tatiana', 'Nadezhda',\n 'Lyudmila', 'Veselina', 'Radost', 'Milena', 'Petya', 'Zlatka', 'Silvia', 'Maya',\n 'Boryana', 'Desislava', 'Gabriela', 'Ivelina', 'Teodora', 'Aleksandra', 'Viktoria',\n 'Simona', 'Denitsa', 'Kalina', 'Bilyana', 'Ina', 'Liliya', 'Nikolina'\n ],\n lastNames: [\n 'Ivanov', 'Georgiev', 'Dimitrov', 'Petrov', 'Stoyanov', 'Nikolov', 'Todorov',\n 'Hristov', 'Alexandrov', 'Andreev', 'Kirilov', 'Borisov', 'Valentinov', 'Plamenov',\n 'Krasimirov', 'Miroslavov', 'Svetoslavov', 'Vladimirov', 'Borimirov', 'Radoslavov',\n 'Kaloyanov', 'Martinov', 'Viktorov', 'Danielov', 'Emilov', 'Rumenov', 'Zdravkov'\n ],\n streets: [\n 'Boulevard Vitosha', 'Boulevard Tsar Osvoboditel', 'Boulevard Dondukov',\n 'Boulevard Hristo Botev', 'Boulevard Slivnitsa', 'Boulevard Maria Luiza',\n 'Boulevard Knyaginya Maria Luiza', 'Boulevard Todor Aleksandrov', 'Boulevard Bulgaria',\n 'Boulevard Cherni Vrah', 'Boulevard Nikola Vaptsarov', 'Boulevard Peyo Yavorov'\n ],\n cities: [\n 'Sofia', 'Plovdiv', 'Varna', 'Burgas', 'Ruse', 'Stara Zagora', 'Pleven',\n 'Sliven', 'Dobrich', 'Shumen', 'Pernik', 'Haskovo', 'Yambol', 'Pazardzhik',\n 'Blagoevgrad', 'Veliko Tarnovo', 'Vratsa', 'Gabrovo', 'Asenovgrad', 'Vidin',\n 'Kazanlak', 'Kyustendil', 'Montana', 'Lovech', 'Silistra', 'Targovishte'\n ],\n states: [\n 'Sofia-Grad', 'Plovdiv', 'Varna', 'Burgas', 'Ruse', 'Stara Zagora', 'Pleven',\n 'Sliven', 'Dobrich', 'Shumen', 'Pernik', 'Haskovo', 'Yambol', 'Pazardzhik',\n 'Blagoevgrad', 'Veliko Tarnovo', 'Vratsa', 'Gabrovo', 'Kardzhali', 'Kyustendil',\n 'Lovech', 'Montana', 'Pazardzhik', 'Razgrad', 'Ruse', 'Silistra', 'Sliven',\n 'Smolyan', 'Sofia', 'Stara Zagora', 'Targovishte', 'Varna', 'Veliko Tarnovo', 'Vidin', 'Vratsa', 'Yambol'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Софтуерен инженер', 'Мениджър проекти', 'Анализатор данни', 'Маркетинг мениджър',\n 'Търговски представител', 'Счетоводител', 'HR мениджър', 'Дизайнер',\n 'Оперативен мениджър', 'Бизнес анализатор', 'Мениджър продукти', 'Системен администратор',\n 'Инженер качество', 'Технически писател', 'Администратор бази данни',\n 'Мрежови инженер', 'DevOps инженер', 'UX дизайнер', 'Мениджър съдържание'\n ],\n departments: [\n 'Инженеринг', 'Маркетинг', 'Продажби', 'Човешки ресурси', 'Финанси',\n 'Операции', 'Клиентско обслужване', 'IT', 'Научни изследвания',\n 'Правен', 'Управление на продукти', 'Дизайн', 'Контрол на качеството', 'Администрация'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 200);\n const entrance = Random.pick(['A', 'B', 'V', 'G']);\n const floor = Random.int(1, 10);\n const apartment = Random.int(1, 50);\n return `${street} ${number}, вх. ${entrance}, ет. ${floor}, ап. ${apartment}, ${zipCode} ${city}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 9999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const is_IS: LocaleDefinition = {\n firstNamesMale: [\n 'Jón', 'Sigurður', 'Guðmundur', 'Björn', 'Kristján', 'Magnús', 'Einar', 'Pétur',\n 'Ari', 'Gunnar', 'Ragnar', 'Stefán', 'Tómas', 'Ólafur', 'Eggert', 'Hannes',\n 'Hilmar', 'Indriði', 'Karl', 'Leifur', 'Páll', 'Sveinn', 'Valdimar', 'Árni',\n 'Benedikt', 'Daníel', 'Emil', 'Felix', 'Gabriel', 'Hugo', 'Isak', 'Jonas'\n ],\n firstNamesFemale: [\n 'Guðrún', 'Anna', 'Kristín', 'Margrét', 'Sigríður', 'Ingibjörg', 'Helga', 'Sigrún',\n 'Björk', 'Ásta', 'Hrefna', 'Katrín', 'Lilja', 'María', 'Ragnheiður', 'Sólveig',\n 'Unnur', 'Valgerður', 'Þórdís', 'Þuríður', 'Agnes', 'Dagný', 'Elín', 'Friðrikka',\n 'Guðbjörg', 'Hallgerður', 'Iris', 'Jóhanna', 'Kolbrún', ' Laufey', 'Nanna', 'Oddný'\n ],\n lastNames: [\n 'Jónsson', 'Sigurðsson', 'Guðmundsson', 'Björnsson', 'Kristjánsson', 'Magnússon',\n 'Einarsson', 'Pétursson', 'Arason', 'Gunnarsson', 'Ragnarsson', 'Stefánsson',\n 'Tómasson', 'Ólafsson', 'Eggertsson', 'Hannesson', 'Hilmarsson', 'Indriðason',\n 'Karlsson', 'Leifsson', 'Pálsson', 'Sveinsson', 'Valdimarsson', 'Árnason',\n 'Benediktsson', 'Daníelsson', 'Emilsson', 'Felixsson', 'Gabrielsson', 'Húgósson'\n ],\n streets: [\n 'Laugavegur', 'Skólavörðustígur', 'Bankastræti', 'Austurstræti', 'Hafnarstræti',\n 'Borgartún', 'Skaftahlíð', 'Háaleitisbraut', 'Bústaðavegur', 'Suðurlandsbraut',\n 'Kringlan', 'Tryggvagata', 'Geirsgata', 'Hverfisgata', 'Bergstaðastræti',\n 'Frakkastígur', 'Hverfisgata', 'Kalkofnsvegur', 'Rauðarárstígur', 'Vesturgata'\n ],\n cities: [\n 'Reykjavík', 'Kópavogur', 'Hafnarfjörður', 'Akureyri', 'Reykjanesbær', 'Garðabær',\n 'Mosfellsbær', 'Árborg', 'Akranes', 'Fjarðabyggð', 'Ísafjarðarbær', 'Vestmannaeyjar',\n 'Grindavík', 'Selfoss', 'Seltjarnarnes', 'Húsavík', 'Egilsstaðir', 'Borgarnes',\n 'Keflavík', 'Njarðvík', 'Sauðárkrókur', 'Dalvík', 'Ólafsvík', 'Stykkishólmur'\n ],\n states: [\n 'Höfuðborgarsvæðið', 'Suðurnes', 'Vesturland', 'Vestfirðir', 'Norðurland Vestra',\n 'Norðurland Eystra', 'Austurland', 'Suðurland'\n ],\n zipCodePattern: '###',\n jobTitles: [\n 'Hugbúnaðarverkfræðingur', 'Verkefnastjóri', 'Gagnagreinandi', 'Markaðsstjóri',\n 'Sölufulltrúi', 'Bókari', 'Mannauðsstjóri', 'Hönnuður', 'Reksturstjóri',\n 'Viðskiptagreinandi', 'Vörustjóri', 'Kerfisstjóri', 'Gæðaverkfræðingur',\n 'Tækniritstjóri', 'Gagnagrunnsstjóri', 'Netverkfræðingur', 'DevOps verkfræðingur'\n ],\n departments: [\n 'Verkfræði', 'Markaður', 'Sala', 'Mannauður', 'Fjármál', 'Rekstur',\n 'Þjónusta', 'Upplýsingatækni', 'Rannsóknir og þróun', 'Lögfræði',\n 'Vörustjórnun', 'Hönnun', 'Gæðastjórnun', 'Stjórnun'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 100);\n const apartment = Random.int(1, 50);\n return `${street} ${number}, ${zipCode} ${city}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(101, 999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ng_NG: LocaleDefinition = {\n firstNamesMale: [\n 'Chukwudi', 'Oluwaseun', 'Adebayo', 'Ifeanyi', 'Nnamdi', 'Kemi', 'Tunde',\n 'Emeka', 'Chinedu', 'Olumide', 'Babatunde', 'Folake', 'Wale', 'Akin',\n 'Chioma', 'Obinna', 'Chijioke', 'Ngozi', 'Ibrahim', 'Musa', 'Yusuf',\n 'Mohammed', 'Ahmed', 'Abubakar', 'Sani', 'Godwin', 'Chukwuemeka', 'Kelechi'\n ],\n firstNamesFemale: [\n 'Adunni', 'Morenike', 'Chioma', 'Nneka', 'Amara', 'Olufunke', 'Bimpe',\n 'Folashade', 'Yetunde', 'Ibukun', 'Omolara', 'Adebisi', 'Titilayo', 'Funmilayo',\n 'Chidinma', 'Kamsi', 'Ngozi', 'Adaeze', 'Obiageli', 'Chiamaka', 'Aisha',\n 'Fatima', 'Zainab', 'Khadijah', 'Hauwa', 'Blessing', 'Grace', 'Joy', 'Faith'\n ],\n lastNames: [\n 'Okafor', 'Adeyemi', 'Okonkwo', 'Ogunleye', 'Balogun', 'Ibrahim', 'Mohammed',\n 'Akinwale', 'Eze', 'Nwosu', 'Okoro', 'Adebayo', 'Oladipo', 'Fasasi',\n 'Ogunbiyi', 'Adeleke', 'Olowu', 'Ajayi', 'Kolawole', 'Oyelami', 'Bello',\n 'Yakubu', 'Danjuma', 'Okon', 'Bassey', 'Effiong', 'Udo', 'Obi', 'Nnaji'\n ],\n streets: [\n 'Adetokunbo Ademola Street', 'Herbert Macaulay Way', 'Ahmadu Bello Way',\n 'Obafemi Awolowo Way', 'Ikorodu Road', 'Lagos-Abeokuta Expressway',\n 'Allen Avenue', 'Awolowo Road', 'Adeniyi Jones Avenue', 'Isaac John Street',\n 'Adeola Odeku Street', 'Sanusi Fafunwa Street', 'Akin Adesola Street',\n 'Bode Thomas Street', 'Shitta Bey Street', 'Broad Street', 'Marina Road'\n ],\n cities: [\n 'Lagos', 'Kano', 'Ibadan', 'Abuja', 'Port Harcourt', 'Benin City', 'Kaduna',\n 'Maiduguri', 'Zaria', 'Aba', 'Jos', 'Ilorin', 'Oyo', 'Enugu', 'Abeokuta',\n 'Onitsha', 'Warri', 'Sokoto', 'Calabar', 'Uyo', 'Katsina', 'Bauchi',\n 'Akure', 'Osogbo', 'Gombe', 'Damaturu', 'Lafia', 'Minna', 'Yenagoa'\n ],\n states: [\n 'Lagos', 'Kano', 'Oyo', 'Federal Capital Territory', 'Rivers', 'Edo',\n 'Kaduna', 'Borno', 'Katsina', 'Abia', 'Imo', 'Ogun', 'Ondo', 'Osun',\n 'Ekiti', 'Kwara', 'Kogi', 'Benue', 'Nasarawa', 'Plateau', 'Bauchi',\n 'Gombe', 'Taraba', 'Adamawa', 'Sokoto', 'Kebbi', 'Zamfara', 'Jigawa',\n 'Yobe', 'Akwa Ibom', 'Cross River', 'Bayelsa', 'Ebonyi', 'Enugu', 'Anambra'\n ],\n zipCodePattern: '######',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\n 'Operations Manager', 'Business Analyst', 'Product Manager', 'System Administrator',\n 'Quality Assurance Engineer', 'Technical Writer', 'Database Administrator',\n 'Network Engineer', 'DevOps Engineer', 'UX Designer', 'Content Manager'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 100);\n return `${number} ${street}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(100001, 999999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ke_KE: LocaleDefinition = {\n firstNamesMale: [\n 'Kamau', 'Omondi', 'Wanjohi', 'Kimani', 'Njoroge', 'Mwangi', 'Kariuki',\n 'Maina', 'Kipchoge', 'Chebet', 'Sang', 'Koech', 'Rono', 'Cheruiyot',\n 'Mutua', 'Kiptoo', 'Bett', 'Kirui', 'Tanui', 'Chirchir', 'Mohammed',\n 'Ahmed', 'Hassan', 'Ali', 'Omar', 'Ibrahim', 'John', 'Peter', 'David', 'James'\n ],\n firstNamesFemale: [\n 'Wanjiku', 'Achieng', 'Akinyi', 'Nyambura', 'Wambui', 'Njeri', 'Wangari',\n 'Chepkoech', 'Jepkoech', 'Cheptoo', 'Jepchumba', 'Chepngetich', 'Jelagat',\n 'Chemutai', 'Chebet', 'Cherono', 'Kiptoo', 'Bett', 'Auma', 'Adhiambo',\n 'Fatuma', 'Aisha', 'Zainab', 'Mary', 'Jane', 'Grace', 'Ruth', 'Esther', 'Faith'\n ],\n lastNames: [\n 'Kamau', 'Omondi', 'Wanjohi', 'Kimani', 'Njoroge', 'Mwangi', 'Kariuki',\n 'Maina', 'Kipchoge', 'Chebet', 'Sang', 'Koech', 'Rono', 'Cheruiyot',\n 'Mutua', 'Kiptoo', 'Bett', 'Kirui', 'Tanui', 'Chirchir', 'Mohammed',\n 'Ochieng', 'Odhiambo', 'Kimutai', 'Kiprop', 'Chumba', 'Kiplagat', 'Chepchumba'\n ],\n streets: [\n 'Kenyatta Avenue', 'Moi Avenue', 'Haile Selassie Avenue', 'University Way',\n 'Kimathi Street', 'Koinange Street', 'Kenyatta Street', 'Tom Mboya Street',\n 'Biashara Street', 'River Road', 'Ngong Road', 'Thika Road', 'Waiyaki Way',\n 'Mombasa Road', 'Langata Road', 'Karen Road', 'Limuru Road', 'Kiambu Road'\n ],\n cities: [\n 'Nairobi', 'Mombasa', 'Kisumu', 'Nakuru', 'Eldoret', 'Ruiru', 'Kikuyu',\n 'Kangundo-Tala', 'Malindi', 'Thika', 'Kitui', 'Karuri', 'Nyeri',\n 'Meru', 'Kakamega', 'Garissa', 'Kilifi', 'Bungoma', 'Naivasha',\n 'Kericho', 'Kiambu', 'Machakos', 'Embu', 'Kajiado', 'Voi', 'Isiolo'\n ],\n states: [\n 'Nairobi', 'Mombasa', 'Kisumu', 'Nakuru', 'Uasin Gishu', 'Kiambu',\n 'Machakos', 'Kakamega', 'Bungoma', 'Kilifi', 'Kajiado', 'Nyeri',\n 'Meru', 'Kericho', 'Nandi', 'Kisii', 'Nyamira', 'Homa Bay', 'Migori',\n 'Siaya', 'Busia', 'Vihiga', 'Trans Nzoia', 'Elgeyo Marakwet', 'Baringo',\n 'Laikipia', 'Samburu', 'Turkana', 'West Pokot', 'Marsabit', 'Isiolo',\n 'Wajir', 'Mandera', 'Garissa', 'Taita Taveta', 'Kwale', 'Tana River',\n 'Lamu', 'Taita', 'Kajiado', 'Narok', 'Bomet', 'Nyandarua', 'Kirinyaga',\n 'Muranga', 'Tharaka Nithi', 'Embu', 'Kitui', 'Makueni'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\n 'Operations Manager', 'Business Analyst', 'Product Manager', 'System Administrator',\n 'Quality Assurance Engineer', 'Technical Writer', 'Database Administrator',\n 'Network Engineer', 'DevOps Engineer', 'UX Designer', 'Content Manager'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const building = Random.int(1, 500);\n return `P.O. Box ${Random.int(1000, 99999)}, ${building} ${street}, ${city} ${zipCode}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const pk_PK: LocaleDefinition = {\n firstNamesMale: [\n 'Muhammad', 'Ahmed', 'Ali', 'Hassan', 'Usman', 'Abdul', 'Razaq', 'Kareem',\n 'Rahman', 'Rahim', 'Malik', 'Imran', 'Bilal', 'Faisal', 'Waseem', 'Naveed',\n 'Shahid', 'Pervez', 'Tariq', 'Zahid', 'Mansoor', 'Iqbal', 'Farooq', 'Sarfraz',\n 'Younis', 'Irfan', 'Kamran', 'Adnan', 'Sohail', 'Junaid', 'Omar', 'Hamza',\n 'Yusuf', 'Ibrahim', 'Musa', 'Dawood', 'Suleman', 'Haroon', 'Saad', 'Huzaifa'\n ],\n firstNamesFemale: [\n 'Fatima', 'Ayesha', 'Zainab', 'Khadija', 'Maryam', 'Sana', 'Hina', 'Nadia',\n 'Sadia', 'Farah', 'Shazia', 'Rubab', 'Mahnoor', 'Hafsa', 'Amina', 'Sumaya',\n 'Ruqayyah', 'Bushra', 'Kiran', 'Saima', 'Rabia', 'Tahira', 'Naheed', 'Shabana',\n 'Nargis', 'Parveen', 'Tasneem', 'Yasmin', 'Zahra', 'Sakina', 'Masooma', 'Nusrat'\n ],\n lastNames: [\n 'Khan', 'Malik', 'Ahmed', 'Ali', 'Hussain', 'Shah', 'Qureshi', 'Ansari',\n 'Farooqui', 'Siddiqui', 'Usmani', 'Chaudhry', 'Raja', 'Butt', 'Sheikh',\n 'Bhatti', 'Gill', 'Rana', 'Jutt', 'Gujjar', 'Awan', 'Syed', 'Naqvi',\n 'Zaidi', 'Rizvi', 'Abbas', 'Mirza', 'Baig', 'Mughal', 'Pathan', 'Afghan'\n ],\n streets: [\n 'Mall Road', 'Shahrah-e-Faisal', 'Kashmir Road', 'The Mall', 'Residency Road',\n 'Jinnah Avenue', 'Constitution Avenue', 'Atatürk Avenue', 'Blue Area',\n 'F-7 Markaz', 'G-9 Markaz', 'F-10 Markaz', 'I-8 Markaz', 'Defence Housing Authority',\n 'Gulberg', 'Model Town', 'DHA Phase', 'Bahria Town', 'Lake City', 'Garden Town'\n ],\n cities: [\n 'Karachi', 'Lahore', 'Faisalabad', 'Rawalpindi', 'Multan', 'Gujranwala',\n 'Hyderabad', 'Peshawar', 'Islamabad', 'Quetta', 'Sargodha', 'Sialkot',\n 'Bahawalpur', 'Sukkur', 'Larkana', 'Sheikhupura', 'Rahim Yar Khan',\n 'Jhang', 'Gujrat', 'Mardan', 'Mingora', 'Dera Ghazi Khan', 'Sahiwal',\n 'Nawabshah', 'Okara', 'Gilgit', 'Chitral', 'Skardu', 'Muzaffarabad'\n ],\n states: [\n 'Punjab', 'Sindh', 'Khyber Pakhtunkhwa', 'Balochistan',\n 'Islamabad Capital Territory', 'Gilgit-Baltistan', 'Azad Jammu and Kashmir',\n 'Federally Administered Tribal Areas'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\n 'Operations Manager', 'Business Analyst', 'Product Manager', 'System Administrator',\n 'Quality Assurance Engineer', 'Technical Writer', 'Database Administrator',\n 'Network Engineer', 'DevOps Engineer', 'UX Designer', 'Content Manager'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const houseNumber = Random.int(1, 999);\n const block = String.fromCharCode(65 + Random.int(0, 25));\n return `House ${houseNumber}, Block ${block}, ${street}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const bd_BD: LocaleDefinition = {\n firstNamesMale: [\n 'Rahim', 'Karim', 'Abdul', 'Mohammad', 'Ahmed', 'Ali', 'Hassan', 'Hussain',\n 'Ibrahim', 'Ismail', 'Kamal', 'Jamal', 'Mizanur', 'Habibur', 'Shafiqur',\n 'Atiqur', 'Matiur', 'Ziaur', 'Mokhlesur', 'Golam', 'Abul', 'Nurul',\n 'Harun', 'Rafiqul', 'Badrul', 'Shamsul', 'Najmul', 'Mahbubur', 'Anisur', 'Mosharraf'\n ],\n firstNamesFemale: [\n 'Rahima', 'Karima', 'Fatema', 'Ayesha', 'Khadija', 'Nasrin', 'Salma',\n 'Ruma', 'Sultana', 'Parvin', 'Shirin', 'Hasina', 'Roksana', 'Tahmina',\n 'Nargis', 'Shamima', 'Nusrat', 'Rubina', 'Sultana', 'Jahanara', 'Begum',\n 'Amina', 'Safia', 'Zohra', 'Momena', 'Hosne', 'Kohinoor', 'Feroza', 'Laila', 'Taslima'\n ],\n lastNames: [\n 'Ahmed', 'Khan', 'Islam', 'Hassan', 'Ali', 'Mohammad', 'Rahman', 'Karim',\n 'Haque', 'Hossain', 'Miah', 'Sikder', 'Bhuiyan', 'Chowdhury', 'Talukder',\n 'Sarker', 'Das', 'Roy', 'Ghosh', 'Paul', 'Gupta', 'Sen', 'Barman',\n 'Rabbani', 'Alam', 'Uddin', 'Mia', 'Biswas', 'Mandal', 'Khatun'\n ],\n streets: [\n 'Gulshan Avenue', 'Banani Road', 'Dhanmondi Road', 'Mirpur Road', 'Satmasjid Road',\n 'Kemal Ataturk Avenue', 'Bir Uttam Rafiqul Islam Avenue', 'Rokeya Sarani',\n 'Kazi Nazrul Islam Avenue', 'Sonargaon Road', 'Airport Road', 'Dhaka-Chittagong Highway',\n 'Shahbag Road', 'Elephant Road', 'Satrasta Road', 'Green Road', 'Panthapath',\n 'West Panthapath', 'Hatirjheel Road', 'Progoti Sarani', 'Jahangir Road'\n ],\n cities: [\n 'Dhaka', 'Chittagong', 'Khulna', 'Rajshahi', 'Sylhet', 'Barisal', 'Rangpur',\n 'Comilla', 'Gazipur', 'Narayanganj', 'Mymensingh', 'Bogra', 'Dinajpur',\n 'Jessore', 'Pabna', 'Sirajganj', 'Tangail', 'Jamalpur', 'Kushtia',\n 'Faridpur', 'Noakhali', 'Feni', 'Cox\\'s Bazar', 'Brahmanbaria', 'Habiganj'\n ],\n states: [\n 'Dhaka', 'Chittagong', 'Khulna', 'Rajshahi', 'Sylhet', 'Barisal', 'Rangpur', 'Mymensingh'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Software Engineer', 'Project Manager', 'Data Analyst', 'Marketing Manager',\n 'Sales Representative', 'Accountant', 'HR Manager', 'Designer',\n 'Operations Manager', 'Business Analyst', 'Product Manager', 'System Administrator',\n 'Quality Assurance Engineer', 'Technical Writer', 'Database Administrator',\n 'Network Engineer', 'DevOps Engineer', 'UX Designer', 'Content Manager'\n ],\n departments: [\n 'Engineering', 'Marketing', 'Sales', 'Human Resources', 'Finance',\n 'Operations', 'Customer Service', 'IT', 'Research and Development',\n 'Legal', 'Product Management', 'Design', 'Quality Assurance', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const houseNumber = Random.int(1, 999);\n const road = Random.int(1, 200);\n const block = Random.int(1, 50);\n return `House ${houseNumber}, Road ${road}, Block ${block}, ${street}, ${city} ${zipCode}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 9999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ir_IR: LocaleDefinition = {\n firstNamesMale: [\n 'Mohammad', 'Ali', 'Reza', 'Hossein', 'Ahmad', 'Mahmoud', 'Mehdi', 'Javad',\n 'Hamid', 'Masoud', 'Farid', 'Behrouz', 'Kourosh', 'Ardeshir', 'Babak',\n 'Shahram', 'Parviz', 'Amir', 'Kamran', 'Hassan', 'Hussein', 'Abbas',\n 'Jafar', 'Saeed', 'Omid', 'Ramin', 'Saman', 'Arash', 'Borzou', 'Farhad'\n ],\n firstNamesFemale: [\n 'Fateme', 'Zahra', 'Maryam', 'Zainab', 'Khadijeh', 'Somayeh', 'Masoumeh',\n 'Fatemeh', 'Hanieh', 'Narges', 'Elham', 'Marzieh', 'Leila', 'Nasrin',\n 'Shirin', 'Parisa', 'Farnaz', 'Nazanin', 'Roya', 'Mahnaz', 'Shima',\n 'Giti', 'Simin', 'Fariba', 'Shahla', 'Parvaneh', 'Azadeh', 'Mina', 'Sara', 'Negar'\n ],\n lastNames: [\n 'Hosseini', 'Moradi', 'Karimi', 'Ahmadi', 'Rezaei', 'Mohammadi', 'Jafari',\n 'Rashidi', 'Bagheri', 'Hasani', 'Nazari', 'Safari', 'Farahani', 'Yousefi',\n 'Khani', 'Mirzaei', 'Haidari', 'Majidi', 'Shahidi', 'Ebrahimi', 'Ghasemi',\n 'Tehrani', 'Isfahani', 'Shirazi', 'Tabatabaei', 'Hosseini', 'Rahimi', 'Zahedi'\n ],\n streets: [\n 'Valiasr Street', 'Enghelab Street', 'Revolution Street', 'Ferdowsi Street',\n 'Saadi Street', 'Hafez Street', 'Shariati Street', 'Mirdamad Boulevard',\n 'Jordan Street', 'Africa Boulevard', 'Argentina Square', 'Tajrish Square',\n 'Vanak Square', 'Seven Tir Square', 'Imam Khomeini Street', 'Ferdowsi Avenue'\n ],\n cities: [\n 'Tehran', 'Mashhad', 'Isfahan', 'Karaj', 'Shiraz', 'Tabriz', 'Qom',\n 'Ahvaz', 'Kermanshah', 'Urmia', 'Rasht', 'Zahedan', 'Hamadan', 'Kerman',\n 'Yazd', 'Ardabil', 'Bandar Abbas', 'Arak', 'Zanjan', 'Sanandaj',\n 'Qazvin', 'Khorramabad', 'Gorgan', 'Sari', 'Babol', 'Amol', 'Bushehr'\n ],\n states: [\n 'Tehran', 'Razavi Khorasan', 'Isfahan', 'Alborz', 'Fars', 'East Azerbaijan',\n 'Qom', 'Khuzestan', 'Kermanshah', 'West Azerbaijan', 'Gilan', 'Sistan and Baluchestan',\n 'Hamadan', 'Kerman', 'Yazd', 'Ardabil', 'Hormozgan', 'Markazi', 'Zanjan',\n 'Kurdistan', 'Qazvin', 'Lorestan', 'Golestan', 'Mazandaran', 'Bushehr'\n ],\n zipCodePattern: '##########',\n jobTitles: [\n 'مهندس نرم‌افزار', 'مدیر پروژه', 'تحلیلگر داده', 'مدیر بازاریابی',\n 'نماینده فروش', 'حسابدار', 'مدیر منابع انسانی', 'طراح', 'مدیر عملیات',\n 'تحلیلگر کسب‌وکار', 'مدیر محصول', 'مدیر سیستم', 'مهندس تضمین کیفیت',\n 'نویسنده فنی', 'مدیر پایگاه داده', 'مهندس شبکه', 'مهندس دوآپس'\n ],\n departments: [\n 'مهندسی', 'بازاریابی', 'فروش', 'منابع انسانی', 'مالی', 'عملیات',\n 'پشتیبانی مشتری', 'فناوری اطلاعات', 'تحقیق و توسعه', 'حقوقی',\n 'مدیریت محصول', 'طراحی', 'تضمین کیفیت', 'اداری'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 999);\n const unit = Random.int(1, 50);\n return `${street} ${number}, Unit ${unit}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000000000, 9999999999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ma_MA: LocaleDefinition = {\n firstNamesMale: [\n 'Mohammed', 'Ahmed', 'Ali', 'Hassan', 'Hussain', 'Abdul', 'Rahman', 'Rahim',\n 'Karim', 'Malik', 'Imran', 'Bilal', 'Faisal', 'Waseem', 'Naveed', 'Shahid',\n 'Youssef', 'Omar', 'Hamza', 'Yusuf', 'Ibrahim', 'Musa', 'Ismail', 'Zakaria',\n 'Ayoub', 'Reda', 'Tarik', 'Saïd', 'Rachid', 'Mustapha', 'Hicham', 'Karim'\n ],\n firstNamesFemale: [\n 'Fatima', 'Ayesha', 'Zainab', 'Khadija', 'Maryam', 'Sana', 'Hina', 'Nadia',\n 'Sadia', 'Farah', 'Shazia', 'Rubab', 'Mahnoor', 'Hafsa', 'Amina', 'Sumaya',\n 'Khadijah', 'Aicha', 'Rokia', 'Zahra', 'Salma', 'Meryem', 'Rajaa', 'Latifa',\n 'Samira', 'Naima', 'Hassna', 'Bahija', 'Kaltoum', 'Oumaima', 'Yasmin', 'Loubna'\n ],\n lastNames: [\n 'El Idrissi', 'El Fassi', 'El Filali', 'El Alami', 'El Hassani', 'El Otmani',\n 'El Baghdadi', 'El Mekki', 'El Fassi', 'El Marrakchi', 'El Ouazzani', 'El Tetouani',\n 'El Safi', 'El Jadidi', 'El Kelaa', 'El Bouayachi', 'El Guerrouj', 'El Haddad',\n 'El Benna', 'El Amrani', 'El Kadiri', 'El Bouhali', 'El Ghazi', 'El Moutawakil'\n ],\n streets: [\n 'Avenue Mohammed V', 'Boulevard Hassan II', 'Avenue des FAR', 'Rue Prince Moulay Abdellah',\n 'Avenue Allal Ben Abdellah', 'Boulevard Zerktouni', 'Avenue Moulay Youssef', 'Rue Ibn Batouta',\n 'Avenue Omar Ibn Al Khattab', 'Boulevard d\\'Anfa', 'Corniche Ain Diab', 'Boulevard de la Corniche',\n 'Avenue Mers Sultan', 'Rue Tata', 'Avenue Fquih El Gabbas', 'Boulevard Abdelmoumen'\n ],\n cities: [\n 'Casablanca', 'Rabat', 'Fès', 'Marrakech', 'Tanger', 'Agadir', 'Meknès', 'Oujda',\n 'Kénitra', 'Tétouan', 'Safi', 'El Jadida', 'Nador', 'Béni Mellal', 'Khouribga',\n 'Settat', 'Larache', 'Ksar El Kebir', 'Guelmim', 'Berrechid', 'Taza', 'Mohammedia'\n ],\n states: [\n 'Casablanca-Settat', 'Rabat-Salé-Kénitra', 'Fès-Meknès', 'Marrakech-Safi',\n 'Tanger-Tétouan-Al Hoceïma', 'Souss-Massa', 'Oriental', 'Béni Mellal-Khénifra',\n 'Drâa-Tafilalet', 'Guelmim-Oued Noun', 'Laâyoune-Sakia El Hamra', 'Dakhla-Oued Ed-Dahab'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Ingénieur Logiciel', 'Chef de Projet', 'Analyste de Données', 'Responsable Marketing',\n 'Commercial', 'Comptable', 'Responsable RH', 'Designer', 'Responsable des Opérations',\n 'Analyste d\\'Affaires', 'Chef de Produit', 'Administrateur Système', 'Ingénieur Qualité',\n 'Rédacteur Technique', 'Administrateur de Base de Données', 'Ingénieur Réseau', 'DevOps'\n ],\n departments: [\n 'Ingénierie', 'Marketing', 'Ventes', 'Ressources Humaines', 'Finances',\n 'Opérations', 'Service Client', 'IT', 'Recherche et Développement',\n 'Juridique', 'Gestion de Produits', 'Design', 'Assurance Qualité', 'Administration'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 999);\n const quartier = Random.pick(['Centre Ville', 'Agdal', 'Hay Riad', 'Ocean', 'Massira', 'Narjiss']);\n return `${number} ${street}, ${quartier}, ${city} ${zipCode}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(10000, 99999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const co_CO: LocaleDefinition = {\n firstNamesMale: [\n 'Juan', 'Carlos', 'Andrés', 'Luis', 'Jorge', 'Mario', 'José', 'Pedro',\n 'Miguel', 'Ángel', 'Rafael', 'Antonio', 'Francisco', 'Javier', 'Alejandro',\n 'Sergio', 'Diego', 'Fernando', 'Gustavo', 'Hernán', 'Mauricio', 'Pablo',\n 'Ricardo', 'Roberto', 'Óscar', 'César', 'Alberto', 'Eduardo', 'Manuel', 'Raúl'\n ],\n firstNamesFemale: [\n 'María', 'Ana', 'Carmen', 'Lucía', 'Sandra', 'Patricia', 'Luz', 'Nancy',\n 'Linda', 'Gloria', 'Beatriz', 'Diana', 'Mónica', 'Silvia', 'Andrea',\n 'Paola', 'Valentina', 'Daniela', 'Mariana', 'Alejandra', 'Gabriela',\n 'Isabella', 'Sofía', 'Camila', 'Valeria', 'Natalia', 'Carolina', 'Juliana', 'Laura'\n ],\n lastNames: [\n 'García', 'Rodríguez', 'Martínez', 'López', 'González', 'Hernández',\n 'Pérez', 'Sánchez', 'Ramírez', 'Torres', 'Flores', 'Rivera', 'Gómez',\n 'Díaz', 'Morales', 'Ruiz', 'Jiménez', 'Vásquez', 'Castillo', 'Mendoza',\n 'Rojas', 'Vargas', 'Moreno', 'Ortiz', 'Muñoz', 'Peña', 'Delgado', 'Pacheco'\n ],\n streets: [\n 'Carrera 7', 'Carrera 15', 'Carrera 11', 'Calle 85', 'Calle 100',\n 'Avenida El Dorado', 'Avenida Jiménez', 'Avenida Caracas', 'Avenida Boyacá',\n 'Carrera 53', 'Carrera 43A', 'Calle 72', 'Calle 127', 'Transversal 17',\n 'Avenida Suba', 'Carrera 9', 'Calle 26', 'Avenida Chile', 'Zona Rosa'\n ],\n cities: [\n 'Bogotá', 'Medellín', 'Cali', 'Barranquilla', 'Cartagena', 'Bucaramanga',\n 'Pereira', 'Santa Marta', 'Ibagué', 'Pasto', 'Manizales', 'Cúcuta',\n 'Soledad', 'Armenia', 'Villavicencio', 'Valledupar', 'Montería',\n 'Neiva', 'Palmira', 'Popayán', 'Sincelejo', 'Tunja', 'Florencia', 'Quibdó'\n ],\n states: [\n 'Bogotá D.C.', 'Antioquia', 'Valle del Cauca', 'Atlántico', 'Bolívar',\n 'Santander', 'Risaralda', 'Magdalena', 'Tolima', 'Nariño', 'Caldas',\n 'Norte de Santander', 'Atlántico', 'Quindío', 'Meta', 'Cesar', 'Córdoba',\n 'Huila', 'Valle del Cauca', 'Cauca', 'Sucre', 'Boyacá', 'Caquetá', 'Chocó'\n ],\n zipCodePattern: '######',\n jobTitles: [\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\n 'Representante de Ventas', 'Contador', 'Gerente de Recursos Humanos', 'Diseñador',\n 'Gerente de Operaciones', 'Analista de Negocio', 'Gerente de Producto', 'Administrador de Sistemas',\n 'Ingeniero de Calidad', 'Escritor Técnico', 'Administrador de Base de Datos',\n 'Ingeniero de Redes', 'Ingeniero DevOps', 'Diseñador UX', 'Gerente de Contenido'\n ],\n departments: [\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas',\n 'Operaciones', 'Servicio al Cliente', 'TI', 'Investigación y Desarrollo',\n 'Legal', 'Gestión de Productos', 'Diseño', 'Aseguramiento de Calidad', 'Administración'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 999);\n const apartment = Random.int(1, 500);\n return `${street} # ${number}-${Random.int(10, 99)}, Apto ${apartment}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(110111, 999999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const pe_PE: LocaleDefinition = {\n firstNamesMale: [\n 'José', 'Juan', 'Carlos', 'Luis', 'Miguel', 'Pedro', 'Jorge', 'Mario',\n 'Víctor', 'Manuel', 'Raúl', 'Fernando', 'Alberto', 'Francisco', 'Antonio',\n 'Ricardo', 'Roberto', 'César', 'Óscar', 'Gustavo', 'Hugo', 'Sergio',\n 'Diego', 'Alejandro', 'Pablo', 'Andrés', 'Mauricio', 'Eduardo', 'Jesús', 'Rubén'\n ],\n firstNamesFemale: [\n 'María', 'Carmen', 'Ana', 'Rosa', 'Luz', 'Juana', 'Patricia', 'Sandra',\n 'Elizabeth', 'Nancy', 'Linda', 'Gloria', 'Beatriz', 'Diana', 'Mónica',\n 'Silvia', 'Andrea', 'Paola', 'Valentina', 'Daniela', 'Mariana', 'Alejandra',\n 'Gabriela', 'Isabella', 'Sofía', 'Camila', 'Valeria', 'Natalia', 'Carolina', 'Juliana'\n ],\n lastNames: [\n 'García', 'Rodríguez', 'Sánchez', 'Flores', 'Torres', 'Ramírez', 'Pérez',\n 'Díaz', 'González', 'Martínez', 'López', 'Hernández', 'Gómez', 'Ruiz',\n 'Castillo', 'Mendoza', 'Rojas', 'Vargas', 'Moreno', 'Ortiz', 'Muñoz',\n 'Peña', 'Delgado', 'Pacheco', 'Vásquez', 'Jiménez', 'Morales', 'Chávez', 'Reyes', 'Guerrero'\n ],\n streets: [\n 'Avenida Javier Prado', 'Avenida Arequipa', 'Avenida Larco', 'Avenida Pardo',\n 'Avenida Benavides', 'Avenida La Marina', 'Avenida Universitaria', 'Avenida Tacna',\n 'Avenida Venezuela', 'Avenida Colonial', 'Jirón de la Unión', 'Avenida Grau',\n 'Avenida Almte. Miguel Grau', 'Avenida 28 de Julio', 'Avenida Angamos', 'Avenida Reducto'\n ],\n cities: [\n 'Lima', 'Arequipa', 'Trujillo', 'Chiclayo', 'Piura', 'Iquitos', 'Cusco',\n 'Huancayo', 'Tacna', 'Pucallpa', 'Ica', 'Juliaca', 'Sullana', 'Ayacucho',\n 'Cajamarca', 'Puno', 'Tumbes', 'Huánuco', 'Tarapoto', 'Chincha Alta',\n 'Huaraz', 'Cerro de Pasco', 'Moquegua', 'Tacna', 'Abancay', 'Puerto Maldonado'\n ],\n states: [\n 'Lima', 'Arequipa', 'La Libertad', 'Lambayeque', 'Piura', 'Loreto', 'Cusco',\n 'Junín', 'Tacna', 'Ucayali', 'Ica', 'Puno', 'Piura', 'Ayacucho', 'Cajamarca',\n 'Puno', 'Tumbes', 'Huánuco', 'San Martín', 'Ica', 'Áncash', 'Pasco',\n 'Moquegua', 'Tacna', 'Apurímac', 'Madre de Dios', 'Amazonas', 'Huancavelica'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\n 'Representante de Ventas', 'Contador', 'Gerente de Recursos Humanos', 'Diseñador',\n 'Gerente de Operaciones', 'Analista de Negocio', 'Gerente de Producto', 'Administrador de Sistemas',\n 'Ingeniero de Calidad', 'Escritor Técnico', 'Administrador de Base de Datos',\n 'Ingeniero de Redes', 'Ingeniero DevOps', 'Diseñador UX', 'Gerente de Contenido'\n ],\n departments: [\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas',\n 'Operaciones', 'Servicio al Cliente', 'TI', 'Investigación y Desarrollo',\n 'Legal', 'Gestión de Productos', 'Diseño', 'Aseguramiento de Calidad', 'Administración'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 9999);\n const urbanizacion = Random.pick(['Los Olivos', 'San Isidro', 'Miraflores', 'San Borja', 'La Molina']);\n return `${urbanizacion}, ${street} ${number}, ${city} ${zipCode}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1001, 9999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const ve_VE: LocaleDefinition = {\n firstNamesMale: [\n 'José', 'Carlos', 'Luis', 'Miguel', 'Juan', 'Pedro', 'Jorge', 'Mario',\n 'Rafael', 'Antonio', 'Francisco', 'Javier', 'Alejandro', 'Sergio', 'Diego',\n 'Fernando', 'Gustavo', 'Mauricio', 'Pablo', 'Ricardo', 'Roberto', 'Óscar',\n 'César', 'Alberto', 'Eduardo', 'Manuel', 'Raúl', 'Andrés', 'Víctor', 'Hernán'\n ],\n firstNamesFemale: [\n 'María', 'Carmen', 'Ana', 'Rosa', 'Luz', 'Patricia', 'Sandra', 'Elizabeth',\n 'Nancy', 'Linda', 'Gloria', 'Beatriz', 'Diana', 'Mónica', 'Silvia',\n 'Andrea', 'Paola', 'Valentina', 'Daniela', 'Mariana', 'Alejandra', 'Gabriela',\n 'Isabella', 'Sofía', 'Camila', 'Valeria', 'Natalia', 'Carolina', 'Juliana', 'Laura'\n ],\n lastNames: [\n 'García', 'Rodríguez', 'Hernández', 'Pérez', 'Sánchez', 'Ramírez', 'López',\n 'González', 'Martínez', 'Díaz', 'Flores', 'Torres', 'Gómez', 'Ruiz',\n 'Castillo', 'Mendoza', 'Rojas', 'Vargas', 'Moreno', 'Ortiz', 'Muñoz',\n 'Peña', 'Delgado', 'Pacheco', 'Vásquez', 'Jiménez', 'Morales', 'Chávez', 'Reyes', 'Guerrero'\n ],\n streets: [\n 'Avenida Francisco de Miranda', 'Avenida Libertador', 'Avenida Bolívar',\n 'Avenida Urdaneta', 'Avenida Panteón', 'Calle Carabobo', 'Calle Vargas',\n 'Avenida Los Próceres', 'Avenida Principal de Las Mercedes', 'Avenida Río de Janeiro',\n 'Avenida San Martín', 'Avenida Victoria', 'Calle El Conde', 'Avenida Intercomunal'\n ],\n cities: [\n 'Caracas', 'Maracaibo', 'Valencia', 'Barquisimeto', 'Maracay', 'Ciudad Guayana',\n 'Barcelona', 'Maturín', 'Ciudad Bolívar', 'Cumana', 'Mérida', 'San Cristóbal',\n 'Cabimas', 'Turmero', 'Barinas', 'Puerto La Cruz', 'Petare', 'Guarenas',\n 'Guatire', 'Acarigua', 'Guanare', 'Valera', 'Coro', 'Los Teques', 'Carúpano'\n ],\n states: [\n 'Distrito Capital', 'Zulia', 'Carabobo', 'Lara', 'Aragua', 'Bolívar',\n 'Anzoátegui', 'Monagas', 'Mérida', 'Táchira', 'Sucre', 'Barinas',\n 'Portuguesa', 'Falcón', 'Miranda', 'Yaracuy', 'Cojedes', 'Apure',\n 'Nueva Esparta', 'Trujillo', 'Vargas', 'Amazonas', 'Delta Amacuro'\n ],\n zipCodePattern: '####',\n jobTitles: [\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\n 'Representante de Ventas', 'Contador', 'Gerente de Recursos Humanos', 'Diseñador',\n 'Gerente de Operaciones', 'Analista de Negocio', 'Gerente de Producto', 'Administrador de Sistemas',\n 'Ingeniero de Calidad', 'Escritor Técnico', 'Administrador de Base de Datos',\n 'Ingeniero de Redes', 'Ingeniero DevOps', 'Diseñador UX', 'Gerente de Contenido'\n ],\n departments: [\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas',\n 'Operaciones', 'Servicio al Cliente', 'TI', 'Investigación y Desarrollo',\n 'Legal', 'Gestión de Productos', 'Diseño', 'Aseguramiento de Calidad', 'Administración'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 999);\n const building = Random.pick(['Edificio', 'Torre', 'Residencia']);\n const name = Random.pick(['Las Palmas', 'El Rosal', 'La Castellana', 'Altamira', 'Chacao']);\n return `${building} ${name}, ${street} ${number}, ${city} ${zipCode}, ${state}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1010, 9999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const gt_GT: LocaleDefinition = {\n firstNamesMale: [\n 'José', 'Juan', 'Carlos', 'Luis', 'Miguel', 'Pedro', 'Jorge', 'Mario',\n 'Víctor', 'Manuel', 'Raúl', 'Fernando', 'Alberto', 'Francisco', 'Antonio',\n 'Ricardo', 'Roberto', 'César', 'Óscar', 'Gustavo', 'Hugo', 'Sergio',\n 'Diego', 'Alejandro', 'Pablo', 'Andrés', 'Mauricio', 'Eduardo', 'Jesús', 'Rubén'\n ],\n firstNamesFemale: [\n 'María', 'Carmen', 'Ana', 'Rosa', 'Luz', 'Juana', 'Patricia', 'Sandra',\n 'Elizabeth', 'Nancy', 'Linda', 'Gloria', 'Beatriz', 'Diana', 'Mónica',\n 'Silvia', 'Andrea', 'Paola', 'Valentina', 'Daniela', 'Mariana', 'Alejandra',\n 'Gabriela', 'Isabella', 'Sofía', 'Camila', 'Valeria', 'Natalia', 'Carolina', 'Juliana'\n ],\n lastNames: [\n 'García', 'Rodríguez', 'Hernández', 'Pérez', 'Sánchez', 'Ramírez', 'López',\n 'González', 'Martínez', 'Díaz', 'Flores', 'Torres', 'Gómez', 'Ruiz',\n 'Castillo', 'Mendoza', 'Rojas', 'Vargas', 'Moreno', 'Ortiz', 'Muñoz',\n 'González', 'Ruiz', 'Hernández', 'Morales', 'Chávez', 'Reyes', 'Guerrero', 'Méndez', 'Cruz'\n ],\n streets: [\n 'Avenida La Reforma', 'Avenida Bolívar', 'Avenida Hincapié', 'Avenida Simeón Cañas',\n 'Avenida Elena', 'Calle del Comercio', 'Avenida Petapa', 'Avenida Aguilar Batres',\n 'Avenida Las Américas', 'Avenida Soto', 'Avenida Gualberto Campos', 'Avenida 18',\n 'Avenida 12', 'Avenida 7', 'Avenida 3', 'Avenida 1', 'Avenida 30', 'Avenida 25'\n ],\n cities: [\n 'Ciudad de Guatemala', 'Mixco', 'Villa Nueva', 'Petapa', 'San Juan Sacatepéquez',\n 'Quetzaltenango', 'Villa Canales', 'Escuintla', 'Chinautla', 'Chimaltenango',\n 'Huehuetenango', 'Amatitlán', 'Totonicapán', 'Santa Catarina Pinula', 'Cobán',\n 'Puerto Barrios', 'San Marcos', 'Jalapa', 'Jutiapa', 'Antigua Guatemala', 'Retalhuleu'\n ],\n states: [\n 'Guatemala', 'Huehuetenango', 'San Marcos', 'Quiché', 'Alta Verapaz',\n 'Petén', 'Izabal', 'Baja Verapaz', 'Quetzaltenango', 'Totonicapán',\n 'Sololá', 'Suchitepéquez', 'Retalhuleu', 'Chimaltenango', 'Sacatepéquez',\n 'Escuintla', 'Santa Rosa', 'Jutiapa', 'Jalapa', 'Zacapa', 'El Progreso'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\n 'Representante de Ventas', 'Contador', 'Gerente de Recursos Humanos', 'Diseñador',\n 'Gerente de Operaciones', 'Analista de Negocio', 'Gerente de Producto', 'Administrador de Sistemas',\n 'Ingeniero de Calidad', 'Escritor Técnico', 'Administrador de Base de Datos',\n 'Ingeniero de Redes', 'Ingeniero DevOps', 'Diseñador UX', 'Gerente de Contenido'\n ],\n departments: [\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas',\n 'Operaciones', 'Servicio al Cliente', 'TI', 'Investigación y Desarrollo',\n 'Legal', 'Gestión de Productos', 'Diseño', 'Aseguramiento de Calidad', 'Administración'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 9999);\n const zone = Random.int(1, 25);\n return `${street} ${number}, Zona ${zone}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1001, 99999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const cr_CR: LocaleDefinition = {\n firstNamesMale: [\n 'José', 'Juan', 'Carlos', 'Luis', 'Miguel', 'Pedro', 'Jorge', 'Mario',\n 'Víctor', 'Manuel', 'Raúl', 'Fernando', 'Alberto', 'Francisco', 'Antonio',\n 'Ricardo', 'Roberto', 'César', 'Óscar', 'Gustavo', 'Hugo', 'Sergio',\n 'Diego', 'Alejandro', 'Pablo', 'Andrés', 'Mauricio', 'Eduardo', 'Jesús', 'Rubén'\n ],\n firstNamesFemale: [\n 'María', 'Carmen', 'Ana', 'Rosa', 'Luz', 'Juana', 'Patricia', 'Sandra',\n 'Elizabeth', 'Nancy', 'Linda', 'Gloria', 'Beatriz', 'Diana', 'Mónica',\n 'Silvia', 'Andrea', 'Paola', 'Valentina', 'Daniela', 'Mariana', 'Alejandra',\n 'Gabriela', 'Isabella', 'Sofía', 'Camila', 'Valeria', 'Natalia', 'Carolina', 'Juliana'\n ],\n lastNames: [\n 'García', 'Rodríguez', 'Hernández', 'Pérez', 'Sánchez', 'Ramírez', 'López',\n 'González', 'Martínez', 'Díaz', 'Flores', 'Torres', 'Gómez', 'Ruiz',\n 'Castillo', 'Mendoza', 'Rojas', 'Vargas', 'Moreno', 'Ortiz', 'Muñoz',\n 'Jiménez', 'Morales', 'Chávez', 'Reyes', 'Guerrero', 'Méndez', 'Cruz', 'Castro', 'Solís'\n ],\n streets: [\n 'Avenida Central', 'Avenida Segunda', 'Avenida Cuarta', 'Avenida Sexta',\n 'Avenida Octava', 'Calle 1', 'Calle 3', 'Calle 5', 'Calle 7', 'Calle 9',\n 'Paseo Colón', 'Avenida 10', 'Avenida 12', 'Avenida 14', 'Avenida 16',\n 'Avenida 18', 'Avenida 20', 'Avenida 22', 'Avenida 24', 'Avenida 26',\n 'Avenida 28', 'Avenida 30', 'Avenida 32', 'Avenida 34', 'Avenida 36'\n ],\n cities: [\n 'San José', 'Limón', 'Alajuela', 'Heredia', 'Cartago', 'Puntarenas',\n 'Liberia', 'Paraíso', 'Pérez Zeledón', 'San Isidro', 'Curridabat',\n 'San Vicente', 'Purral', 'San Felipe', 'Desamparados', 'San Rafael',\n 'San Francisco', 'Guadalupe', 'San Vicente', 'San Pablo', 'Santa Ana'\n ],\n states: [\n 'San José', 'Alajuela', 'Cartago', 'Heredia', 'Guanacaste', 'Puntarenas', 'Limón'\n ],\n zipCodePattern: '#####',\n jobTitles: [\n 'Ingeniero de Software', 'Gerente de Proyecto', 'Analista de Datos', 'Gerente de Marketing',\n 'Representante de Ventas', 'Contador', 'Gerente de Recursos Humanos', 'Diseñador',\n 'Gerente de Operaciones', 'Analista de Negocio', 'Gerente de Producto', 'Administrador de Sistemas',\n 'Ingeniero de Calidad', 'Escritor Técnico', 'Administrador de Base de Datos',\n 'Ingeniero de Redes', 'Ingeniero DevOps', 'Diseñador UX', 'Gerente de Contenido'\n ],\n departments: [\n 'Ingeniería', 'Marketing', 'Ventas', 'Recursos Humanos', 'Finanzas',\n 'Operaciones', 'Servicio al Cliente', 'TI', 'Investigación y Desarrollo',\n 'Legal', 'Gestión de Productos', 'Diseño', 'Aseguramiento de Calidad', 'Administración'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${firstName} ${lastName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const number = Random.int(1, 9999);\n const landmark = Random.pick(['100m Norte', '100m Sur', '100m Este', '100m Oeste', '50m al Lago']);\n return `${street}, ${landmark}, ${city}, ${state} ${zipCode}`;\n },\n\n generateZipCode(): string {\n return String(Random.int(1000, 99999));\n }\n};\n","import { LocaleDefinition } from '../types';\nimport { Random } from '../core/random';\n\nexport const tw_TW: LocaleDefinition = {\n lastNames: [\n 'Chen', 'Lin', 'Huang', 'Zhang', 'Li', 'Wang', 'Wu', 'Liu', 'Tsai', 'Yang',\n 'Chen', 'Lin', 'Huang', 'Zhang', 'Li', 'Wang', 'Wu', 'Liu', 'Tsai', 'Yang',\n 'Chou', 'Hsu', 'Sun', 'Hu', 'Chuang', 'Kuo', 'Kao', 'Liao', 'Lai', 'Chien'\n ],\n firstNamesMale: [\n 'Wei', 'Jun', 'Ming', 'Tao', 'Jie', 'Qiang', 'Lei', 'Yong', 'Jian', 'Ping',\n 'Bin', 'Feng', 'Long', 'Chao', 'Yang', 'Lin', 'Hao', 'Gang', 'Kai', 'Peng',\n 'Zhi', 'Yun', 'Bo', 'Hua', 'Xin', 'Liang', 'Chen', 'Dong', 'Fei', 'Xiong'\n ],\n firstNamesFemale: [\n 'Li', 'Fang', 'Xiu', 'Ying', 'Min', 'Jing', 'Juan', 'Yan', 'Hong', 'Mei',\n 'Xia', 'Qing', 'Lan', 'Yue', 'Xin', 'Ling', 'Na', 'Hui', 'Rong', 'Dan',\n 'Shan', 'Yun', 'Ping', 'Jie', 'Xue', 'Fen', 'Yu', 'Qian', 'Shu', 'Wen'\n ],\n streets: [\n 'Zhongshan Road', 'Zhongxiao Road', 'Renai Road', 'Minsheng Road',\n 'Minquan Road', 'Heping Road', 'Jianguo Road', 'Guangfu Road',\n 'Fuxing Road', 'Jianguo South Road', 'Xinyi Road', 'Songren Road',\n 'Nanjing East Road', 'Beijing East Road', 'Shanghai Street', 'Guangzhou Street'\n ],\n cities: [\n 'Taipei', 'New Taipei', 'Taoyuan', 'Taichung', 'Tainan', 'Kaohsiung',\n 'Hsinchu', 'Keelung', 'Chiayi', 'Changhua', 'Hualien', 'Pingtung',\n 'Yilan', 'Taitung', 'Penghu', 'Kinmen', 'Matsu', 'Nantou', 'Miaoli', 'Yunlin'\n ],\n states: [\n 'Taipei', 'New Taipei', 'Taoyuan', 'Taichung', 'Tainan', 'Kaohsiung',\n 'Hsinchu', 'Keelung', 'Chiayi', 'Changhua', 'Hualien', 'Pingtung',\n 'Yilan', 'Taitung', 'Penghu', 'Kinmen', 'Lienchiang', 'Nantou', 'Miaoli', 'Yunlin'\n ],\n zipCodePattern: '###',\n jobTitles: [\n '軟體工程師', '專案經理', '數據分析師', '行銷經理',\n '業務代表', '會計師', '人資經理', '設計師',\n '營運經理', '業務分析師', '產品經理', '系統管理員',\n '品質保證工程師', '技術作家', '資料庫管理員',\n '網路工程師', 'DevOps 工程師', 'UX 設計師', '內容管理師'\n ],\n departments: [\n '工程部', '行銷部', '業務部', '人力資源部', '財務部',\n '營運部', '客服部', '資訊部', '研發部',\n '法務部', '產品管理部', '設計部', '品質保證部', '行政部'\n ],\n metricSystem: 'metric',\n\n formatFullName(firstName: string, lastName: string): string {\n return `${lastName} ${firstName}`;\n },\n\n formatAddress(street: string, city: string, state: string, zipCode: string): string {\n const section = Random.int(1, 5);\n const number = Random.int(1, 500);\n const floor = Random.int(1, 20);\n return `${zipCode} ${state} ${city} ${street} ${section}段${number}號${floor}樓`;\n },\n\n generateZipCode(): string {\n return String(Random.int(100, 999));\n },\n\n phoneFormats: [\n '(02) ####-####',\n '(03) ###-###',\n '(04) ###-###',\n '(07) ###-###',\n '09##-###-###',\n '+886-9##-###-###'\n ],\n\n emailDomains: [\n 'gmail.com', 'yahoo.com.tw', 'hotmail.com', 'outlook.com',\n 'pchome.com.tw', 'hinet.net', 'seed.net.tw', 'msn.com'\n ],\n\n companyNames: [\n '台積電', '鴻海精密工業', '華碩', '宏碁', '聯發科',\n '台灣中油', '中華電信', '國泰金控', '富邦金控', '玉山銀行',\n '長榮海運', '陽明海運', '統一企業', '康師傅控股', '旺旺集團'\n ],\n\n industries: [\n '科技業', '金融業', '製造業', '服務業', '零售業',\n '醫療業', '教育業', '電信業', '運輸業', '建築業'\n ],\n\n catchPhrases: [\n '創新領先,追求卓越', '誠信經營,客戶至上', '品質第一,服務滿意',\n '科技以人为本', '創造價值,共享未來', '專業創新,永續經營'\n ]\n};\n","import { Mimic } from './core/mimic';\nimport { localeRegistry } from './core/registry';\n\n// Import existing locales\nimport { en_US } from './locales/en_US';\nimport { ja_JP } from './locales/ja_JP';\nimport { id_ID } from './locales/id_ID';\nimport { de_DE } from './locales/de_DE';\nimport { fr_FR } from './locales/fr_FR';\nimport { pt_BR } from './locales/pt_BR';\nimport { ko_KR } from './locales/ko_KR';\nimport { en_AU } from './locales/en_AU';\n\n// Import new locales (20 original)\nimport { zh_CN } from './locales/zh_CN';\nimport { en_IN } from './locales/en_IN';\nimport { es_MX } from './locales/es_MX';\nimport { it_IT } from './locales/it_IT';\nimport { es_ES } from './locales/es_ES';\nimport { nl_NL } from './locales/nl_NL';\nimport { en_CA } from './locales/en_CA';\nimport { en_GB } from './locales/en_GB';\nimport { ru_RU } from './locales/ru_RU';\nimport { pl_PL } from './locales/pl_PL';\nimport { tr_TR } from './locales/tr_TR';\nimport { sv_SE } from './locales/sv_SE';\nimport { nb_NO } from './locales/nb_NO';\nimport { da_DK } from './locales/da_DK';\nimport { fi_FI } from './locales/fi_FI';\nimport { es_AR } from './locales/es_AR';\nimport { es_CL } from './locales/es_CL';\nimport { th_TH } from './locales/th_TH';\nimport { vi_VN } from './locales/vi_VN';\nimport { ms_MY } from './locales/ms_MY';\n\n// Import newest locales (16 additional)\nimport { en_SG } from './locales/en_SG';\nimport { en_PH } from './locales/en_PH';\nimport { en_NZ } from './locales/en_NZ';\nimport { en_ZA } from './locales/en_ZA';\nimport { pt_PT } from './locales/pt_PT';\nimport { el_GR } from './locales/el_GR';\nimport { cs_CZ } from './locales/cs_CZ';\nimport { de_AT } from './locales/de_AT';\nimport { de_CH } from './locales/de_CH';\nimport { nl_BE } from './locales/nl_BE';\nimport { hu_HU } from './locales/hu_HU';\nimport { ro_RO } from './locales/ro_RO';\nimport { ar_AE } from './locales/ar_AE';\nimport { ar_SA } from './locales/ar_SA';\nimport { ar_EG } from './locales/ar_EG';\nimport { he_IL } from './locales/he_IL';\n\n// Import new locales - Eastern Europe\nimport { uk_UA } from './locales/uk_UA';\nimport { sk_SK } from './locales/sk_SK';\nimport { hr_HR } from './locales/hr_HR';\nimport { rs_RS } from './locales/rs_RS';\nimport { lt_LT } from './locales/lt_LT';\nimport { lv_LV } from './locales/lv_LV';\nimport { et_EE } from './locales/et_EE';\nimport { bg_BG } from './locales/bg_BG';\nimport { is_IS } from './locales/is_IS';\n\n// Import new locales - Africa & Middle East\nimport { ng_NG } from './locales/ng_NG';\nimport { ke_KE } from './locales/ke_KE';\nimport { pk_PK } from './locales/pk_PK';\nimport { bd_BD } from './locales/bd_BD';\nimport { ir_IR } from './locales/ir_IR';\nimport { ma_MA } from './locales/ma_MA';\n\n// Import new locales - Americas\nimport { co_CO } from './locales/co_CO';\nimport { pe_PE } from './locales/pe_PE';\nimport { ve_VE } from './locales/ve_VE';\nimport { gt_GT } from './locales/gt_GT';\nimport { cr_CR } from './locales/cr_CR';\n\n// Import new locales - Asia\nimport { tw_TW } from './locales/tw_TW';\n\n// Export types\nexport type {\n Gender,\n MetricSystem,\n PersonData,\n AddressData,\n PhysicalData,\n WorkData,\n AgeRange,\n LocaleData,\n LocaleDefinition\n} from './types';\n\n// Export core classes\nexport { Mimic } from './core/mimic';\nexport { Random } from './core/random';\nexport { localeRegistry } from './core/registry';\n\n/**\n * ============================================\n * AUTO-REGISTRATION OF LOCALES\n * ============================================\n * Register all locales with their aliases\n */\n\n// Original 8 locales\nlocaleRegistry.register('en_US', en_US, ['en', 'us', 'usa']);\nlocaleRegistry.register('ja_JP', ja_JP, ['ja', 'jp', 'japan']);\nlocaleRegistry.register('id_ID', id_ID, ['id', 'indonesia']);\nlocaleRegistry.register('de_DE', de_DE, ['de', 'germany', 'deutsch']);\nlocaleRegistry.register('fr_FR', fr_FR, ['fr', 'france']);\nlocaleRegistry.register('pt_BR', pt_BR, ['pt', 'br', 'brazil', 'brasil']);\nlocaleRegistry.register('ko_KR', ko_KR, ['ko', 'kr', 'korea']);\nlocaleRegistry.register('en_AU', en_AU, ['au', 'aus', 'australia']);\n\n// New 20 locales\nlocaleRegistry.register('zh_CN', zh_CN, ['zh', 'cn', 'china']);\nlocaleRegistry.register('en_IN', en_IN, ['in', 'india']);\nlocaleRegistry.register('es_MX', es_MX, ['mx', 'mexico']);\nlocaleRegistry.register('it_IT', it_IT, ['it', 'italy', 'italia']);\nlocaleRegistry.register('es_ES', es_ES, ['es', 'spain', 'españa']);\nlocaleRegistry.register('nl_NL', nl_NL, ['nl', 'netherlands', 'holland']);\nlocaleRegistry.register('en_CA', en_CA, ['ca', 'canada']);\nlocaleRegistry.register('en_GB', en_GB, ['gb', 'uk', 'britain']);\nlocaleRegistry.register('ru_RU', ru_RU, ['ru', 'russia']);\nlocaleRegistry.register('pl_PL', pl_PL, ['pl', 'poland', 'polska']);\nlocaleRegistry.register('tr_TR', tr_TR, ['tr', 'turkey', 'turkiye']);\nlocaleRegistry.register('sv_SE', sv_SE, ['sv', 'se', 'sweden', 'sverige']);\nlocaleRegistry.register('nb_NO', nb_NO, ['no', 'norway', 'norge']);\nlocaleRegistry.register('da_DK', da_DK, ['da', 'dk', 'denmark', 'danmark']);\nlocaleRegistry.register('fi_FI', fi_FI, ['fi', 'finland', 'suomi']);\nlocaleRegistry.register('es_AR', es_AR, ['ar', 'argentina']);\nlocaleRegistry.register('es_CL', es_CL, ['cl', 'chile']);\nlocaleRegistry.register('th_TH', th_TH, ['th', 'thailand']);\nlocaleRegistry.register('vi_VN', vi_VN, ['vi', 'vn', 'vietnam']);\nlocaleRegistry.register('ms_MY', ms_MY, ['ms', 'my', 'malaysia']);\n\n// Newest 16 locales\nlocaleRegistry.register('en_SG', en_SG, ['sg', 'singapore']);\nlocaleRegistry.register('en_PH', en_PH, ['ph', 'philippines']);\nlocaleRegistry.register('en_NZ', en_NZ, ['nz', 'new-zealand']);\nlocaleRegistry.register('en_ZA', en_ZA, ['za', 'south-africa']);\nlocaleRegistry.register('pt_PT', pt_PT, ['portugal']);\nlocaleRegistry.register('el_GR', el_GR, ['el', 'gr', 'greece']);\nlocaleRegistry.register('cs_CZ', cs_CZ, ['cs', 'cz', 'czech']);\nlocaleRegistry.register('de_AT', de_AT, ['at', 'austria']);\nlocaleRegistry.register('de_CH', de_CH, ['ch', 'switzerland']);\nlocaleRegistry.register('nl_BE', nl_BE, ['be', 'belgium']);\nlocaleRegistry.register('hu_HU', hu_HU, ['hu', 'hungary']);\nlocaleRegistry.register('ro_RO', ro_RO, ['ro', 'romania']);\nlocaleRegistry.register('ar_AE', ar_AE, ['ae', 'uae', 'emirates']);\nlocaleRegistry.register('ar_SA', ar_SA, ['sa', 'saudi', 'saudi-arabia']);\nlocaleRegistry.register('ar_EG', ar_EG, ['eg', 'egypt']);\nlocaleRegistry.register('he_IL', he_IL, ['he', 'il', 'israel']);\n\n// Eastern Europe locales\nlocaleRegistry.register('uk_UA', uk_UA, ['ua', 'ukraine']);\nlocaleRegistry.register('sk_SK', sk_SK, ['sk', 'slovakia']);\nlocaleRegistry.register('hr_HR', hr_HR, ['hr', 'croatia']);\nlocaleRegistry.register('rs_RS', rs_RS, ['rs', 'serbia']);\nlocaleRegistry.register('lt_LT', lt_LT, ['lt', 'lithuania']);\nlocaleRegistry.register('lv_LV', lv_LV, ['lv', 'latvia']);\nlocaleRegistry.register('et_EE', et_EE, ['ee', 'estonia']);\nlocaleRegistry.register('bg_BG', bg_BG, ['bg', 'bulgaria']);\nlocaleRegistry.register('is_IS', is_IS, ['is', 'iceland']);\n\n// Africa & Middle East locales\nlocaleRegistry.register('ng_NG', ng_NG, ['ng', 'nigeria']);\nlocaleRegistry.register('ke_KE', ke_KE, ['ke', 'kenya']);\nlocaleRegistry.register('pk_PK', pk_PK, ['pk', 'pakistan']);\nlocaleRegistry.register('bd_BD', bd_BD, ['bd', 'bangladesh']);\nlocaleRegistry.register('ir_IR', ir_IR, ['ir', 'iran']);\nlocaleRegistry.register('ma_MA', ma_MA, ['ma', 'morocco']);\n\n// Americas locales\nlocaleRegistry.register('co_CO', co_CO, ['co', 'colombia']);\nlocaleRegistry.register('pe_PE', pe_PE, ['pe', 'peru']);\nlocaleRegistry.register('ve_VE', ve_VE, ['ve', 'venezuela']);\nlocaleRegistry.register('gt_GT', gt_GT, ['gt', 'guatemala']);\nlocaleRegistry.register('cr_CR', cr_CR, ['cr', 'costa-rica']);\n\n// Asia locales\nlocaleRegistry.register('tw_TW', tw_TW, ['tw', 'taiwan']);\n\n/**\n * Factory function to create Mimic instance with specified locale\n */\nexport function createMimic(locale: string = 'en_US'): Mimic {\n const localeDefinition = localeRegistry.get(locale);\n \n if (!localeDefinition) {\n const available = localeRegistry.getAllCodes().join(', ');\n throw new Error(\n `Locale '${locale}' not found.\\n` +\n `Available locales: ${available}`\n );\n }\n \n return new Mimic(localeDefinition);\n}\n\n/**\n * Get available main locale codes\n */\nexport function getAvailableLocales(): string[] {\n return localeRegistry.getAvailableLocales();\n}\n\n/**\n * Get all codes (locales + aliases)\n */\nexport function getAllLocaleCodes(): string[] {\n return localeRegistry.getAllCodes();\n}\n\n/**\n * Export all locale definitions for advanced usage\n */\nexport const locales = {\n // Original 8\n en_US, ja_JP, id_ID, de_DE, fr_FR, pt_BR, ko_KR, en_AU,\n // New (20)\n zh_CN, en_IN, es_MX, it_IT, es_ES, nl_NL, en_CA, en_GB,\n ru_RU, pl_PL, tr_TR, sv_SE, nb_NO, da_DK, fi_FI,\n es_AR, es_CL, th_TH, vi_VN, ms_MY,\n // Newest (16)\n en_SG, en_PH, en_NZ, en_ZA, pt_PT, el_GR, cs_CZ, de_AT,\n de_CH, nl_BE, hu_HU, ro_RO, ar_AE, ar_SA, ar_EG, he_IL,\n // Eastern Europe (9)\n uk_UA, sk_SK, hr_HR, rs_RS, lt_LT, lv_LV, et_EE, bg_BG, is_IS,\n // Africa & Middle East (6)\n ng_NG, ke_KE, pk_PK, bd_BD, ir_IR, ma_MA,\n // Americas (5)\n co_CO, pe_PE, ve_VE, gt_GT, cr_CR,\n // Asia (1)\n tw_TW\n};\n\n// Default export\nexport default createMimic;"],"mappings":"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","names":[]}