diff --git a/docs/pipeline/ETHICS-AND-KNOWN-ISSUES.md b/docs/pipeline/ETHICS-AND-KNOWN-ISSUES.md index 7892cf5c..ef0aa961 100644 --- a/docs/pipeline/ETHICS-AND-KNOWN-ISSUES.md +++ b/docs/pipeline/ETHICS-AND-KNOWN-ISSUES.md @@ -102,21 +102,19 @@ vendored verbatim, unmodified, from (the `common-forenames-by-country.json` / `common-surnames-by-country.json` release assets), released under **CC0** (public domain). That dataset's own forename/surname lists are pulled from Wikipedia's "Lists of most common -surnames" and "List of most popular given names" as of the week of -2023-07-08 — see that project's README for full provenance. Names are not -LLM-generated; this is curated fixture data per ROADMAP.md §2. Per-forename -gender from the source data is preserved through to the sampled `Name` -(rather than discarded during loading) so it's available for gender-aware -persona/bio generation later. +surnames" and "List of most popular given names" as of the week of 2023-07-08 — +see that project's README for full provenance. Names are not LLM-generated; this +is curated fixture data per ROADMAP.md §2. Per-forename gender from the source +data is preserved through to the sampled `Name` (rather than discarded during +loading) so it's available for gender-aware persona/bio generation later. -The full multinational dataset is kept as-is (106 countries for forenames, -75 for surnames) rather than trimmed to `locations.json`'s current country -list, so it doesn't need re-sourcing if more countries are added later. -`SampleName()` (a free helper in `generate_users.cc`) returns no result for -a country present in neither file; of the countries in `locations.json`, -that's currently `KE`, `SE`, `SG`, `TH`, `VN`, and `ZA` — `GenerateUsers` -skips cities in those countries the same way brewery generation skips -cities whose enrichment lookup fails. +The full multinational dataset is kept as-is (106 countries for forenames, 75 +for surnames) rather than trimmed to `locations.json`'s current country list, so +it doesn't need re-sourcing if more countries are added later. `SampleName()` (a +free helper in `generate_users.cc`) returns no result for a country present in +neither file; of the countries in `locations.json`, that's currently `KE`, `SE`, +`SG`, `TH`, `VN`, and `ZA` — `GenerateUsers` skips cities in those countries the +same way brewery generation skips cities whose enrichment lookup fails. --- @@ -273,8 +271,7 @@ For languages such as Welsh (Wales), Māori (Aotearoa/New Zealand), or Sicilian but is semantically incoherent. This comes from limited training-data coverage rather than prompt engineering. -Output sample: -[./french-cities.example](french-cities.example) +Output sample: [./french-cities.example](french-cities.example) #### Proposed Mitigations @@ -298,9 +295,9 @@ curated real-world examples. The generated code is **format-conformant by construction** — it always satisfies the regex it was generated from — but it is not looked up from any real postal registry. It does not correspond to a real address, business, or -resident, and should not be treated as accurate geocoding or delivery data. -This is consistent with the rest of the dataset: fixture data for a -proof-of-concept, not a source of truth. +resident, and should not be treated as accurate geocoding or delivery data. This +is consistent with the rest of the dataset: fixture data for a proof-of-concept, +not a source of truth. --- diff --git a/docs/pipeline/README.md b/docs/pipeline/README.md index eed2936c..e30b03f9 100644 --- a/docs/pipeline/README.md +++ b/docs/pipeline/README.md @@ -1,9 +1,9 @@ # Biergarten Pipeline A C++20 command-line pipeline that samples city records from local JSON, -enriches each with Wikipedia context, and generates bilingual brewery names -and descriptions plus locale-grounded user profiles via a local GGUF model or -a deterministic mock. +enriches each with Wikipedia context, and generates bilingual brewery names and +descriptions plus locale-grounded user profiles via a local GGUF model or a +deterministic mock. > **This pipeline produces AI-generated data.** It is not a source of truth for > brewing techniques, cultural representation, or local-language accuracy. See @@ -40,12 +40,12 @@ The pipeline is a data ingestion layer. It sits outside the web app runtime and produces seed records the app imports at startup or during a dedicated seed step. -| Planned app area | Pipeline contribution | -| -------------------------------- | ------------------------------------------------------------------ | -| Brewery discovery and management | Sampled city records, localized names, long-form descriptions | -| Beer reviews and ratings | Stable brewery fixtures with enough context to anchor review pages | -| Social follow relationships | Repeatable brewery entities for feeds, follows, and saved lists | -| Geospatial brewery experiences | Latitude, longitude, and country-level metadata | +| Planned app area | Pipeline contribution | +| -------------------------------- | ------------------------------------------------------------------------------------------------- | +| Brewery discovery and management | Sampled city records, localized names, long-form descriptions | +| Beer reviews and ratings | Stable brewery fixtures with enough context to anchor review pages | +| Social follow relationships | Repeatable brewery entities for feeds, follows, and saved lists | +| Geospatial brewery experiences | Latitude, longitude, and country-level metadata | | User accounts and profiles | Locale-grounded names, bios, and an auth-ready email/date-of-birth pair for seeding real accounts | --- @@ -65,10 +65,9 @@ cmake --build build CMake automatically detects whether a compatible llama.cpp installation is present on the system (`libllama`, `libggml`, `libggml-base`, and `llama.h` -visible on the default search paths). If found, it links against those -libraries and skips the FetchContent build. If not found, it fetches and builds -llama.cpp from source at tag `b9012`. No additional flags are required in -either case. +visible on the default search paths). If found, it links against those libraries +and skips the FetchContent build. If not found, it fetches and builds llama.cpp +from source at tag `b9012`. No additional flags are required in either case. Metal is enabled automatically on Apple Silicon. CUDA or HIP/ROCm is detected automatically on Linux when the relevant toolkit is present. @@ -138,17 +137,18 @@ NVIDIA GPU. The container uses a two-stage build. The builder stage installs CMake/Ninja, clones the matching llama.cpp release tag for its headers only (installed into `/usr/local/include`), and copies prebuilt shared libraries (`libllama`, -`libggml`, and CUDA/CPU backend plugins) from `ghcr.io/ggml-org/llama.cpp:full-cuda` -into `/usr/local/lib`. With both headers and libraries present, CMake's -system-library detection (see [Build](#build) above) finds them and skips the -FetchContent source build, keeping image build times short. +`libggml`, and CUDA/CPU backend plugins) from +`ghcr.io/ggml-org/llama.cpp:full-cuda` into `/usr/local/lib`. With both headers +and libraries present, CMake's system-library detection (see [Build](#build) +above) finds them and skips the FetchContent source build, keeping image build +times short. The runtime stage copies the compiled binary, the same prebuilt shared libraries, and config/prompt assets into a slim CUDA runtime image. It sets -`LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH` so the dynamic linker -resolves `libllama`/`libggml` at startup, and also co-locates -`libggml-cuda.so` and the CPU backend plugins next to the binary for -`ggml_backend_load_all()`'s `dlopen` scan. +`LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH` so the dynamic linker resolves +`libllama`/`libggml` at startup, and also co-locates `libggml-cuda.so` and the +CPU backend plugins next to the binary for `ggml_backend_load_all()`'s `dlopen` +scan. ### Build the image @@ -177,8 +177,8 @@ output to confirm the fast path was taken. The container always runs the model-backed path; there is no `--mocked` container mode (use a native build for that — see [Quick Start](#quick-start)). -The entrypoint, `runpod/start.sh`, downloads the GGUF model automatically if -it is not already present at the configured path. +The entrypoint, `runpod/start.sh`, downloads the GGUF model automatically if it +is not already present at the configured path. ```bash docker run --rm \ @@ -189,20 +189,20 @@ docker run --rm \ biergarten-pipeline:latest ``` -By default this downloads `google_gemma-4-E4B-it-Q6_K.gguf` to -`./models/` on first run if it isn't already there. To use a pre-downloaded -model, place it at that path first — see [Model](#model) above. +By default this downloads `google_gemma-4-E4B-it-Q6_K.gguf` to `./models/` on +first run if it isn't already there. To use a pre-downloaded model, place it at +that path first — see [Model](#model) above. #### Environment variables -| Variable | Purpose | -| ------------------------- | ----------------------------------------------------------------- | -| `BIERGARTEN_MODEL_PATH` | GGUF model path. Default: `/workspace/models/google_gemma-4-E4B-it-Q6_K.gguf`. | -| `BIERGARTEN_OUTPUT_DIR` | SQLite output directory. Default: `/workspace/output`. | -| `BIERGARTEN_LOG_PATH` | Log file path. Default: `/workspace/logs/pipeline.log`. | -| `BIERGARTEN_GL_LAYERS` | GPU layers to offload (`--n-gpu-layers`). Default: `40`. | -| `BIERGARTEN_TEMPERATURE`, `BIERGARTEN_TOP_P`, `BIERGARTEN_TOP_K`, `BIERGARTEN_N_CTX`, `BIERGARTEN_SEED` | Optional sampling overrides, unset by default (binary defaults apply). | -| `BIERGARTEN_EXTRA_ARGS` | Additional raw CLI args appended verbatim. | +| Variable | Purpose | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ | +| `BIERGARTEN_MODEL_PATH` | GGUF model path. Default: `/workspace/models/google_gemma-4-E4B-it-Q6_K.gguf`. | +| `BIERGARTEN_OUTPUT_DIR` | SQLite output directory. Default: `/workspace/output`. | +| `BIERGARTEN_LOG_PATH` | Log file path. Default: `/workspace/logs/pipeline.log`. | +| `BIERGARTEN_GL_LAYERS` | GPU layers to offload (`--n-gpu-layers`). Default: `40`. | +| `BIERGARTEN_TEMPERATURE`, `BIERGARTEN_TOP_P`, `BIERGARTEN_TOP_K`, `BIERGARTEN_N_CTX`, `BIERGARTEN_SEED` | Optional sampling overrides, unset by default (binary defaults apply). | +| `BIERGARTEN_EXTRA_ARGS` | Additional raw CLI args appended verbatim. | `--prompt-dir` is hardcoded to `/app/prompts` inside the container and is not configurable via environment variable. @@ -220,15 +220,15 @@ environment variables listed above to match your run. ### Pipeline Stages -| Stage | Implementation | -| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | -| Load | `ICuratedDataService` (`CuratedJsonDataService`) reads `locations.json`, `personas.json`, `forenames-by-country.json`, and `surnames-by-country.json` (paths supplied via a `CuratedDataFilePaths` DTO at construction) into typed records, caching each after its first load. `--mocked` runs use `MockCuratedDataService`'s fixed in-memory dataset instead. | -| Sample | `BiergartenPipelineOrchestrator::QueryCitiesWithCountries()` samples `--location-count` locations per run (default `10`). | -| Enrich | `WikipediaEnrichmentService` fetches brewing and beer-related context. Keeps going when a lookup fails. `--mocked` runs use `MockEnrichmentService` instead and skip Wikipedia entirely. | -| Generate Users | `GenerateUsers()` samples a persona and a forename/surname pair per enriched city (skipping countries with no name data), then `MockGenerator` or `LlamaGenerator` produces a username, bio, and activity weight around the sampled name. | -| Generate Breweries | `MockGenerator` or `LlamaGenerator` produces brewery names and descriptions in English and the local language. | -| Store | `SqliteExportService` writes each successful user and brewery into a fresh dated `.sqlite` database with normalized `locations`, `users`, and `breweries` tables. | -| Log | `spdlog` writes results and warnings to the console. | +| Stage | Implementation | +| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Load | `ICuratedDataService` (`CuratedJsonDataService`) reads `locations.json`, `personas.json`, `forenames-by-country.json`, and `surnames-by-country.json` (paths supplied via a `CuratedDataFilePaths` DTO at construction) into typed records, caching each after its first load. `--mocked` runs use `MockCuratedDataService`'s fixed in-memory dataset instead. | +| Sample | `BiergartenPipelineOrchestrator::QueryCitiesWithCountries()` samples `--location-count` locations per run (default `10`). | +| Enrich | `WikipediaEnrichmentService` fetches brewing and beer-related context. Keeps going when a lookup fails. `--mocked` runs use `MockEnrichmentService` instead and skip Wikipedia entirely. | +| Generate Users | `GenerateUsers()` samples a persona and a forename/surname pair per enriched city (skipping countries with no name data), then `MockGenerator` or `LlamaGenerator` produces a username, bio, and activity weight around the sampled name. | +| Generate Breweries | `MockGenerator` or `LlamaGenerator` produces brewery names and descriptions in English and the local language. | +| Store | `SqliteExportService` writes each successful user and brewery into a fresh dated `.sqlite` database with normalized `locations`, `users`, and `breweries` tables. | +| Log | `spdlog` writes results and warnings to the console. | If name sampling, enrichment, or generation fails for a city, that city is skipped and the pipeline continues. `GenerateUsers()` runs before @@ -240,33 +240,32 @@ skipped and the pipeline continues. `GenerateUsers()` runs before - `CuratedJsonDataService` — implements `ICuratedDataService`; takes a `CuratedDataFilePaths` DTO (locations/personas/forenames/surnames paths) in its constructor, then parses and validates curated location, persona, and - forename/surname JSON, memoizing each result after its first load on a - given instance. `MockCuratedDataService` is the in-memory substitute (4 - fixed locations, 3 personas, and name data for `US`/`DE`/`FR`/`BE`) used in + forename/surname JSON, memoizing each result after its first load on a given + instance. `MockCuratedDataService` is the in-memory substitute (4 fixed + locations, 3 personas, and name data for `US`/`DE`/`FR`/`BE`) used in `--mocked` runs. - `WikipediaEnrichmentService` — queries Wikipedia extracts, caches results, returns empty context on failure. `MockEnrichmentService` is the no-op substitute used in `--mocked` runs. -- `LlamaGenerator` — formats prompts for Gemma 4, validates JSON output for - both `GenerateBrewery` and `GenerateUser`, retries malformed responses up - to three times with corrective feedback in the retry prompt. The token - budget is fixed across attempts; it is not raised automatically on - truncation. -- `MockGenerator` — stable hash-based output so the same city/persona/name - input always produces the same brewery or user. -- `SqliteExportService` — creates a dated SQLite file per run and persists - each successful user and brewery into normalized tables. +- `LlamaGenerator` — formats prompts for Gemma 4, validates JSON output for both + `GenerateBrewery` and `GenerateUser`, retries malformed responses up to three + times with corrective feedback in the retry prompt. The token budget is fixed + across attempts; it is not raised automatically on truncation. +- `MockGenerator` — stable hash-based output so the same city/persona/name input + always produces the same brewery or user. +- `SqliteExportService` — creates a dated SQLite file per run and persists each + successful user and brewery into normalized tables. - Brewery payloads include English and local-language name and description fields. User payloads carry a sampled first/last name and gender, an - LLM-generated username/bio/activity weight, and a programmatically - generated (not LLM-authored) unique email and date of birth. + LLM-generated username/bio/activity weight, and a programmatically generated + (not LLM-authored) unique email and date of birth. ### Runtime Behaviour -`WikipediaEnrichmentService` fetches two Wikipedia extracts per city: a -generic "brewing" extract and a "beer in `{country}`" extract. It does not -currently query a city- or region-specific page. Each query string is cached -after its first successful (or empty) lookup. +`WikipediaEnrichmentService` fetches two Wikipedia extracts per city: a generic +"brewing" extract and a "beer in `{country}`" extract. It does not currently +query a city- or region-specific page. Each query string is cached after its +first successful (or empty) lookup. `GetLocationContext()` returns an empty string when the web client is unavailable or when lookup/parsing fails. @@ -281,15 +280,15 @@ runs. `CuratedJsonDataService` memoizes each of `LoadLocations()`, `LoadPersonas()`, `LoadForenamesByCountry()`, and `LoadSurnamesByCountry()` independently the -first time each is called, since `BiergartenPipelineOrchestrator` owns a -single `ICuratedDataService` instance for the whole run — later calls return -the cached result instead of re-parsing. +first time each is called, since `BiergartenPipelineOrchestrator` owns a single +`ICuratedDataService` instance for the whole run — later calls return the cached +result instead of re-parsing. `GenerateUsers()` samples a forename/surname pair per city via `SampleName()`, -keyed by the city's ISO 3166-1 code. Countries present in `locations.json` -but absent from either name fixture (currently `KE`, `SE`, `SG`, `TH`, `VN`, -`ZA`) are skipped, the same way a failed enrichment or generation call skips -a city — see ETHICS-AND-KNOWN-ISSUES.md's Names-by-Country Dataset section. +keyed by the city's ISO 3166-1 code. Countries present in `locations.json` but +absent from either name fixture (currently `KE`, `SE`, `SG`, `TH`, `VN`, `ZA`) +are skipped, the same way a failed enrichment or generation call skips a city — +see ETHICS-AND-KNOWN-ISSUES.md's Names-by-Country Dataset section. ### Process Flow - Activity Diagram @@ -303,10 +302,10 @@ a city — see ETHICS-AND-KNOWN-ISSUES.md's Names-by-Country Dataset section. ## Generated Output -Each successful run stores a `BreweryRecord` pair with the source location -and a `BreweryResult` payload, and a `UserRecord` pair with the source -location and a `UserResult` payload. The same generated records are also -written to a fresh SQLite export file named with the current UTC timestamp. +Each successful run stores a `BreweryRecord` pair with the source location and a +`BreweryResult` payload, and a `UserRecord` pair with the source location and a +`UserResult` payload. The same generated records are also written to a fresh +SQLite export file named with the current UTC timestamp. | Field | Meaning | | ------------------- | ------------------------------------------ | @@ -315,16 +314,16 @@ written to a fresh SQLite export file named with the current UTC timestamp. | `name_local` | Brewery name in the local language. | | `description_local` | Brewery description in the local language. | -| Field | Meaning | -| ----------------- | ----------------------------------------------------------------- | -| `first_name` | Sampled forename, copied from the curated name data (not LLM-invented). | -| `last_name` | Sampled surname, copied from the curated name data (not LLM-invented). | -| `gender` | Gender associated with the sampled forename in the source dataset. | -| `username` | LLM-generated handle. | -| `bio` | LLM-generated short biography. | -| `activity_weight` | Relative check-in/activity weight, reserved for a future J-curve activity profile. | +| Field | Meaning | +| ----------------- | -------------------------------------------------------------------------------------- | +| `first_name` | Sampled forename, copied from the curated name data (not LLM-invented). | +| `last_name` | Sampled surname, copied from the curated name data (not LLM-invented). | +| `gender` | Gender associated with the sampled forename in the source dataset. | +| `username` | LLM-generated handle. | +| `bio` | LLM-generated short biography. | +| `activity_weight` | Relative check-in/activity weight, reserved for a future J-curve activity profile. | | `email` | Unique `@thebiergarten.app` address, generated programmatically from the sampled name. | -| `date_of_birth` | Randomized date of birth (age 19-48), generated programmatically. | +| `date_of_birth` | Randomized date of birth (age 19-48), generated programmatically. | The log dump also includes city, country, state or province, ISO subdivision code, latitude, and longitude for each entry. @@ -358,11 +357,9 @@ The build fetches Boost.DI, spdlog, and SQLite via CMake. llama.cpp is fetched only when a system installation is not detected. Metal is enabled on Apple Silicon; CUDA or HIP/ROCm is detected on Linux when the toolkit is present. -> **Code Style:** Modern C++20 throughout — RAII for ownership, -> `std::unique_ptr` for injected dependencies, `std::optional` for parse -> outcomes, `std::span` for read-only views over generated city data, structured -> bindings in pipeline loops. Formatting follows the Google C++ Style Guide via -> `.clang-format` with a narrow column limit and two-space indentation. +> **Code Style:** Code style generally follows the Google Style Guide and +> features modern C++20 throughout. Formatting follows the Google C++ Style +> Guide, with the exception of indentation width (3 spaces vs. Google's 2). --- @@ -404,34 +401,33 @@ Silicon; CUDA or HIP/ROCm is detected on Linux when the toolkit is present. ## Fixture Strategy - `--mocked` for stable fixtures, repeatable screenshots, and Storybook runs. - `MockCuratedDataService` swaps in for `CuratedJsonDataService`, so no - fixture files need to be present on disk. + `MockCuratedDataService` swaps in for `CuratedJsonDataService`, so no fixture + files need to be present on disk. - `--model` when geographically grounded content matters for demos. - Keep `locations.json` structured enough to support discovery and future filtering. -- `personas.json`, `forenames-by-country.json`, and - `surnames-by-country.json` are curated/vendored fixture data, not - LLM-generated — see ETHICS-AND-KNOWN-ISSUES.md's Names-by-Country Dataset - section for provenance. -- Treat SQLite output as seed material for the app's brewery and user - domains, not production data. +- `personas.json`, `forenames-by-country.json`, and `surnames-by-country.json` + are curated/vendored fixture data, not LLM-generated — see + ETHICS-AND-KNOWN-ISSUES.md's Names-by-Country Dataset section for provenance. +- Treat SQLite output as seed material for the app's brewery and user domains, + not production data. --- ## Repo Layout -| Path | Purpose | -| -------------------------------------- | -------------------------------------------------- | -| `tooling/pipeline/includes/` | Public headers and shared models. | -| `tooling/pipeline/src/` | Implementation files. | -| `tooling/pipeline/locations.json` | Curated city input copied into the build tree. | -| `tooling/pipeline/personas.json` | Curated user persona archetypes copied into the build tree. | -| `tooling/pipeline/forenames-by-country.json` | Vendored (CC0) forename data by ISO 3166-1 country code. | -| `tooling/pipeline/surnames-by-country.json` | Vendored (CC0) surname data by ISO 3166-1 country code. | -| `tooling/pipeline/prompts/` | System prompts used by the model-backed path. | -| `tooling/pipeline/runpod/` | Dockerfile, launcher, and RunPod pod template. | -| `docs/pipeline/diagrams/` | Architecture and pipeline diagrams. | -| `docs/pipeline/ETHICS-AND-KNOWN-ISSUES.md` | Ethics, bias, hallucination analysis, mitigations. | +| Path | Purpose | +| -------------------------------------------- | ----------------------------------------------------------- | +| `tooling/pipeline/includes/` | Public headers and shared models. | +| `tooling/pipeline/src/` | Implementation files. | +| `tooling/pipeline/locations.json` | Curated city input copied into the build tree. | +| `tooling/pipeline/personas.json` | Curated user persona archetypes copied into the build tree. | +| `tooling/pipeline/forenames-by-country.json` | Vendored (CC0) forename data by ISO 3166-1 country code. | +| `tooling/pipeline/surnames-by-country.json` | Vendored (CC0) surname data by ISO 3166-1 country code. | +| `tooling/pipeline/prompts/` | System prompts used by the model-backed path. | +| `tooling/pipeline/runpod/` | Dockerfile, launcher, and RunPod pod template. | +| `docs/pipeline/diagrams/` | Architecture and pipeline diagrams. | +| `docs/pipeline/ETHICS-AND-KNOWN-ISSUES.md` | Ethics, bias, hallucination analysis, mitigations. | --- @@ -456,12 +452,11 @@ Paths below are relative to `tooling/pipeline/`. ## Next Steps -The pipeline currently produces city-aware brewery and user records and -dated SQLite exports. The next passes add additional fixture types so the -app can exercise the full brewery and social domains without live data. For -the detailed engineering breakdown of what's needed to reach the -architecture in [`diagrams/planned/`](./diagrams/planned/), see -[ROADMAP.md](./ROADMAP.md). +The pipeline currently produces city-aware brewery and user records and dated +SQLite exports. The next passes add additional fixture types so the app can +exercise the full brewery and social domains without live data. For the detailed +engineering breakdown of what's needed to reach the architecture in +[`diagrams/planned/`](./diagrams/planned/), see [ROADMAP.md](./ROADMAP.md). ### Testing — Very High Priority diff --git a/docs/pipeline/ROADMAP.md b/docs/pipeline/ROADMAP.md index 0f2876f8..71e01f06 100644 --- a/docs/pipeline/ROADMAP.md +++ b/docs/pipeline/ROADMAP.md @@ -3,13 +3,12 @@ This is the engineering breakdown for closing the gap between the **current** pipeline and the **planned** architecture documented in [`diagrams/planned/class.puml`](./diagrams/planned/class.puml) and -[`diagrams/planned/activity.puml`](./diagrams/planned/activity.puml). Nothing -in `diagrams/planned/` is implemented yet — this file tracks what it would -take to get there. For the current implementation, see -[README.md](./README.md). +[`diagrams/planned/activity.puml`](./diagrams/planned/activity.puml). Nothing in +`diagrams/planned/` is implemented yet — this file tracks what it would take to +get there. For the current implementation, see [README.md](./README.md). -Items are grouped by layer and roughly ordered by dependency: later groups -build on types and services introduced earlier. +Items are grouped by layer and roughly ordered by dependency: later groups build +on types and services introduced earlier. The only concurrency in the current pipeline is the log dispatcher thread (`main.cc` spawns it to drain a `BoundedChannel` into spdlog for the @@ -25,31 +24,30 @@ architecture needs. `tooling/pipeline/includes/data_model/generated_models.h` and `models.h`. - [ ] Add `Completeness` enum (`Full`, `Partial`, `Absent`) and a - `LocationContext` struct (`text`, `completeness`, `char_count`). - Replace `EnrichedCity::region_context` (currently a plain - `std::string`) with `context : LocationContext`. -- [ ] Add `BeerStyle` (`name`, `description`, `min_abv`, `max_abv`, - `min_ibu`, `max_ibu`). + `LocationContext` struct (`text`, `completeness`, `char_count`). Replace + `EnrichedCity::region_context` (currently a plain `std::string`) with + `context : LocationContext`. +- [ ] Add `BeerStyle` (`name`, `description`, `min_abv`, `max_abv`, `min_ibu`, + `max_ibu`). - [ ] Add `BeerResult`, `CheckinResult`, `RatingResult` result payloads. - [ ] Add `GenerationMetadata` (`generation_id`, `generated_time`, `context_provided`, `generated_with`). - [x] Add `first_name`, `last_name`, `gender`, and `activity_weight` to `UserResult` (currently just `username`, `bio`). `first_name`/ - `last_name`/`gender` are copied from the sampled `Name` (see below), - not LLM-invented. + `last_name`/`gender` are copied from the sampled `Name` (see below), not + LLM-invented. - [x] Add `Name` (`first_name`, `last_name`, `gender`) — the sampled result handed to `DataGenerator::GenerateUser`. Add `ForenameEntry` (`name`, `gender`). Landed as a flatter shape than originally planned here: no - `NamesByCountry` wrapper class. `curated_data_service.h` instead - declares `ForenameList = std::vector` and - `SurnameList = std::vector`, and - `ICuratedDataService` exposes two maps keyed by ISO 3166-1 code — + `NamesByCountry` wrapper class. `curated_data_service.h` instead declares + `ForenameList = std::vector` and + `SurnameList = std::vector`, and `ICuratedDataService` + exposes two maps keyed by ISO 3166-1 code — `ForenamesByCountryMap = unordered_map` and - `SurnamesByCountryMap = unordered_map` — - directly (see §2). Sampling is - a free function, `SampleName(forenames_by_country, - surnames_by_country, iso3166_1, rng)`, in - `generate_users.cc`'s anonymous namespace, not a method on a class. + `SurnamesByCountryMap = unordered_map` — directly + (see §2). Sampling is a free function, + `SampleName(forenames_by_country, surnames_by_country, iso3166_1, rng)`, + in `generate_users.cc`'s anonymous namespace, not a method on a class. Pairing a forename with a surname happens at sample time so gender (present per-forename in the source data) is never discarded the way a pre-flattened `{first_name, last_name}` list would lose it; see §2. @@ -58,14 +56,14 @@ architecture needs. - [ ] Add `GeneratedBeer`, `GeneratedCheckin`, `GeneratedRating`, `GeneratedFollow` aggregate structs. - [x] Add `UserRecord` (`location`, `user : UserResult`, `email`, - `date_of_birth`) as the current stand-in for the planned - `GeneratedUser` — `email` and `date_of_birth` are programmatically - generated by the orchestrator, never LLM-authored, so a downstream - auth-account seeding consumer can register real accounts from the - pipeline's SQLite export. No `password`, `user_id`, or `metadata` - field yet, matching `BreweryRecord`'s equally pre-`metadata` shape. - Already wired into `IExportService`/`SqliteExportService`: a `users` - table exists and `GenerateUsers()` exports each successful record via + `date_of_birth`) as the current stand-in for the planned `GeneratedUser` — + `email` and `date_of_birth` are programmatically generated by the + orchestrator, never LLM-authored, so a downstream auth-account seeding + consumer can register real accounts from the pipeline's SQLite export. No + `password`, `user_id`, or `metadata` field yet, matching `BreweryRecord`'s + equally pre-`metadata` shape. Already wired into + `IExportService`/`SqliteExportService`: a `users` table exists and + `GenerateUsers()` exports each successful record via `ProcessRecord(const UserRecord&)` (see §5) in addition to logging and holding `generated_users_` in memory. Still missing vs. the planned `GeneratedUser`: `user_id`, `password`, and `metadata`. @@ -75,66 +73,62 @@ architecture needs. `tooling/pipeline/includes/services/curated_data/`, fixture files. -- [x] Extract an interface; have `CuratedJsonDataService` implement it. - Landed as `ICuratedDataService` - (`services/curated_data/curated_data_service.h`), not `DataPreloader` - — `LoadLocations()`, `LoadPersonas()`, `LoadForenamesByCountry()`, and - `LoadSurnamesByCountry()` are all virtual methods returning `const&` - and take no arguments. `CuratedJsonDataService` - (`services/curated_data/curated_json_data_service.h`, originally - landed as `JsonLoader` under `json_handling/` before being renamed and - moved) takes a `CuratedDataFilePaths` DTO (`locations_path`, - `personas_path`, `forenames_path`, `surnames_path`) in its - constructor rather than a path per `Load*()` call, and memoizes each - result in a private `cache` struct (`locations`, `personas`, - `forenames_by_country`, `surnames_by_country`), so a second call on - the same instance returns the cached result instead of re-parsing — - safe because `CuratedJsonDataService` outlives every call site (owned - by `BiergartenPipelineOrchestrator` via +- [x] Extract an interface; have `CuratedJsonDataService` implement it. Landed + as `ICuratedDataService` (`services/curated_data/curated_data_service.h`), + not `DataPreloader` — `LoadLocations()`, `LoadPersonas()`, + `LoadForenamesByCountry()`, and `LoadSurnamesByCountry()` are all virtual + methods returning `const&` and take no arguments. `CuratedJsonDataService` + (`services/curated_data/curated_json_data_service.h`, originally landed as + `JsonLoader` under `json_handling/` before being renamed and moved) takes + a `CuratedDataFilePaths` DTO (`locations_path`, `personas_path`, + `forenames_path`, `surnames_path`) in its constructor rather than a path + per `Load*()` call, and memoizes each result in a private `cache` struct + (`locations`, `personas`, `forenames_by_country`, `surnames_by_country`), + so a second call on the same instance returns the cached result instead of + re-parsing — safe because `CuratedJsonDataService` outlives every call + site (owned by `BiergartenPipelineOrchestrator` via `unique_ptr` for the whole run). `main.cc`'s DI - injector also gained a `MockCuratedDataService` (fixed in-memory - data: 4 locations across `US`/`DE`/`FR`/`BE`, 3 personas, and - matching forename/surname sets for those four countries), bound in - place of `CuratedJsonDataService` under `--mocked`, mirroring the - existing `MockEnrichmentService`/`MockGenerator` pattern. -- [ ] Add `LoadBeerStyles()`. `beer-styles.json` already exists in the repo - and is already copied into the Docker image - (`runpod/Dockerfile`), but no loader reads it yet, and the native - CMake build doesn't copy it into `build/` at all — `CMakeLists.txt`'s - "Runtime Assets" step only copies `locations.json` and `prompts/`. + injector also gained a `MockCuratedDataService` (fixed in-memory data: 4 + locations across `US`/`DE`/`FR`/`BE`, 3 personas, and matching + forename/surname sets for those four countries), bound in place of + `CuratedJsonDataService` under `--mocked`, mirroring the existing + `MockEnrichmentService`/`MockGenerator` pattern. +- [ ] Add `LoadBeerStyles()`. `beer-styles.json` already exists in the repo and + is already copied into the Docker image (`runpod/Dockerfile`), but no + loader reads it yet, and the native CMake build doesn't copy it into + `build/` at all — `CMakeLists.txt`'s "Runtime Assets" step only copies + `locations.json` and `prompts/`. - [x] Add `LoadPersonas()` and author `personas.json` (doesn't exist yet). - [x] Add name-by-country loading, parsing `tooling/pipeline/forenames-by-country.json` and `surnames-by-country.json`. Landed as two separate methods — - `LoadForenamesByCountry()` and `LoadSurnamesByCountry()` — each - returning a flat `ForenamesByCountryMap` / `SurnamesByCountryMap` - (aliases for `unordered_map` / + `LoadForenamesByCountry()` and `LoadSurnamesByCountry()` — each returning + a flat `ForenamesByCountryMap` / `SurnamesByCountryMap` (aliases for + `unordered_map` / `unordered_map`) keyed by ISO 3166-1 code, rather - than one combined `LoadNamesByCountry() : NamesByCountry` call. Both - files are vendored verbatim (unmodified, - full multinational coverage) from + than one combined `LoadNamesByCountry() : NamesByCountry` call. Both files + are vendored verbatim (unmodified, full multinational coverage) from `sigpwned/popular-names-by-country-dataset` (CC0) — see ETHICS-AND-KNOWN-ISSUES.md's Names-by-Country Dataset section for provenance. Deliberately not pre-paired or filtered down to just the countries in `locations.json`: keeping the source shape (including - per-forename gender) intact means the loader can support more - countries later, or gender-aware persona/bio generation, without - re-sourcing data. + per-forename gender) intact means the loader can support more countries + later, or gender-aware persona/bio generation, without re-sourcing data. ## 3. Policy / Strategy Layer Entirely new — no `includes/policy/` (or equivalent) directory exists today. - [ ] `ContextStrategy` interface + `BreweryContextStrategy` / - `BeerContextStrategy`. Today `WikipediaEnrichmentService::GetLocationContext` - hardcodes a generic `"brewing"` query and a `"beer in {country}"` - query directly — no per-phase strategy selection. -- [ ] `SamplingStrategy` interface + `UniformSamplingStrategy`, replacing - the inline `std::ranges::sample(...)` call in + `BeerContextStrategy`. Today + `WikipediaEnrichmentService::GetLocationContext` hardcodes a generic + `"brewing"` query and a `"beer in {country}"` query directly — no + per-phase strategy selection. +- [ ] `SamplingStrategy` interface + `UniformSamplingStrategy`, replacing the + inline `std::ranges::sample(...)` call in `BiergartenPipelineOrchestrator::QueryCitiesWithCountries()`. -- [ ] `BeerSelectionStrategy` interface + `RandomBeerSelectionStrategy`, to - pick styles per brewery from the `BeerStyle` palette (depends on §1 - and §2). +- [ ] `BeerSelectionStrategy` interface + `RandomBeerSelectionStrategy`, to pick + styles per brewery from the `BeerStyle` palette (depends on §1 and §2). - [ ] `CheckinDistributionStrategy` interface + `JCurveCheckinStrategy` / `RandomCheckinStrategy` — this is the "Check-In System" item already called out in README.md's Next Steps, made concrete. @@ -150,88 +144,87 @@ Entirely new — no `includes/policy/` (or equivalent) directory exists today. `GenerateUser`). - [x] Implement `LlamaGenerator::GenerateUser` for real, with a retry loop mirroring `GenerateBrewery` (GBNF grammar, `ValidateUserJson`, up to 3 - attempts with corrective feedback) and a new - `prompts/USER_GENERATION.md`. Changed the `DataGenerator::GenerateUser` - signature to + attempts with corrective feedback) and a new `prompts/USER_GENERATION.md`. + Changed the `DataGenerator::GenerateUser` signature to `(city : const EnrichedCity&, persona : const UserPersona&, name : const Name&) : UserResult`, - matching what the activity diagram actually passes. `MockGenerator::GenerateUser` - updated to match the new signature too. + matching what the activity diagram actually passes. + `MockGenerator::GenerateUser` updated to match the new signature too. - [ ] Implement `MockGenerator::GenerateBeer` / `GenerateCheckin` / `GenerateRating`. - [ ] Add `IPromptFormatter::ExpectedArchitecture()` and `LlamaGenerator::ValidateModelArchitecture()` so loading a GGUF that - doesn't match the configured chat template fails fast instead of - silently producing degraded output. -- [ ] Add prompt template files for beer/checkin/rating generation next to - the existing `prompts/BREWERY_GENERATION.md`. + doesn't match the configured chat template fails fast instead of silently + producing degraded output. +- [ ] Add prompt template files for beer/checkin/rating generation next to the + existing `prompts/BREWERY_GENERATION.md`. ## 5. Export Service `tooling/pipeline/includes/services/database/`, `src/services/sqlite/`. - [x] `IExportService::ProcessRecord(const UserRecord&)` and - `SqliteExportService`'s `users` table (see - `kCreateUsersTableSql` / `kInsertUserSql` in - `includes/services/database/sqlite_statement_helpers.h`) are - implemented — `GenerateUsers()` exports every successful user - alongside its resolved `location_id`. + `SqliteExportService`'s `users` table (see `kCreateUsersTableSql` / + `kInsertUserSql` in + `includes/services/database/sqlite_statement_helpers.h`) are implemented — + `GenerateUsers()` exports every successful user alongside its resolved + `location_id`. - [ ] Extend `IExportService` with `ProcessBeer`, `ProcessCheckin`, - `ProcessRating`, `ProcessFollow` (today `ProcessRecord(const - BreweryRecord&)` and `ProcessRecord(const UserRecord&)` exist). + `ProcessRating`, `ProcessFollow` (today + `ProcessRecord(const BreweryRecord&)` and + `ProcessRecord(const UserRecord&)` exist). - [ ] Add `beers`, `checkins`, `ratings`, `follows` tables to - `SqliteExportService::InitializeSchema()` (`locations`, `breweries`, - and `users` already exist) — see `kCreateLocationsTableSql` / + `SqliteExportService::InitializeSchema()` (`locations`, `breweries`, and + `users` already exist) — see `kCreateLocationsTableSql` / `kCreateBreweriesTableSql` / `kCreateUsersTableSql` in - `includes/services/database/sqlite_statement_helpers.h` for the - existing pattern to follow. -- [ ] Add a `brewery_cache_` alongside the existing `location_cache_`, and - move from one open transaction for the whole run to per-phase batched - commits (`BEGIN` / `COMMIT & BEGIN` on a batch-size threshold), as - shown in the planned activity diagram. + `includes/services/database/sqlite_statement_helpers.h` for the existing + pattern to follow. +- [ ] Add a `brewery_cache_` alongside the existing `location_cache_`, and move + from one open transaction for the whole run to per-phase batched commits + (`BEGIN` / `COMMIT & BEGIN` on a batch-size threshold), as shown in the + planned activity diagram. ## 6. Concurrency & Orchestration `tooling/pipeline/includes/concurrency/`, `src/biergarten_pipeline_orchestrator/`. -- [ ] `BoundedChannel` already exists and is production-tested — but - it's only wired to the single log channel today. Stand up the - per-phase producer/consumer channels (`loc_ch`, `exp_ch`, etc.) the - planned activity diagram describes, each with a dedicated LLM worker - thread and SQLite worker thread. -- [ ] Rewrite `BiergartenPipelineOrchestrator::Run()` from one synchronous - pass over `generated_breweries_` into phased methods — - `RunUserPhase` → `RunBreweryAndBeerPhase` (with a `RunBeerPhase` - sub-step once `brewery_pool_` is populated) → `RunCheckinPhase` / - `RunFollowPhase` (these two can run in parallel) → `RunRatingPhase` — - backed by `user_pool_`, `brewery_pool_`, `beer_pool_`, - `checkin_pool_`, `follow_pool_`. +- [ ] `BoundedChannel` already exists and is production-tested — but it's + only wired to the single log channel today. Stand up the per-phase + producer/consumer channels (`loc_ch`, `exp_ch`, etc.) the planned activity + diagram describes, each with a dedicated LLM worker thread and SQLite + worker thread. +- [ ] Rewrite `BiergartenPipelineOrchestrator::Run()` from one synchronous pass + over `generated_breweries_` into phased methods — `RunUserPhase` → + `RunBreweryAndBeerPhase` (with a `RunBeerPhase` sub-step once + `brewery_pool_` is populated) → `RunCheckinPhase` / `RunFollowPhase` + (these two can run in parallel) → `RunRatingPhase` — backed by + `user_pool_`, `brewery_pool_`, `beer_pool_`, `checkin_pool_`, + `follow_pool_`. - [ ] Honor the structural-concurrency requirement already called out in a comment on `BiergartenPipelineOrchestrator::Run()` in - `biergarten_pipeline_orchestrator.h`: once real worker threads exist, - they must be structurally joined (e.g. via `std::jthread`) before - `Run()` returns, so no worker logs to a closed channel during - teardown. + `biergarten_pipeline_orchestrator.h`: once real worker threads exist, they + must be structurally joined (e.g. via `std::jthread`) before `Run()` + returns, so no worker logs to a closed channel during teardown. ## 7. Enrichment -- [ ] Decide whether to restore the city/region-specific Wikipedia query - that's currently commented out in - `src/services/enrichment/wikipedia/get_summary.cc` - (`GetLocationContext`). The `ContextStrategy` work in §3 is a natural - place to reintroduce it via `BreweryContextStrategy::QueriesFor()`. +- [ ] Decide whether to restore the city/region-specific Wikipedia query that's + currently commented out in + `src/services/enrichment/wikipedia/get_summary.cc` (`GetLocationContext`). + The `ContextStrategy` work in §3 is a natural place to reintroduce it via + `BreweryContextStrategy::QueriesFor()`. - [ ] Pre-warm caches at startup (`PreWarmBeerStyleCache`, `PreWarmLocationCache` in the planned activity diagram) instead of - fetching lazily per record, so the streaming phases never block on a - cold cache mid-run. + fetching lazily per record, so the streaming phases never block on a cold + cache mid-run. ## 8. Fixtures / Build - [x] Author `personas.json`, `forenames-by-country.json`, and `surnames-by-country.json` (see §2). -- [ ] Fix the `beer-styles.json` build-tree gap: add it to the "Runtime - Assets" `configure_file` step in `CMakeLists.txt` so native builds and - the Docker image agree on what's available at runtime. +- [ ] Fix the `beer-styles.json` build-tree gap: add it to the "Runtime Assets" + `configure_file` step in `CMakeLists.txt` so native builds and the Docker + image agree on what's available at runtime. --- @@ -240,13 +233,12 @@ Entirely new — no `includes/policy/` (or equivalent) directory exists today. The planned activity diagram's own phase notes ("brewery*pool* is now fully populated. Phase 1b may begin.", etc.) imply a dependency order. Roughly: -1. Domain models (§1) and data preloading (§2) — nothing else compiles - without these. -2. Export schema (§5) — so every later generation phase has somewhere to - land its output. +1. Domain models (§1) and data preloading (§2) — nothing else compiles without + these. +2. Export schema (§5) — so every later generation phase has somewhere to land + its output. 3. Policy/strategy layer (§3) and generator interface (§4). -4. Concurrency/orchestration rewrite (§6), which is the only piece that - actually wires §1–§5 into the phased, parallel pipeline shown in the - planned diagrams. -5. Enrichment cache pre-warming and the city/region query decision (§7) — - useful at any point, but most valuable once phases run concurrently. +4. Concurrency/orchestration rewrite (§6), which is the only piece that actually + wires §1–§5 into the phased, parallel pipeline shown in the planned diagrams. +5. Enrichment cache pre-warming and the city/region query decision (§7) — useful + at any point, but most valuable once phases run concurrently. diff --git a/tooling/pipeline/.clang-format b/tooling/pipeline/.clang-format index fb2006d0..4ecd3426 100644 --- a/tooling/pipeline/.clang-format +++ b/tooling/pipeline/.clang-format @@ -1,5 +1,5 @@ --- BasedOnStyle: Google ColumnLimit: 80 -IndentWidth: 2 +IndentWidth: 3 ... diff --git a/tooling/pipeline/.clang-tidy b/tooling/pipeline/.clang-tidy index c180f753..a6436fe3 100644 --- a/tooling/pipeline/.clang-tidy +++ b/tooling/pipeline/.clang-tidy @@ -1,12 +1,6 @@ Checks: > - -*, - bugprone-*, - google-*, - modernize-*, - readability-*, - cppcoreguidelines-*, - -modernize-use-trailing-return-type, - -google-runtime-references + -*, bugprone-*, google-*, modernize-*, readability-*, cppcoreguidelines-*, + -modernize-use-trailing-return-type, -google-runtime-references CheckOptions: # Enforce Google Naming Conventions with valid clang-tidy strings diff --git a/tooling/pipeline/forenames-by-country.json b/tooling/pipeline/forenames-by-country.json index 8cb8f8a4..3c8d51ce 100644 --- a/tooling/pipeline/forenames-by-country.json +++ b/tooling/pipeline/forenames-by-country.json @@ -9,122 +9,78 @@ "id": "N-AD-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Martina" - ], - "romanized": [ - "Martina" - ] + "localized": ["Martina"], + "romanized": ["Martina"] }, { "id": "N-AD-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-AD-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Jana" - ], - "romanized": [ - "Jana" - ] + "localized": ["Jana"], + "romanized": ["Jana"] }, { "id": "N-AD-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Lucia" - ], - "romanized": [ - "Lucia" - ] + "localized": ["Lucia"], + "romanized": ["Lucia"] }, { "id": "N-AD-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Iker" - ], - "romanized": [ - "Iker" - ] + "localized": ["Iker"], + "romanized": ["Iker"] }, { "id": "N-AD-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-AD-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Martí" - ], - "romanized": [ - "Martí" - ] + "localized": ["Martí"], + "romanized": ["Martí"] }, { "id": "N-AD-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Biel" - ], - "romanized": [ - "Biel" - ] + "localized": ["Biel"], + "romanized": ["Biel"] }, { "id": "N-AD-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Dylan" - ], - "romanized": [ - "Dylan" - ] + "localized": ["Dylan"], + "romanized": ["Dylan"] }, { "id": "N-AD-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Jordi" - ], - "romanized": [ - "Jordi" - ] + "localized": ["Jordi"], + "romanized": ["Jordi"] }, { "id": "N-AD-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Marc" - ], - "romanized": [ - "Marc" - ] + "localized": ["Marc"], + "romanized": ["Marc"] } ] } @@ -139,111 +95,71 @@ "id": "O-AE-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "مريم" - ], - "romanized": [ - "Maryam" - ] + "localized": ["مريم"], + "romanized": ["Maryam"] }, { "id": "O-AE-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "فاطمة" - ], - "romanized": [ - "Fatima" - ] + "localized": ["فاطمة"], + "romanized": ["Fatima"] }, { "id": "O-AE-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "لين" - ], - "romanized": [ - "Lyn" - ] + "localized": ["لين"], + "romanized": ["Lyn"] }, { "id": "O-AE-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "حور" - ], - "romanized": [ - "Hur" - ] + "localized": ["حور"], + "romanized": ["Hur"] }, { "id": "O-AE-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "ليان" - ], - "romanized": [ - "Lian" - ] + "localized": ["ليان"], + "romanized": ["Lian"] }, { "id": "O-AE-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "ماريا" - ], - "romanized": [ - "Maria" - ] + "localized": ["ماريا"], + "romanized": ["Maria"] }, { "id": "O-AE-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "ملك" - ], - "romanized": [ - "Malak" - ] + "localized": ["ملك"], + "romanized": ["Malak"] }, { "id": "O-AE-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "نور" - ], - "romanized": [ - "Nur" - ] + "localized": ["نور"], + "romanized": ["Nur"] }, { "id": "O-AE-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "ميلا" - ], - "romanized": [ - "Mila" - ] + "localized": ["ميلا"], + "romanized": ["Mila"] }, { "id": "O-AE-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "فرح" - ], - "romanized": [ - "Farah" - ] + "localized": ["فرح"], + "romanized": ["Farah"] } ] }, @@ -256,111 +172,71 @@ "id": "O-AE-2-M-1", "rank": 1, "gender": "M", - "localized": [ - "محمد" - ], - "romanized": [ - "Mohamed" - ] + "localized": ["محمد"], + "romanized": ["Mohamed"] }, { "id": "O-AE-2-M-2", "rank": 2, "gender": "M", - "localized": [ - "عبدالله" - ], - "romanized": [ - "Abdullah" - ] + "localized": ["عبدالله"], + "romanized": ["Abdullah"] }, { "id": "O-AE-2-M-3", "rank": 3, "gender": "M", - "localized": [ - "أحمد" - ], - "romanized": [ - "Ahmed" - ] + "localized": ["أحمد"], + "romanized": ["Ahmed"] }, { "id": "O-AE-2-M-4", "rank": 4, "gender": "M", - "localized": [ - "علي" - ], - "romanized": [ - "Ali" - ] + "localized": ["علي"], + "romanized": ["Ali"] }, { "id": "O-AE-2-M-5", "rank": 5, "gender": "M", - "localized": [ - "يوسف" - ], - "romanized": [ - "Yousouf" - ] + "localized": ["يوسف"], + "romanized": ["Yousouf"] }, { "id": "O-AE-2-M-6", "rank": 6, "gender": "M", - "localized": [ - "عمر" - ], - "romanized": [ - "Omar" - ] + "localized": ["عمر"], + "romanized": ["Omar"] }, { "id": "O-AE-2-M-7", "rank": 7, "gender": "M", - "localized": [ - "آدم" - ], - "romanized": [ - "Adam" - ] + "localized": ["آدم"], + "romanized": ["Adam"] }, { "id": "O-AE-2-M-8", "rank": 8, "gender": "M", - "localized": [ - "عبد" - ], - "romanized": [ - "Abd" - ] + "localized": ["عبد"], + "romanized": ["Abd"] }, { "id": "O-AE-2-M-9", "rank": 9, "gender": "M", - "localized": [ - "خالد" - ], - "romanized": [ - "Khaled" - ] + "localized": ["خالد"], + "romanized": ["Khaled"] }, { "id": "O-AE-2-M-10", "rank": 10, "gender": "M", - "localized": [ - "فهد" - ], - "romanized": [ - "Fahd" - ] + "localized": ["فهد"], + "romanized": ["Fahd"] } ] } @@ -375,221 +251,141 @@ "id": "N-AL-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-AL-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Ajla" - ], - "romanized": [ - "Ajla" - ] + "localized": ["Ajla"], + "romanized": ["Ajla"] }, { "id": "N-AL-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Aria" - ], - "romanized": [ - "Aria" - ] + "localized": ["Aria"], + "romanized": ["Aria"] }, { "id": "N-AL-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Amelja" - ], - "romanized": [ - "Amelja" - ] + "localized": ["Amelja"], + "romanized": ["Amelja"] }, { "id": "N-AL-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Leandra" - ], - "romanized": [ - "Leandra" - ] + "localized": ["Leandra"], + "romanized": ["Leandra"] }, { "id": "N-AL-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Ambra" - ], - "romanized": [ - "Ambra" - ] + "localized": ["Ambra"], + "romanized": ["Ambra"] }, { "id": "N-AL-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Klea" - ], - "romanized": [ - "Klea" - ] + "localized": ["Klea"], + "romanized": ["Klea"] }, { "id": "N-AL-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Melisa" - ], - "romanized": [ - "Melisa" - ] + "localized": ["Melisa"], + "romanized": ["Melisa"] }, { "id": "N-AL-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Amaris" - ], - "romanized": [ - "Amaris" - ] + "localized": ["Amaris"], + "romanized": ["Amaris"] }, { "id": "N-AL-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Reina" - ], - "romanized": [ - "Reina" - ] + "localized": ["Reina"], + "romanized": ["Reina"] }, { "id": "N-AL-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Noel" - ], - "romanized": [ - "Noel" - ] + "localized": ["Noel"], + "romanized": ["Noel"] }, { "id": "N-AL-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Aron" - ], - "romanized": [ - "Aron" - ] + "localized": ["Aron"], + "romanized": ["Aron"] }, { "id": "N-AL-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Joel" - ], - "romanized": [ - "Joel" - ] + "localized": ["Joel"], + "romanized": ["Joel"] }, { "id": "N-AL-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Roan" - ], - "romanized": [ - "Roan" - ] + "localized": ["Roan"], + "romanized": ["Roan"] }, { "id": "N-AL-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Amar" - ], - "romanized": [ - "Amar" - ] + "localized": ["Amar"], + "romanized": ["Amar"] }, { "id": "N-AL-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Mateo" - ], - "romanized": [ - "Mateo" - ] + "localized": ["Mateo"], + "romanized": ["Mateo"] }, { "id": "N-AL-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Alteo" - ], - "romanized": [ - "Alteo" - ] + "localized": ["Alteo"], + "romanized": ["Alteo"] }, { "id": "N-AL-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Roel" - ], - "romanized": [ - "Roel" - ] + "localized": ["Roel"], + "romanized": ["Roel"] }, { "id": "N-AL-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Luis" - ], - "romanized": [ - "Luis" - ] + "localized": ["Luis"], + "romanized": ["Luis"] }, { "id": "N-AL-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Dion" - ], - "romanized": [ - "Dion" - ] + "localized": ["Dion"], + "romanized": ["Dion"] } ] } @@ -604,221 +400,141 @@ "id": "N-AM-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Anahit" - ], - "romanized": [ - "Anahit" - ] + "localized": ["Anahit"], + "romanized": ["Anahit"] }, { "id": "N-AM-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Gayane" - ], - "romanized": [ - "Gayane" - ] + "localized": ["Gayane"], + "romanized": ["Gayane"] }, { "id": "N-AM-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Anna" - ], - "romanized": [ - "Anna" - ] + "localized": ["Anna"], + "romanized": ["Anna"] }, { "id": "N-AM-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Karine" - ], - "romanized": [ - "Karine" - ] + "localized": ["Karine"], + "romanized": ["Karine"] }, { "id": "N-AM-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Hasmik" - ], - "romanized": [ - "Hasmik" - ] + "localized": ["Hasmik"], + "romanized": ["Hasmik"] }, { "id": "N-AM-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Lusine" - ], - "romanized": [ - "Lusine" - ] + "localized": ["Lusine"], + "romanized": ["Lusine"] }, { "id": "N-AM-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Susanna" - ], - "romanized": [ - "Susanna" - ] + "localized": ["Susanna"], + "romanized": ["Susanna"] }, { "id": "N-AM-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Armine" - ], - "romanized": [ - "Armine" - ] + "localized": ["Armine"], + "romanized": ["Armine"] }, { "id": "N-AM-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Narine" - ], - "romanized": [ - "Narine" - ] + "localized": ["Narine"], + "romanized": ["Narine"] }, { "id": "N-AM-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Lilit" - ], - "romanized": [ - "Lilit" - ] + "localized": ["Lilit"], + "romanized": ["Lilit"] }, { "id": "N-AM-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Armen" - ], - "romanized": [ - "Armen" - ] + "localized": ["Armen"], + "romanized": ["Armen"] }, { "id": "N-AM-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Artur" - ], - "romanized": [ - "Artur" - ] + "localized": ["Artur"], + "romanized": ["Artur"] }, { "id": "N-AM-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Karen" - ], - "romanized": [ - "Karen" - ] + "localized": ["Karen"], + "romanized": ["Karen"] }, { "id": "N-AM-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Samvel" - ], - "romanized": [ - "Samvel" - ] + "localized": ["Samvel"], + "romanized": ["Samvel"] }, { "id": "N-AM-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Gevorg" - ], - "romanized": [ - "Gevorg" - ] + "localized": ["Gevorg"], + "romanized": ["Gevorg"] }, { "id": "N-AM-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Ashot" - ], - "romanized": [ - "Ashot" - ] + "localized": ["Ashot"], + "romanized": ["Ashot"] }, { "id": "N-AM-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Davit" - ], - "romanized": [ - "Davit" - ] + "localized": ["Davit"], + "romanized": ["Davit"] }, { "id": "N-AM-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Arman" - ], - "romanized": [ - "Arman" - ] + "localized": ["Arman"], + "romanized": ["Arman"] }, { "id": "N-AM-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Hovhannes" - ], - "romanized": [ - "Hovhannes" - ] + "localized": ["Hovhannes"], + "romanized": ["Hovhannes"] }, { "id": "N-AM-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Gagik" - ], - "romanized": [ - "Gagik" - ] + "localized": ["Gagik"], + "romanized": ["Gagik"] } ] }, @@ -831,221 +547,141 @@ "id": "N-AM-2-F-1", "rank": 1, "gender": "F", - "localized": [ - "Nare" - ], - "romanized": [ - "Nare" - ] + "localized": ["Nare"], + "romanized": ["Nare"] }, { "id": "N-AM-2-F-2", "rank": 2, "gender": "F", - "localized": [ - "Maria" - ], - "romanized": [ - "Maria" - ] + "localized": ["Maria"], + "romanized": ["Maria"] }, { "id": "N-AM-2-F-3", "rank": 3, "gender": "F", - "localized": [ - "Arpi" - ], - "romanized": [ - "Arpi" - ] + "localized": ["Arpi"], + "romanized": ["Arpi"] }, { "id": "N-AM-2-F-4", "rank": 4, "gender": "F", - "localized": [ - "Maneh" - ], - "romanized": [ - "Maneh" - ] + "localized": ["Maneh"], + "romanized": ["Maneh"] }, { "id": "N-AM-2-F-5", "rank": 5, "gender": "F", - "localized": [ - "Angelina" - ], - "romanized": [ - "Angelina" - ] + "localized": ["Angelina"], + "romanized": ["Angelina"] }, { "id": "N-AM-2-F-6", "rank": 6, "gender": "F", - "localized": [ - "Mari" - ], - "romanized": [ - "Mari" - ] + "localized": ["Mari"], + "romanized": ["Mari"] }, { "id": "N-AM-2-F-7", "rank": 7, "gender": "F", - "localized": [ - "Eva" - ], - "romanized": [ - "Eva" - ] + "localized": ["Eva"], + "romanized": ["Eva"] }, { "id": "N-AM-2-F-8", "rank": 8, "gender": "F", - "localized": [ - "Mariam" - ], - "romanized": [ - "Mariam" - ] + "localized": ["Mariam"], + "romanized": ["Mariam"] }, { "id": "N-AM-2-F-9", "rank": 9, "gender": "F", - "localized": [ - "Anahit" - ], - "romanized": [ - "Anahit" - ] + "localized": ["Anahit"], + "romanized": ["Anahit"] }, { "id": "N-AM-2-F-10", "rank": 10, "gender": "F", - "localized": [ - "Sofi" - ], - "romanized": [ - "Sofi" - ] + "localized": ["Sofi"], + "romanized": ["Sofi"] }, { "id": "N-AM-2-M-1", "rank": 1, "gender": "M", - "localized": [ - "Davit" - ], - "romanized": [ - "Davit" - ] + "localized": ["Davit"], + "romanized": ["Davit"] }, { "id": "N-AM-2-M-2", "rank": 2, "gender": "M", - "localized": [ - "Narek" - ], - "romanized": [ - "Narek" - ] + "localized": ["Narek"], + "romanized": ["Narek"] }, { "id": "N-AM-2-M-3", "rank": 3, "gender": "M", - "localized": [ - "Monte" - ], - "romanized": [ - "Monte" - ] + "localized": ["Monte"], + "romanized": ["Monte"] }, { "id": "N-AM-2-M-4", "rank": 4, "gender": "M", - "localized": [ - "Tigran" - ], - "romanized": [ - "Tigran" - ] + "localized": ["Tigran"], + "romanized": ["Tigran"] }, { "id": "N-AM-2-M-5", "rank": 5, "gender": "M", - "localized": [ - "Areg" - ], - "romanized": [ - "Areg" - ] + "localized": ["Areg"], + "romanized": ["Areg"] }, { "id": "N-AM-2-M-6", "rank": 6, "gender": "M", - "localized": [ - "Hayk" - ], - "romanized": [ - "Hayk" - ] + "localized": ["Hayk"], + "romanized": ["Hayk"] }, { "id": "N-AM-2-M-7", "rank": 7, "gender": "M", - "localized": [ - "Mark" - ], - "romanized": [ - "Mark" - ] + "localized": ["Mark"], + "romanized": ["Mark"] }, { "id": "N-AM-2-M-8", "rank": 8, "gender": "M", - "localized": [ - "Mikayel" - ], - "romanized": [ - "Mikayel" - ] + "localized": ["Mikayel"], + "romanized": ["Mikayel"] }, { "id": "N-AM-2-M-9", "rank": 9, "gender": "M", - "localized": [ - "Aleks" - ], - "romanized": [ - "Aleks" - ] + "localized": ["Aleks"], + "romanized": ["Aleks"] }, { "id": "N-AM-2-M-10", "rank": 10, "gender": "M", - "localized": [ - "Areni" - ], - "romanized": [ - "Areni" - ] + "localized": ["Areni"], + "romanized": ["Areni"] } ] } @@ -1060,221 +696,141 @@ "id": "N-AR-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-AR-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-AR-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Martina" - ], - "romanized": [ - "Martina" - ] + "localized": ["Martina"], + "romanized": ["Martina"] }, { "id": "N-AR-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-AR-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Alma" - ], - "romanized": [ - "Alma" - ] + "localized": ["Alma"], + "romanized": ["Alma"] }, { "id": "N-AR-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Catalina" - ], - "romanized": [ - "Catalina" - ] + "localized": ["Catalina"], + "romanized": ["Catalina"] }, { "id": "N-AR-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-AR-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Ámbar" - ], - "romanized": [ - "Ámbar" - ] + "localized": ["Ámbar"], + "romanized": ["Ámbar"] }, { "id": "N-AR-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Victoria" - ], - "romanized": [ - "Victoria" - ] + "localized": ["Victoria"], + "romanized": ["Victoria"] }, { "id": "N-AR-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Delfina" - ], - "romanized": [ - "Delfina" - ] + "localized": ["Delfina"], + "romanized": ["Delfina"] }, { "id": "N-AR-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mateo" - ], - "romanized": [ - "Mateo" - ] + "localized": ["Mateo"], + "romanized": ["Mateo"] }, { "id": "N-AR-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Bautista" - ], - "romanized": [ - "Bautista" - ] + "localized": ["Bautista"], + "romanized": ["Bautista"] }, { "id": "N-AR-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Juan" - ], - "romanized": [ - "Juan" - ] + "localized": ["Juan"], + "romanized": ["Juan"] }, { "id": "N-AR-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Felipe" - ], - "romanized": [ - "Felipe" - ] + "localized": ["Felipe"], + "romanized": ["Felipe"] }, { "id": "N-AR-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Bruno" - ], - "romanized": [ - "Bruno" - ] + "localized": ["Bruno"], + "romanized": ["Bruno"] }, { "id": "N-AR-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-AR-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Benicio" - ], - "romanized": [ - "Benicio" - ] + "localized": ["Benicio"], + "romanized": ["Benicio"] }, { "id": "N-AR-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Thiago" - ], - "romanized": [ - "Thiago" - ] + "localized": ["Thiago"], + "romanized": ["Thiago"] }, { "id": "N-AR-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Ciro" - ], - "romanized": [ - "Ciro" - ] + "localized": ["Ciro"], + "romanized": ["Ciro"] }, { "id": "N-AR-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] } ] } @@ -1289,221 +845,141 @@ "id": "N-AT-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Marie" - ], - "romanized": [ - "Marie" - ] + "localized": ["Marie"], + "romanized": ["Marie"] }, { "id": "N-AT-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emilia" - ], - "romanized": [ - "Emilia" - ] + "localized": ["Emilia"], + "romanized": ["Emilia"] }, { "id": "N-AT-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Anna" - ], - "romanized": [ - "Anna" - ] + "localized": ["Anna"], + "romanized": ["Anna"] }, { "id": "N-AT-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-AT-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Lena" - ], - "romanized": [ - "Lena" - ] + "localized": ["Lena"], + "romanized": ["Lena"] }, { "id": "N-AT-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-AT-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Laura" - ], - "romanized": [ - "Laura" - ] + "localized": ["Laura"], + "romanized": ["Laura"] }, { "id": "N-AT-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Valentina" - ], - "romanized": [ - "Valentina" - ] + "localized": ["Valentina"], + "romanized": ["Valentina"] }, { "id": "N-AT-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Hannah" - ], - "romanized": [ - "Hannah" - ] + "localized": ["Hannah"], + "romanized": ["Hannah"] }, { "id": "N-AT-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Lea" - ], - "romanized": [ - "Lea" - ] + "localized": ["Lea"], + "romanized": ["Lea"] }, { "id": "N-AT-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Paul" - ], - "romanized": [ - "Paul" - ] + "localized": ["Paul"], + "romanized": ["Paul"] }, { "id": "N-AT-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Jakob" - ], - "romanized": [ - "Jakob" - ] + "localized": ["Jakob"], + "romanized": ["Jakob"] }, { "id": "N-AT-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Maximilian" - ], - "romanized": [ - "Maximilian" - ] + "localized": ["Maximilian"], + "romanized": ["Maximilian"] }, { "id": "N-AT-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Elias" - ], - "romanized": [ - "Elias" - ] + "localized": ["Elias"], + "romanized": ["Elias"] }, { "id": "N-AT-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "David" - ], - "romanized": [ - "David" - ] + "localized": ["David"], + "romanized": ["David"] }, { "id": "N-AT-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Felix" - ], - "romanized": [ - "Felix" - ] + "localized": ["Felix"], + "romanized": ["Felix"] }, { "id": "N-AT-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Leon" - ], - "romanized": [ - "Leon" - ] + "localized": ["Leon"], + "romanized": ["Leon"] }, { "id": "N-AT-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Tobias" - ], - "romanized": [ - "Tobias" - ] + "localized": ["Tobias"], + "romanized": ["Tobias"] }, { "id": "N-AT-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Jonas" - ], - "romanized": [ - "Jonas" - ] + "localized": ["Jonas"], + "romanized": ["Jonas"] }, { "id": "N-AT-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] } ] }, @@ -1516,221 +992,141 @@ "id": "N-AT-2-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sophia" - ], - "romanized": [ - "Sophia" - ] + "localized": ["Sophia"], + "romanized": ["Sophia"] }, { "id": "N-AT-2-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emilia" - ], - "romanized": [ - "Emilia" - ] + "localized": ["Emilia"], + "romanized": ["Emilia"] }, { "id": "N-AT-2-F-3", "rank": 3, "gender": "F", - "localized": [ - "Sara" - ], - "romanized": [ - "Sara" - ] + "localized": ["Sara"], + "romanized": ["Sara"] }, { "id": "N-AT-2-F-4", "rank": 4, "gender": "F", - "localized": [ - "Hannah" - ], - "romanized": [ - "Hannah" - ] + "localized": ["Hannah"], + "romanized": ["Hannah"] }, { "id": "N-AT-2-F-5", "rank": 5, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-AT-2-F-6", "rank": 6, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-AT-2-F-7", "rank": 7, "gender": "F", - "localized": [ - "Anna" - ], - "romanized": [ - "Anna" - ] + "localized": ["Anna"], + "romanized": ["Anna"] }, { "id": "N-AT-2-F-8", "rank": 8, "gender": "F", - "localized": [ - "Sophie" - ], - "romanized": [ - "Sophie" - ] + "localized": ["Sophie"], + "romanized": ["Sophie"] }, { "id": "N-AT-2-F-9", "rank": 9, "gender": "F", - "localized": [ - "Laura" - ], - "romanized": [ - "Laura" - ] + "localized": ["Laura"], + "romanized": ["Laura"] }, { "id": "N-AT-2-F-10", "rank": 10, "gender": "F", - "localized": [ - "Elena" - ], - "romanized": [ - "Elena" - ] + "localized": ["Elena"], + "romanized": ["Elena"] }, { "id": "N-AT-2-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mateo" - ], - "romanized": [ - "Mateo" - ] + "localized": ["Mateo"], + "romanized": ["Mateo"] }, { "id": "N-AT-2-M-2", "rank": 2, "gender": "M", - "localized": [ - "Luka" - ], - "romanized": [ - "Luka" - ] + "localized": ["Luka"], + "romanized": ["Luka"] }, { "id": "N-AT-2-M-3", "rank": 3, "gender": "M", - "localized": [ - "Theodor" - ], - "romanized": [ - "Theodor" - ] + "localized": ["Theodor"], + "romanized": ["Theodor"] }, { "id": "N-AT-2-M-4", "rank": 4, "gender": "M", - "localized": [ - "Elias" - ], - "romanized": [ - "Elias" - ] + "localized": ["Elias"], + "romanized": ["Elias"] }, { "id": "N-AT-2-M-5", "rank": 5, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-AT-2-M-6", "rank": 6, "gender": "M", - "localized": [ - "Felix" - ], - "romanized": [ - "Felix" - ] + "localized": ["Felix"], + "romanized": ["Felix"] }, { "id": "N-AT-2-M-7", "rank": 7, "gender": "M", - "localized": [ - "Mohammad" - ], - "romanized": [ - "Mohammad" - ] + "localized": ["Mohammad"], + "romanized": ["Mohammad"] }, { "id": "N-AT-2-M-8", "rank": 8, "gender": "M", - "localized": [ - "Alexander" - ], - "romanized": [ - "Alexander" - ] + "localized": ["Alexander"], + "romanized": ["Alexander"] }, { "id": "N-AT-2-M-9", "rank": 9, "gender": "M", - "localized": [ - "Adam" - ], - "romanized": [ - "Adam" - ] + "localized": ["Adam"], + "romanized": ["Adam"] }, { "id": "N-AT-2-M-10", "rank": 10, "gender": "M", - "localized": [ - "David" - ], - "romanized": [ - "David" - ] + "localized": ["David"], + "romanized": ["David"] } ] } @@ -1745,221 +1141,141 @@ "id": "N-AU-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Charlotte" - ], - "romanized": [ - "Charlotte" - ] + "localized": ["Charlotte"], + "romanized": ["Charlotte"] }, { "id": "N-AU-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-AU-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Isla" - ], - "romanized": [ - "Isla" - ] + "localized": ["Isla"], + "romanized": ["Isla"] }, { "id": "N-AU-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-AU-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-AU-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Ava" - ], - "romanized": [ - "Ava" - ] + "localized": ["Ava"], + "romanized": ["Ava"] }, { "id": "N-AU-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Matilda" - ], - "romanized": [ - "Matilda" - ] + "localized": ["Matilda"], + "romanized": ["Matilda"] }, { "id": "N-AU-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Ella" - ], - "romanized": [ - "Ella" - ] + "localized": ["Ella"], + "romanized": ["Ella"] }, { "id": "N-AU-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Grace" - ], - "romanized": [ - "Grace" - ] + "localized": ["Grace"], + "romanized": ["Grace"] }, { "id": "N-AU-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Willow" - ], - "romanized": [ - "Willow" - ] + "localized": ["Willow"], + "romanized": ["Willow"] }, { "id": "N-AU-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] }, { "id": "N-AU-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-AU-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-AU-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "William" - ], - "romanized": [ - "William" - ] + "localized": ["William"], + "romanized": ["William"] }, { "id": "N-AU-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Henry" - ], - "romanized": [ - "Henry" - ] + "localized": ["Henry"], + "romanized": ["Henry"] }, { "id": "N-AU-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Jack" - ], - "romanized": [ - "Jack" - ] + "localized": ["Jack"], + "romanized": ["Jack"] }, { "id": "N-AU-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Theodore" - ], - "romanized": [ - "Theodore" - ] + "localized": ["Theodore"], + "romanized": ["Theodore"] }, { "id": "N-AU-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Hudson" - ], - "romanized": [ - "Hudson" - ] + "localized": ["Hudson"], + "romanized": ["Hudson"] }, { "id": "N-AU-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Charlie" - ], - "romanized": [ - "Charlie" - ] + "localized": ["Charlie"], + "romanized": ["Charlie"] }, { "id": "N-AU-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Luca" - ], - "romanized": [ - "Luca" - ] + "localized": ["Luca"], + "romanized": ["Luca"] } ] } @@ -1974,111 +1290,71 @@ "id": "N-AW-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Alysha" - ], - "romanized": [ - "Alysha" - ] + "localized": ["Alysha"], + "romanized": ["Alysha"] }, { "id": "N-AW-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-AW-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Isabelle" - ], - "romanized": [ - "Isabelle" - ] + "localized": ["Isabelle"], + "romanized": ["Isabelle"] }, { "id": "N-AW-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Emily" - ], - "romanized": [ - "Emily" - ] + "localized": ["Emily"], + "romanized": ["Emily"] }, { "id": "N-AW-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Emely" - ], - "romanized": [ - "Emely" - ] + "localized": ["Emely"], + "romanized": ["Emely"] }, { "id": "N-AW-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Daniel" - ], - "romanized": [ - "Daniel" - ] + "localized": ["Daniel"], + "romanized": ["Daniel"] }, { "id": "N-AW-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Dylan" - ], - "romanized": [ - "Dylan" - ] + "localized": ["Dylan"], + "romanized": ["Dylan"] }, { "id": "N-AW-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Dyllan" - ], - "romanized": [ - "Dyllan" - ] + "localized": ["Dyllan"], + "romanized": ["Dyllan"] }, { "id": "N-AW-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Kevin" - ], - "romanized": [ - "Kevin" - ] + "localized": ["Kevin"], + "romanized": ["Kevin"] }, { "id": "N-AW-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Keven" - ], - "romanized": [ - "Keven" - ] + "localized": ["Keven"], + "romanized": ["Keven"] } ] } @@ -2093,111 +1369,71 @@ "id": "N-AZ-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-AZ-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Elchin" - ], - "romanized": [ - "Elchin" - ] + "localized": ["Elchin"], + "romanized": ["Elchin"] }, { "id": "N-AZ-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Vugar" - ], - "romanized": [ - "Vugar" - ] + "localized": ["Vugar"], + "romanized": ["Vugar"] }, { "id": "N-AZ-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Anar" - ], - "romanized": [ - "Anar" - ] + "localized": ["Anar"], + "romanized": ["Anar"] }, { "id": "N-AZ-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Elnur" - ], - "romanized": [ - "Elnur" - ] + "localized": ["Elnur"], + "romanized": ["Elnur"] }, { "id": "N-AZ-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Samir" - ], - "romanized": [ - "Samir" - ] + "localized": ["Samir"], + "romanized": ["Samir"] }, { "id": "N-AZ-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Elshan" - ], - "romanized": [ - "Elshan" - ] + "localized": ["Elshan"], + "romanized": ["Elshan"] }, { "id": "N-AZ-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Rashad" - ], - "romanized": [ - "Rashad" - ] + "localized": ["Rashad"], + "romanized": ["Rashad"] }, { "id": "N-AZ-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Ilgar" - ], - "romanized": [ - "Ilgar" - ] + "localized": ["Ilgar"], + "romanized": ["Ilgar"] }, { "id": "N-AZ-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Vusal" - ], - "romanized": [ - "Vusal" - ] + "localized": ["Vusal"], + "romanized": ["Vusal"] } ] }, @@ -2210,210 +1446,134 @@ "id": "N-AZ-2-F-1", "rank": 1, "gender": "F", - "localized": [ - "Zahra" - ], - "romanized": [ - "Zahra" - ] + "localized": ["Zahra"], + "romanized": ["Zahra"] }, { "id": "N-AZ-2-F-2", "rank": 2, "gender": "F", - "localized": [ - "Aylin" - ], - "romanized": [ - "Aylin" - ] + "localized": ["Aylin"], + "romanized": ["Aylin"] }, { "id": "N-AZ-2-F-3", "rank": 3, "gender": "F", - "localized": [ - "Zeynab" - ], - "romanized": [ - "Zeynab" - ] + "localized": ["Zeynab"], + "romanized": ["Zeynab"] }, { "id": "N-AZ-2-F-4", "rank": 4, "gender": "F", - "localized": [ - "Maryam" - ], - "romanized": [ - "Maryam" - ] + "localized": ["Maryam"], + "romanized": ["Maryam"] }, { "id": "N-AZ-2-F-5", "rank": 5, "gender": "F", - "localized": [ - "Fatima" - ], - "romanized": [ - "Fatima" - ] + "localized": ["Fatima"], + "romanized": ["Fatima"] }, { "id": "N-AZ-2-F-6", "rank": 6, "gender": "F", - "localized": [ - "Nilay" - ], - "romanized": [ - "Nilay" - ] + "localized": ["Nilay"], + "romanized": ["Nilay"] }, { "id": "N-AZ-2-F-7", "rank": 7, "gender": "F", - "localized": [ - "Malak" - ], - "romanized": [ - "Malak" - ] + "localized": ["Malak"], + "romanized": ["Malak"] }, { "id": "N-AZ-2-F-8", "rank": 8, "gender": "F", - "localized": [ - "Ayla" - ], - "romanized": [ - "Ayla" - ] + "localized": ["Ayla"], + "romanized": ["Ayla"] }, { "id": "N-AZ-2-F-9", "rank": 9, "gender": "F", - "localized": [ - "İnci" - ], - "romanized": [ - "İnci" - ] + "localized": ["İnci"], + "romanized": ["İnci"] }, { "id": "N-AZ-2-F-10", "rank": 10, "gender": "F", - "localized": [ - "Nuray" - ], - "romanized": [ - "Nuray" - ] + "localized": ["Nuray"], + "romanized": ["Nuray"] }, { "id": "N-AZ-2-M-1", "rank": 1, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-AZ-2-M-2", "rank": 2, "gender": "M", - "localized": [ - "Huseyn" - ], - "romanized": [ - "Huseyn" - ] + "localized": ["Huseyn"], + "romanized": ["Huseyn"] }, { "id": "N-AZ-2-M-3", "rank": 3, "gender": "M", - "localized": [ - "Yusif" - ], - "romanized": [ - "Yusif" - ] + "localized": ["Yusif"], + "romanized": ["Yusif"] }, { "id": "N-AZ-2-M-4", "rank": 4, "gender": "M", - "localized": [ - "Mahammad" - ], - "romanized": [ - "Mahammad" - ] + "localized": ["Mahammad"], + "romanized": ["Mahammad"] }, { "id": "N-AZ-2-M-5", "rank": 5, "gender": "M", - "localized": [ - "Raul" - ], - "romanized": [ - "Raul" - ] + "localized": ["Raul"], + "romanized": ["Raul"] }, { "id": "N-AZ-2-M-6", "rank": 6, "gender": "M", - "localized": [ - "Omar" - ], - "romanized": [ - "Omar" - ] + "localized": ["Omar"], + "romanized": ["Omar"] }, { "id": "N-AZ-2-M-7", "rank": 7, "gender": "M", - "localized": [ - "Murad" - ], - "romanized": [ - "Murad" - ] + "localized": ["Murad"], + "romanized": ["Murad"] }, { "id": "N-AZ-2-M-8", "rank": 8, "gender": "M", - "localized": [ - "Adam" - ], - "romanized": [ - "Adam" - ] + "localized": ["Adam"], + "romanized": ["Adam"] }, { "id": "N-AZ-2-M-9", "rank": 9, "gender": "M", - "localized": [ - "Tunar" - ], - "romanized": [ - "Tunar" - ] + "localized": ["Tunar"], + "romanized": ["Tunar"] } ] }, @@ -2426,111 +1586,71 @@ "id": "N-AZ-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sevinj" - ], - "romanized": [ - "Sevinj" - ] + "localized": ["Sevinj"], + "romanized": ["Sevinj"] }, { "id": "N-AZ-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Gunel" - ], - "romanized": [ - "Gunel" - ] + "localized": ["Gunel"], + "romanized": ["Gunel"] }, { "id": "N-AZ-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Leyla" - ], - "romanized": [ - "Leyla" - ] + "localized": ["Leyla"], + "romanized": ["Leyla"] }, { "id": "N-AZ-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Aygun" - ], - "romanized": [ - "Aygun" - ] + "localized": ["Aygun"], + "romanized": ["Aygun"] }, { "id": "N-AZ-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Gunay" - ], - "romanized": [ - "Gunay" - ] + "localized": ["Gunay"], + "romanized": ["Gunay"] }, { "id": "N-AZ-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Sevda" - ], - "romanized": [ - "Sevda" - ] + "localized": ["Sevda"], + "romanized": ["Sevda"] }, { "id": "N-AZ-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Vusala" - ], - "romanized": [ - "Vusala" - ] + "localized": ["Vusala"], + "romanized": ["Vusala"] }, { "id": "N-AZ-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Konul" - ], - "romanized": [ - "Konul" - ] + "localized": ["Konul"], + "romanized": ["Konul"] }, { "id": "N-AZ-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Aysel" - ], - "romanized": [ - "Aysel" - ] + "localized": ["Aysel"], + "romanized": ["Aysel"] }, { "id": "N-AZ-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Tarana" - ], - "romanized": [ - "Tarana" - ] + "localized": ["Tarana"], + "romanized": ["Tarana"] } ] } @@ -2545,221 +1665,141 @@ "id": "N-BA-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sara" - ], - "romanized": [ - "Sara" - ] + "localized": ["Sara"], + "romanized": ["Sara"] }, { "id": "N-BA-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Merjem" - ], - "romanized": [ - "Merjem" - ] + "localized": ["Merjem"], + "romanized": ["Merjem"] }, { "id": "N-BA-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Asja" - ], - "romanized": [ - "Asja" - ] + "localized": ["Asja"], + "romanized": ["Asja"] }, { "id": "N-BA-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Esma" - ], - "romanized": [ - "Esma" - ] + "localized": ["Esma"], + "romanized": ["Esma"] }, { "id": "N-BA-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Amina" - ], - "romanized": [ - "Amina" - ] + "localized": ["Amina"], + "romanized": ["Amina"] }, { "id": "N-BA-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Ema" - ], - "romanized": [ - "Ema" - ] + "localized": ["Ema"], + "romanized": ["Ema"] }, { "id": "N-BA-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Hana" - ], - "romanized": [ - "Hana" - ] + "localized": ["Hana"], + "romanized": ["Hana"] }, { "id": "N-BA-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Lejla" - ], - "romanized": [ - "Lejla" - ] + "localized": ["Lejla"], + "romanized": ["Lejla"] }, { "id": "N-BA-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Lamija" - ], - "romanized": [ - "Lamija" - ] + "localized": ["Lamija"], + "romanized": ["Lamija"] }, { "id": "N-BA-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Dalila" - ], - "romanized": [ - "Dalila" - ] + "localized": ["Dalila"], + "romanized": ["Dalila"] }, { "id": "N-BA-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Davud" - ], - "romanized": [ - "Davud" - ] + "localized": ["Davud"], + "romanized": ["Davud"] }, { "id": "N-BA-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Ahmed" - ], - "romanized": [ - "Ahmed" - ] + "localized": ["Ahmed"], + "romanized": ["Ahmed"] }, { "id": "N-BA-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Hamza" - ], - "romanized": [ - "Hamza" - ] + "localized": ["Hamza"], + "romanized": ["Hamza"] }, { "id": "N-BA-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Amar" - ], - "romanized": [ - "Amar" - ] + "localized": ["Amar"], + "romanized": ["Amar"] }, { "id": "N-BA-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Adin" - ], - "romanized": [ - "Adin" - ] + "localized": ["Adin"], + "romanized": ["Adin"] }, { "id": "N-BA-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Džan" - ], - "romanized": [ - "Džan" - ] + "localized": ["Džan"], + "romanized": ["Džan"] }, { "id": "N-BA-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Daris" - ], - "romanized": [ - "Daris" - ] + "localized": ["Daris"], + "romanized": ["Daris"] }, { "id": "N-BA-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Eman" - ], - "romanized": [ - "Eman" - ] + "localized": ["Eman"], + "romanized": ["Eman"] }, { "id": "N-BA-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Harun" - ], - "romanized": [ - "Harun" - ] + "localized": ["Harun"], + "romanized": ["Harun"] }, { "id": "N-BA-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] } ] } @@ -2774,111 +1814,71 @@ "id": "N-BD-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mohammed" - ], - "romanized": [ - "Mohammed" - ] + "localized": ["Mohammed"], + "romanized": ["Mohammed"] }, { "id": "N-BD-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Mohammad" - ], - "romanized": [ - "Mohammad" - ] + "localized": ["Mohammad"], + "romanized": ["Mohammad"] }, { "id": "N-BD-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Abdul" - ], - "romanized": [ - "Abdul" - ] + "localized": ["Abdul"], + "romanized": ["Abdul"] }, { "id": "N-BD-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Muhammad" - ], - "romanized": [ - "Muhammad" - ] + "localized": ["Muhammad"], + "romanized": ["Muhammad"] }, { "id": "N-BD-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Abdullah" - ], - "romanized": [ - "Abdullah" - ] + "localized": ["Abdullah"], + "romanized": ["Abdullah"] }, { "id": "N-BD-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Ahmed" - ], - "romanized": [ - "Ahmed" - ] + "localized": ["Ahmed"], + "romanized": ["Ahmed"] }, { "id": "N-BD-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Syed" - ], - "romanized": [ - "Syed" - ] + "localized": ["Syed"], + "romanized": ["Syed"] }, { "id": "N-BD-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Kazi" - ], - "romanized": [ - "Kazi" - ] + "localized": ["Kazi"], + "romanized": ["Kazi"] }, { "id": "N-BD-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Sheikh" - ], - "romanized": [ - "Sheikh" - ] + "localized": ["Sheikh"], + "romanized": ["Sheikh"] }, { "id": "N-BD-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Hasan" - ], - "romanized": [ - "Hasan" - ] + "localized": ["Hasan"], + "romanized": ["Hasan"] } ] } @@ -2893,221 +1893,141 @@ "id": "N-BE-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-BE-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-BE-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Louise" - ], - "romanized": [ - "Louise" - ] + "localized": ["Louise"], + "romanized": ["Louise"] }, { "id": "N-BE-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Mila" - ], - "romanized": [ - "Mila" - ] + "localized": ["Mila"], + "romanized": ["Mila"] }, { "id": "N-BE-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Alice" - ], - "romanized": [ - "Alice" - ] + "localized": ["Alice"], + "romanized": ["Alice"] }, { "id": "N-BE-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Camille" - ], - "romanized": [ - "Camille" - ] + "localized": ["Camille"], + "romanized": ["Camille"] }, { "id": "N-BE-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Lina" - ], - "romanized": [ - "Lina" - ] + "localized": ["Lina"], + "romanized": ["Lina"] }, { "id": "N-BE-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-BE-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Ella" - ], - "romanized": [ - "Ella" - ] + "localized": ["Ella"], + "romanized": ["Ella"] }, { "id": "N-BE-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Juliette" - ], - "romanized": [ - "Juliette" - ] + "localized": ["Juliette"], + "romanized": ["Juliette"] }, { "id": "N-BE-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Arthur" - ], - "romanized": [ - "Arthur" - ] + "localized": ["Arthur"], + "romanized": ["Arthur"] }, { "id": "N-BE-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-BE-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Louis" - ], - "romanized": [ - "Louis" - ] + "localized": ["Louis"], + "romanized": ["Louis"] }, { "id": "N-BE-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-BE-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Jules" - ], - "romanized": [ - "Jules" - ] + "localized": ["Jules"], + "romanized": ["Jules"] }, { "id": "N-BE-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Adam" - ], - "romanized": [ - "Adam" - ] + "localized": ["Adam"], + "romanized": ["Adam"] }, { "id": "N-BE-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-BE-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Gabriel" - ], - "romanized": [ - "Gabriel" - ] + "localized": ["Gabriel"], + "romanized": ["Gabriel"] }, { "id": "N-BE-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Victor" - ], - "romanized": [ - "Victor" - ] + "localized": ["Victor"], + "romanized": ["Victor"] }, { "id": "N-BE-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Oscar" - ], - "romanized": [ - "Oscar" - ] + "localized": ["Oscar"], + "romanized": ["Oscar"] } ] } @@ -3122,221 +2042,141 @@ "id": "N-BO-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Martha" - ], - "romanized": [ - "Martha" - ] + "localized": ["Martha"], + "romanized": ["Martha"] }, { "id": "N-BO-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Roxana" - ], - "romanized": [ - "Roxana" - ] + "localized": ["Roxana"], + "romanized": ["Roxana"] }, { "id": "N-BO-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Ana Maria" - ], - "romanized": [ - "Ana Maria" - ] + "localized": ["Ana Maria"], + "romanized": ["Ana Maria"] }, { "id": "N-BO-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Elizabeth" - ], - "romanized": [ - "Elizabeth" - ] + "localized": ["Elizabeth"], + "romanized": ["Elizabeth"] }, { "id": "N-BO-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Sonia" - ], - "romanized": [ - "Sonia" - ] + "localized": ["Sonia"], + "romanized": ["Sonia"] }, { "id": "N-BO-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Juana" - ], - "romanized": [ - "Juana" - ] + "localized": ["Juana"], + "romanized": ["Juana"] }, { "id": "N-BO-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Patricia" - ], - "romanized": [ - "Patricia" - ] + "localized": ["Patricia"], + "romanized": ["Patricia"] }, { "id": "N-BO-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Lidia" - ], - "romanized": [ - "Lidia" - ] + "localized": ["Lidia"], + "romanized": ["Lidia"] }, { "id": "N-BO-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Rosmery" - ], - "romanized": [ - "Rosmery" - ] + "localized": ["Rosmery"], + "romanized": ["Rosmery"] }, { "id": "N-BO-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Carmen" - ], - "romanized": [ - "Carmen" - ] + "localized": ["Carmen"], + "romanized": ["Carmen"] }, { "id": "N-BO-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Juan Carlos" - ], - "romanized": [ - "Juan Carlos" - ] + "localized": ["Juan Carlos"], + "romanized": ["Juan Carlos"] }, { "id": "N-BO-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "José Luis" - ], - "romanized": [ - "José Luis" - ] + "localized": ["José Luis"], + "romanized": ["José Luis"] }, { "id": "N-BO-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Marco Antonio" - ], - "romanized": [ - "Marco Antonio" - ] + "localized": ["Marco Antonio"], + "romanized": ["Marco Antonio"] }, { "id": "N-BO-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Miguel Ángel" - ], - "romanized": [ - "Miguel Ángel" - ] + "localized": ["Miguel Ángel"], + "romanized": ["Miguel Ángel"] }, { "id": "N-BO-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Juan" - ], - "romanized": [ - "Juan" - ] + "localized": ["Juan"], + "romanized": ["Juan"] }, { "id": "N-BO-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Mario" - ], - "romanized": [ - "Mario" - ] + "localized": ["Mario"], + "romanized": ["Mario"] }, { "id": "N-BO-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "David" - ], - "romanized": [ - "David" - ] + "localized": ["David"], + "romanized": ["David"] }, { "id": "N-BO-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Ferndo" - ], - "romanized": [ - "Ferndo" - ] + "localized": ["Ferndo"], + "romanized": ["Ferndo"] }, { "id": "N-BO-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Victor Hugo" - ], - "romanized": [ - "Victor Hugo" - ] + "localized": ["Victor Hugo"], + "romanized": ["Victor Hugo"] }, { "id": "N-BO-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Jorge" - ], - "romanized": [ - "Jorge" - ] + "localized": ["Jorge"], + "romanized": ["Jorge"] } ] } @@ -3351,221 +2191,141 @@ "id": "N-BR-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Maria" - ], - "romanized": [ - "Maria" - ] + "localized": ["Maria"], + "romanized": ["Maria"] }, { "id": "N-BR-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Ana" - ], - "romanized": [ - "Ana" - ] + "localized": ["Ana"], + "romanized": ["Ana"] }, { "id": "N-BR-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Francisca" - ], - "romanized": [ - "Francisca" - ] + "localized": ["Francisca"], + "romanized": ["Francisca"] }, { "id": "N-BR-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Antônia" - ], - "romanized": [ - "Antônia" - ] + "localized": ["Antônia"], + "romanized": ["Antônia"] }, { "id": "N-BR-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Adriana" - ], - "romanized": [ - "Adriana" - ] + "localized": ["Adriana"], + "romanized": ["Adriana"] }, { "id": "N-BR-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Juliana" - ], - "romanized": [ - "Juliana" - ] + "localized": ["Juliana"], + "romanized": ["Juliana"] }, { "id": "N-BR-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Marcia" - ], - "romanized": [ - "Marcia" - ] + "localized": ["Marcia"], + "romanized": ["Marcia"] }, { "id": "N-BR-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Fernanda" - ], - "romanized": [ - "Fernanda" - ] + "localized": ["Fernanda"], + "romanized": ["Fernanda"] }, { "id": "N-BR-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Patrícia" - ], - "romanized": [ - "Patrícia" - ] + "localized": ["Patrícia"], + "romanized": ["Patrícia"] }, { "id": "N-BR-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Aline" - ], - "romanized": [ - "Aline" - ] + "localized": ["Aline"], + "romanized": ["Aline"] }, { "id": "N-BR-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "José" - ], - "romanized": [ - "José" - ] + "localized": ["José"], + "romanized": ["José"] }, { "id": "N-BR-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "João" - ], - "romanized": [ - "João" - ] + "localized": ["João"], + "romanized": ["João"] }, { "id": "N-BR-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Antônio" - ], - "romanized": [ - "Antônio" - ] + "localized": ["Antônio"], + "romanized": ["Antônio"] }, { "id": "N-BR-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Francisco" - ], - "romanized": [ - "Francisco" - ] + "localized": ["Francisco"], + "romanized": ["Francisco"] }, { "id": "N-BR-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Carlos" - ], - "romanized": [ - "Carlos" - ] + "localized": ["Carlos"], + "romanized": ["Carlos"] }, { "id": "N-BR-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Paulo" - ], - "romanized": [ - "Paulo" - ] + "localized": ["Paulo"], + "romanized": ["Paulo"] }, { "id": "N-BR-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Pedro" - ], - "romanized": [ - "Pedro" - ] + "localized": ["Pedro"], + "romanized": ["Pedro"] }, { "id": "N-BR-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-BR-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Luiz" - ], - "romanized": [ - "Luiz" - ] + "localized": ["Luiz"], + "romanized": ["Luiz"] }, { "id": "N-BR-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Marcos" - ], - "romanized": [ - "Marcos" - ] + "localized": ["Marcos"], + "romanized": ["Marcos"] } ] }, @@ -3578,221 +2338,141 @@ "id": "N-BR-2-F-1", "rank": 1, "gender": "F", - "localized": [ - "Helena" - ], - "romanized": [ - "Helena" - ] + "localized": ["Helena"], + "romanized": ["Helena"] }, { "id": "N-BR-2-F-2", "rank": 2, "gender": "F", - "localized": [ - "Alice" - ], - "romanized": [ - "Alice" - ] + "localized": ["Alice"], + "romanized": ["Alice"] }, { "id": "N-BR-2-F-3", "rank": 3, "gender": "F", - "localized": [ - "Laura" - ], - "romanized": [ - "Laura" - ] + "localized": ["Laura"], + "romanized": ["Laura"] }, { "id": "N-BR-2-F-4", "rank": 4, "gender": "F", - "localized": [ - "Maria Alice" - ], - "romanized": [ - "Maria Alice" - ] + "localized": ["Maria Alice"], + "romanized": ["Maria Alice"] }, { "id": "N-BR-2-F-5", "rank": 5, "gender": "F", - "localized": [ - "Sophia" - ], - "romanized": [ - "Sophia" - ] + "localized": ["Sophia"], + "romanized": ["Sophia"] }, { "id": "N-BR-2-F-6", "rank": 6, "gender": "F", - "localized": [ - "Manuela" - ], - "romanized": [ - "Manuela" - ] + "localized": ["Manuela"], + "romanized": ["Manuela"] }, { "id": "N-BR-2-F-7", "rank": 7, "gender": "F", - "localized": [ - "Maitê" - ], - "romanized": [ - "Maitê" - ] + "localized": ["Maitê"], + "romanized": ["Maitê"] }, { "id": "N-BR-2-F-8", "rank": 8, "gender": "F", - "localized": [ - "Liz" - ], - "romanized": [ - "Liz" - ] + "localized": ["Liz"], + "romanized": ["Liz"] }, { "id": "N-BR-2-F-9", "rank": 9, "gender": "F", - "localized": [ - "Cecília" - ], - "romanized": [ - "Cecília" - ] + "localized": ["Cecília"], + "romanized": ["Cecília"] }, { "id": "N-BR-2-F-10", "rank": 10, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-BR-2-M-1", "rank": 1, "gender": "M", - "localized": [ - "Miguel" - ], - "romanized": [ - "Miguel" - ] + "localized": ["Miguel"], + "romanized": ["Miguel"] }, { "id": "N-BR-2-M-2", "rank": 2, "gender": "M", - "localized": [ - "Arthur" - ], - "romanized": [ - "Arthur" - ] + "localized": ["Arthur"], + "romanized": ["Arthur"] }, { "id": "N-BR-2-M-3", "rank": 3, "gender": "M", - "localized": [ - "Gael" - ], - "romanized": [ - "Gael" - ] + "localized": ["Gael"], + "romanized": ["Gael"] }, { "id": "N-BR-2-M-4", "rank": 4, "gender": "M", - "localized": [ - "Théo" - ], - "romanized": [ - "Théo" - ] + "localized": ["Théo"], + "romanized": ["Théo"] }, { "id": "N-BR-2-M-5", "rank": 5, "gender": "M", - "localized": [ - "Heitor" - ], - "romanized": [ - "Heitor" - ] + "localized": ["Heitor"], + "romanized": ["Heitor"] }, { "id": "N-BR-2-M-6", "rank": 6, "gender": "M", - "localized": [ - "Ravi" - ], - "romanized": [ - "Ravi" - ] + "localized": ["Ravi"], + "romanized": ["Ravi"] }, { "id": "N-BR-2-M-7", "rank": 7, "gender": "M", - "localized": [ - "Davi" - ], - "romanized": [ - "Davi" - ] + "localized": ["Davi"], + "romanized": ["Davi"] }, { "id": "N-BR-2-M-8", "rank": 8, "gender": "M", - "localized": [ - "Berrdo" - ], - "romanized": [ - "Berrdo" - ] + "localized": ["Berrdo"], + "romanized": ["Berrdo"] }, { "id": "N-BR-2-M-9", "rank": 9, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-BR-2-M-10", "rank": 10, "gender": "M", - "localized": [ - "Gabriel" - ], - "romanized": [ - "Gabriel" - ] + "localized": ["Gabriel"], + "romanized": ["Gabriel"] } ] } @@ -3807,78 +2487,50 @@ "id": "N-BY-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Alisa" - ], - "romanized": [ - "Alisa" - ] + "localized": ["Alisa"], + "romanized": ["Alisa"] }, { "id": "N-BY-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Hanna" - ], - "romanized": [ - "Hanna" - ] + "localized": ["Hanna"], + "romanized": ["Hanna"] }, { "id": "N-BY-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Maryja" - ], - "romanized": [ - "Maryja" - ] + "localized": ["Maryja"], + "romanized": ["Maryja"] }, { "id": "N-BY-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Safija" - ], - "romanized": [ - "Safija" - ] + "localized": ["Safija"], + "romanized": ["Safija"] }, { "id": "N-BY-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Maksim" - ], - "romanized": [ - "Maksim" - ] + "localized": ["Maksim"], + "romanized": ["Maksim"] }, { "id": "N-BY-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Mark" - ], - "romanized": [ - "Mark" - ] + "localized": ["Mark"], + "romanized": ["Mark"] }, { "id": "N-BY-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Michail" - ], - "romanized": [ - "Michail" - ] + "localized": ["Michail"], + "romanized": ["Michail"] } ] } @@ -3893,232 +2545,148 @@ "id": "N-CA-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-CA-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-CA-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Charlotte" - ], - "romanized": [ - "Charlotte" - ] + "localized": ["Charlotte"], + "romanized": ["Charlotte"] }, { "id": "N-CA-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-CA-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Ava" - ], - "romanized": [ - "Ava" - ] + "localized": ["Ava"], + "romanized": ["Ava"] }, { "id": "N-CA-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Sophia" - ], - "romanized": [ - "Sophia" - ] + "localized": ["Sophia"], + "romanized": ["Sophia"] }, { "id": "N-CA-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Chloe" - ], - "romanized": [ - "Chloe" - ] + "localized": ["Chloe"], + "romanized": ["Chloe"] }, { "id": "N-CA-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-CA-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Mila" - ], - "romanized": [ - "Mila" - ] + "localized": ["Mila"], + "romanized": ["Mila"] }, { "id": "N-CA-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Isla" - ], - "romanized": [ - "Isla" - ] + "localized": ["Isla"], + "romanized": ["Isla"] }, { "id": "N-CA-1-F-11", "rank": 11, "gender": "F", - "localized": [ - "Alice" - ], - "romanized": [ - "Alice" - ] + "localized": ["Alice"], + "romanized": ["Alice"] }, { "id": "N-CA-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-CA-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-CA-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "William" - ], - "romanized": [ - "William" - ] + "localized": ["William"], + "romanized": ["William"] }, { "id": "N-CA-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-CA-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Benjamin" - ], - "romanized": [ - "Benjamin" - ] + "localized": ["Benjamin"], + "romanized": ["Benjamin"] }, { "id": "N-CA-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Theodore" - ], - "romanized": [ - "Theodore" - ] + "localized": ["Theodore"], + "romanized": ["Theodore"] }, { "id": "N-CA-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Jack" - ], - "romanized": [ - "Jack" - ] + "localized": ["Jack"], + "romanized": ["Jack"] }, { "id": "N-CA-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Thomas" - ], - "romanized": [ - "Thomas" - ] + "localized": ["Thomas"], + "romanized": ["Thomas"] }, { "id": "N-CA-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Logan" - ], - "romanized": [ - "Logan" - ] + "localized": ["Logan"], + "romanized": ["Logan"] }, { "id": "N-CA-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] } ] }, @@ -4131,221 +2699,141 @@ "id": "N-CA-2-F-1", "rank": 1, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-CA-2-F-2", "rank": 2, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-CA-2-F-3", "rank": 3, "gender": "F", - "localized": [ - "Charlotte" - ], - "romanized": [ - "Charlotte" - ] + "localized": ["Charlotte"], + "romanized": ["Charlotte"] }, { "id": "N-CA-2-F-4", "rank": 4, "gender": "F", - "localized": [ - "Charlie" - ], - "romanized": [ - "Charlie" - ] + "localized": ["Charlie"], + "romanized": ["Charlie"] }, { "id": "N-CA-2-F-5", "rank": 5, "gender": "F", - "localized": [ - "Florence" - ], - "romanized": [ - "Florence" - ] + "localized": ["Florence"], + "romanized": ["Florence"] }, { "id": "N-CA-2-F-6", "rank": 6, "gender": "F", - "localized": [ - "Alice" - ], - "romanized": [ - "Alice" - ] + "localized": ["Alice"], + "romanized": ["Alice"] }, { "id": "N-CA-2-F-7", "rank": 7, "gender": "F", - "localized": [ - "Léa" - ], - "romanized": [ - "Léa" - ] + "localized": ["Léa"], + "romanized": ["Léa"] }, { "id": "N-CA-2-F-8", "rank": 8, "gender": "F", - "localized": [ - "Livia" - ], - "romanized": [ - "Livia" - ] + "localized": ["Livia"], + "romanized": ["Livia"] }, { "id": "N-CA-2-F-9", "rank": 9, "gender": "F", - "localized": [ - "Rose" - ], - "romanized": [ - "Rose" - ] + "localized": ["Rose"], + "romanized": ["Rose"] }, { "id": "N-CA-2-F-10", "rank": 10, "gender": "F", - "localized": [ - "Juliette" - ], - "romanized": [ - "Juliette" - ] + "localized": ["Juliette"], + "romanized": ["Juliette"] }, { "id": "N-CA-2-M-1", "rank": 1, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-CA-2-M-2", "rank": 2, "gender": "M", - "localized": [ - "William" - ], - "romanized": [ - "William" - ] + "localized": ["William"], + "romanized": ["William"] }, { "id": "N-CA-2-M-3", "rank": 3, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-CA-2-M-4", "rank": 4, "gender": "M", - "localized": [ - "Thomas" - ], - "romanized": [ - "Thomas" - ] + "localized": ["Thomas"], + "romanized": ["Thomas"] }, { "id": "N-CA-2-M-5", "rank": 5, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-CA-2-M-6", "rank": 6, "gender": "M", - "localized": [ - "Édouard" - ], - "romanized": [ - "Édouard" - ] + "localized": ["Édouard"], + "romanized": ["Édouard"] }, { "id": "N-CA-2-M-7", "rank": 7, "gender": "M", - "localized": [ - "Jacob" - ], - "romanized": [ - "Jacob" - ] + "localized": ["Jacob"], + "romanized": ["Jacob"] }, { "id": "N-CA-2-M-8", "rank": 8, "gender": "M", - "localized": [ - "Arthur" - ], - "romanized": [ - "Arthur" - ] + "localized": ["Arthur"], + "romanized": ["Arthur"] }, { "id": "N-CA-2-M-9", "rank": 9, "gender": "M", - "localized": [ - "Louis" - ], - "romanized": [ - "Louis" - ] + "localized": ["Louis"], + "romanized": ["Louis"] }, { "id": "N-CA-2-M-10", "rank": 10, "gender": "M", - "localized": [ - "Nathan" - ], - "romanized": [ - "Nathan" - ] + "localized": ["Nathan"], + "romanized": ["Nathan"] } ] } @@ -4360,221 +2848,141 @@ "id": "N-CH-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-CH-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-CH-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Elena" - ], - "romanized": [ - "Elena" - ] + "localized": ["Elena"], + "romanized": ["Elena"] }, { "id": "N-CH-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Lina" - ], - "romanized": [ - "Lina" - ] + "localized": ["Lina"], + "romanized": ["Lina"] }, { "id": "N-CH-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Mila" - ], - "romanized": [ - "Mila" - ] + "localized": ["Mila"], + "romanized": ["Mila"] }, { "id": "N-CH-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Emilia" - ], - "romanized": [ - "Emilia" - ] + "localized": ["Emilia"], + "romanized": ["Emilia"] }, { "id": "N-CH-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-CH-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-CH-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Nora" - ], - "romanized": [ - "Nora" - ] + "localized": ["Nora"], + "romanized": ["Nora"] }, { "id": "N-CH-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Alina" - ], - "romanized": [ - "Alina" - ] + "localized": ["Alina"], + "romanized": ["Alina"] }, { "id": "N-CH-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-CH-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-CH-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Matteo" - ], - "romanized": [ - "Matteo" - ] + "localized": ["Matteo"], + "romanized": ["Matteo"] }, { "id": "N-CH-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Luca" - ], - "romanized": [ - "Luca" - ] + "localized": ["Luca"], + "romanized": ["Luca"] }, { "id": "N-CH-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Gabriel" - ], - "romanized": [ - "Gabriel" - ] + "localized": ["Gabriel"], + "romanized": ["Gabriel"] }, { "id": "N-CH-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Leon" - ], - "romanized": [ - "Leon" - ] + "localized": ["Leon"], + "romanized": ["Leon"] }, { "id": "N-CH-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Elias" - ], - "romanized": [ - "Elias" - ] + "localized": ["Elias"], + "romanized": ["Elias"] }, { "id": "N-CH-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Louis" - ], - "romanized": [ - "Louis" - ] + "localized": ["Louis"], + "romanized": ["Louis"] }, { "id": "N-CH-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Lio" - ], - "romanized": [ - "Lio" - ] + "localized": ["Lio"], + "romanized": ["Lio"] }, { "id": "N-CH-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Nino" - ], - "romanized": [ - "Nino" - ] + "localized": ["Nino"], + "romanized": ["Nino"] } ] } @@ -4589,221 +2997,141 @@ "id": "N-CL-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-CL-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-CL-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Sofía" - ], - "romanized": [ - "Sofía" - ] + "localized": ["Sofía"], + "romanized": ["Sofía"] }, { "id": "N-CL-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Emilia" - ], - "romanized": [ - "Emilia" - ] + "localized": ["Emilia"], + "romanized": ["Emilia"] }, { "id": "N-CL-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Julieta" - ], - "romanized": [ - "Julieta" - ] + "localized": ["Julieta"], + "romanized": ["Julieta"] }, { "id": "N-CL-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Trinidad" - ], - "romanized": [ - "Trinidad" - ] + "localized": ["Trinidad"], + "romanized": ["Trinidad"] }, { "id": "N-CL-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Isidora" - ], - "romanized": [ - "Isidora" - ] + "localized": ["Isidora"], + "romanized": ["Isidora"] }, { "id": "N-CL-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Agustina" - ], - "romanized": [ - "Agustina" - ] + "localized": ["Agustina"], + "romanized": ["Agustina"] }, { "id": "N-CL-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Josefa" - ], - "romanized": [ - "Josefa" - ] + "localized": ["Josefa"], + "romanized": ["Josefa"] }, { "id": "N-CL-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-CL-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mateo" - ], - "romanized": [ - "Mateo" - ] + "localized": ["Mateo"], + "romanized": ["Mateo"] }, { "id": "N-CL-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Gaspar" - ], - "romanized": [ - "Gaspar" - ] + "localized": ["Gaspar"], + "romanized": ["Gaspar"] }, { "id": "N-CL-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Santiago" - ], - "romanized": [ - "Santiago" - ] + "localized": ["Santiago"], + "romanized": ["Santiago"] }, { "id": "N-CL-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-CL-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Benjamín" - ], - "romanized": [ - "Benjamín" - ] + "localized": ["Benjamín"], + "romanized": ["Benjamín"] }, { "id": "N-CL-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-CL-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Agustín" - ], - "romanized": [ - "Agustín" - ] + "localized": ["Agustín"], + "romanized": ["Agustín"] }, { "id": "N-CL-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Vicente" - ], - "romanized": [ - "Vicente" - ] + "localized": ["Vicente"], + "romanized": ["Vicente"] }, { "id": "N-CL-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Maximiliano" - ], - "romanized": [ - "Maximiliano" - ] + "localized": ["Maximiliano"], + "romanized": ["Maximiliano"] }, { "id": "N-CL-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Tomás" - ], - "romanized": [ - "Tomás" - ] + "localized": ["Tomás"], + "romanized": ["Tomás"] } ] } @@ -4818,232 +3146,148 @@ "id": "N-CO-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Antonella" - ], - "romanized": [ - "Antonella" - ] + "localized": ["Antonella"], + "romanized": ["Antonella"] }, { "id": "N-CO-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-CO-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Luciana" - ], - "romanized": [ - "Luciana" - ] + "localized": ["Luciana"], + "romanized": ["Luciana"] }, { "id": "N-CO-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Celeste" - ], - "romanized": [ - "Celeste" - ] + "localized": ["Celeste"], + "romanized": ["Celeste"] }, { "id": "N-CO-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Victoria" - ], - "romanized": [ - "Victoria" - ] + "localized": ["Victoria"], + "romanized": ["Victoria"] }, { "id": "N-CO-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Gabriela" - ], - "romanized": [ - "Gabriela" - ] + "localized": ["Gabriela"], + "romanized": ["Gabriela"] }, { "id": "N-CO-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Mariana" - ], - "romanized": [ - "Mariana" - ] + "localized": ["Mariana"], + "romanized": ["Mariana"] }, { "id": "N-CO-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Julieta" - ], - "romanized": [ - "Julieta" - ] + "localized": ["Julieta"], + "romanized": ["Julieta"] }, { "id": "N-CO-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Salomé" - ], - "romanized": [ - "Salomé" - ] + "localized": ["Salomé"], + "romanized": ["Salomé"] }, { "id": "N-CO-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Guadalupe" - ], - "romanized": [ - "Guadalupe" - ] + "localized": ["Guadalupe"], + "romanized": ["Guadalupe"] }, { "id": "N-CO-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Matías" - ], - "romanized": [ - "Matías" - ] + "localized": ["Matías"], + "romanized": ["Matías"] }, { "id": "N-CO-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Jerónimo" - ], - "romanized": [ - "Jerónimo" - ] + "localized": ["Jerónimo"], + "romanized": ["Jerónimo"] }, { "id": "N-CO-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Gerónimo" - ], - "romanized": [ - "Gerónimo" - ] + "localized": ["Gerónimo"], + "romanized": ["Gerónimo"] }, { "id": "N-CO-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Emiliano" - ], - "romanized": [ - "Emiliano" - ] + "localized": ["Emiliano"], + "romanized": ["Emiliano"] }, { "id": "N-CO-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Martín" - ], - "romanized": [ - "Martín" - ] + "localized": ["Martín"], + "romanized": ["Martín"] }, { "id": "N-CO-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Samuel" - ], - "romanized": [ - "Samuel" - ] + "localized": ["Samuel"], + "romanized": ["Samuel"] }, { "id": "N-CO-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Thiago" - ], - "romanized": [ - "Thiago" - ] + "localized": ["Thiago"], + "romanized": ["Thiago"] }, { "id": "N-CO-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Emmanuel" - ], - "romanized": [ - "Emmanuel" - ] + "localized": ["Emmanuel"], + "romanized": ["Emmanuel"] }, { "id": "N-CO-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Maximiliano" - ], - "romanized": [ - "Maximiliano" - ] + "localized": ["Maximiliano"], + "romanized": ["Maximiliano"] }, { "id": "N-CO-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Isaac" - ], - "romanized": [ - "Isaac" - ] + "localized": ["Isaac"], + "romanized": ["Isaac"] }, { "id": "N-CO-1-M-11", "rank": 11, "gender": "M", - "localized": [ - "Santiago" - ], - "romanized": [ - "Santiago" - ] + "localized": ["Santiago"], + "romanized": ["Santiago"] } ] } @@ -5058,232 +3302,148 @@ "id": "N-CZ-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Eliška" - ], - "romanized": [ - "Eliška" - ] + "localized": ["Eliška"], + "romanized": ["Eliška"] }, { "id": "N-CZ-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Anna" - ], - "romanized": [ - "Anna" - ] + "localized": ["Anna"], + "romanized": ["Anna"] }, { "id": "N-CZ-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Adéla" - ], - "romanized": [ - "Adéla" - ] + "localized": ["Adéla"], + "romanized": ["Adéla"] }, { "id": "N-CZ-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Tereza" - ], - "romanized": [ - "Tereza" - ] + "localized": ["Tereza"], + "romanized": ["Tereza"] }, { "id": "N-CZ-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Sofie" - ], - "romanized": [ - "Sofie" - ] + "localized": ["Sofie"], + "romanized": ["Sofie"] }, { "id": "N-CZ-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Viktorie" - ], - "romanized": [ - "Viktorie" - ] + "localized": ["Viktorie"], + "romanized": ["Viktorie"] }, { "id": "N-CZ-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Ema" - ], - "romanized": [ - "Ema" - ] + "localized": ["Ema"], + "romanized": ["Ema"] }, { "id": "N-CZ-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Karolína" - ], - "romanized": [ - "Karolína" - ] + "localized": ["Karolína"], + "romanized": ["Karolína"] }, { "id": "N-CZ-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Natálie" - ], - "romanized": [ - "Natálie" - ] + "localized": ["Natálie"], + "romanized": ["Natálie"] }, { "id": "N-CZ-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Amálie" - ], - "romanized": [ - "Amálie" - ] + "localized": ["Amálie"], + "romanized": ["Amálie"] }, { "id": "N-CZ-1-F-11", "rank": 11, "gender": "F", - "localized": [ - "Julie" - ], - "romanized": [ - "Julie" - ] + "localized": ["Julie"], + "romanized": ["Julie"] }, { "id": "N-CZ-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Jakub" - ], - "romanized": [ - "Jakub" - ] + "localized": ["Jakub"], + "romanized": ["Jakub"] }, { "id": "N-CZ-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Jan" - ], - "romanized": [ - "Jan" - ] + "localized": ["Jan"], + "romanized": ["Jan"] }, { "id": "N-CZ-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Tomáš" - ], - "romanized": [ - "Tomáš" - ] + "localized": ["Tomáš"], + "romanized": ["Tomáš"] }, { "id": "N-CZ-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Matyáš" - ], - "romanized": [ - "Matyáš" - ] + "localized": ["Matyáš"], + "romanized": ["Matyáš"] }, { "id": "N-CZ-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Adam" - ], - "romanized": [ - "Adam" - ] + "localized": ["Adam"], + "romanized": ["Adam"] }, { "id": "N-CZ-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Filip" - ], - "romanized": [ - "Filip" - ] + "localized": ["Filip"], + "romanized": ["Filip"] }, { "id": "N-CZ-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Vojtěch" - ], - "romanized": [ - "Vojtěch" - ] + "localized": ["Vojtěch"], + "romanized": ["Vojtěch"] }, { "id": "N-CZ-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Lukáš" - ], - "romanized": [ - "Lukáš" - ] + "localized": ["Lukáš"], + "romanized": ["Lukáš"] }, { "id": "N-CZ-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Martin" - ], - "romanized": [ - "Martin" - ] + "localized": ["Martin"], + "romanized": ["Martin"] }, { "id": "N-CZ-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Matěj" - ], - "romanized": [ - "Matěj" - ] + "localized": ["Matěj"], + "romanized": ["Matěj"] } ] } @@ -5298,221 +3458,141 @@ "id": "N-DE-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Emilia" - ], - "romanized": [ - "Emilia" - ] + "localized": ["Emilia"], + "romanized": ["Emilia"] }, { "id": "N-DE-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-DE-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Sophia" - ], - "romanized": [ - "Sophia" - ] + "localized": ["Sophia"], + "romanized": ["Sophia"] }, { "id": "N-DE-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-DE-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Hannah" - ], - "romanized": [ - "Hannah" - ] + "localized": ["Hannah"], + "romanized": ["Hannah"] }, { "id": "N-DE-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Lina" - ], - "romanized": [ - "Lina" - ] + "localized": ["Lina"], + "romanized": ["Lina"] }, { "id": "N-DE-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Mila" - ], - "romanized": [ - "Mila" - ] + "localized": ["Mila"], + "romanized": ["Mila"] }, { "id": "N-DE-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Ella" - ], - "romanized": [ - "Ella" - ] + "localized": ["Ella"], + "romanized": ["Ella"] }, { "id": "N-DE-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Leni" - ], - "romanized": [ - "Leni" - ] + "localized": ["Leni"], + "romanized": ["Leni"] }, { "id": "N-DE-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Clara" - ], - "romanized": [ - "Clara" - ] + "localized": ["Clara"], + "romanized": ["Clara"] }, { "id": "N-DE-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-DE-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Matteo" - ], - "romanized": [ - "Matteo" - ] + "localized": ["Matteo"], + "romanized": ["Matteo"] }, { "id": "N-DE-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Elias" - ], - "romanized": [ - "Elias" - ] + "localized": ["Elias"], + "romanized": ["Elias"] }, { "id": "N-DE-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Finn" - ], - "romanized": [ - "Finn" - ] + "localized": ["Finn"], + "romanized": ["Finn"] }, { "id": "N-DE-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Leon" - ], - "romanized": [ - "Leon" - ] + "localized": ["Leon"], + "romanized": ["Leon"] }, { "id": "N-DE-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Theo" - ], - "romanized": [ - "Theo" - ] + "localized": ["Theo"], + "romanized": ["Theo"] }, { "id": "N-DE-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Paul" - ], - "romanized": [ - "Paul" - ] + "localized": ["Paul"], + "romanized": ["Paul"] }, { "id": "N-DE-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Emil" - ], - "romanized": [ - "Emil" - ] + "localized": ["Emil"], + "romanized": ["Emil"] }, { "id": "N-DE-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Henry" - ], - "romanized": [ - "Henry" - ] + "localized": ["Henry"], + "romanized": ["Henry"] }, { "id": "N-DE-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Ben" - ], - "romanized": [ - "Ben" - ] + "localized": ["Ben"], + "romanized": ["Ben"] } ] } @@ -5527,265 +3607,169 @@ "id": "N-DK-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Ella" - ], - "romanized": [ - "Ella" - ] + "localized": ["Ella"], + "romanized": ["Ella"] }, { "id": "N-DK-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Alma" - ], - "romanized": [ - "Alma" - ] + "localized": ["Alma"], + "romanized": ["Alma"] }, { "id": "N-DK-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Nora" - ], - "romanized": [ - "Nora" - ] + "localized": ["Nora"], + "romanized": ["Nora"] }, { "id": "N-DK-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Ida" - ], - "romanized": [ - "Ida" - ] + "localized": ["Ida"], + "romanized": ["Ida"] }, { "id": "N-DK-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Freja" - ], - "romanized": [ - "Freja" - ] + "localized": ["Freja"], + "romanized": ["Freja"] }, { "id": "N-DK-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-DK-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Luna" - ], - "romanized": [ - "Luna" - ] + "localized": ["Luna"], + "romanized": ["Luna"] }, { "id": "N-DK-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-DK-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Agnes" - ], - "romanized": [ - "Agnes" - ] + "localized": ["Agnes"], + "romanized": ["Agnes"] }, { "id": "N-DK-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Asta" - ], - "romanized": [ - "Asta" - ] + "localized": ["Asta"], + "romanized": ["Asta"] }, { "id": "N-DK-1-F-11", "rank": 11, "gender": "F", - "localized": [ - "Clara" - ], - "romanized": [ - "Clara" - ] + "localized": ["Clara"], + "romanized": ["Clara"] }, { "id": "N-DK-1-F-12", "rank": 12, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-DK-1-F-13", "rank": 13, "gender": "F", - "localized": [ - "Frida" - ], - "romanized": [ - "Frida" - ] + "localized": ["Frida"], + "romanized": ["Frida"] }, { "id": "N-DK-1-F-14", "rank": 14, "gender": "F", - "localized": [ - "Alberte" - ], - "romanized": [ - "Alberte" - ] + "localized": ["Alberte"], + "romanized": ["Alberte"] }, { "id": "N-DK-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "William" - ], - "romanized": [ - "William" - ] + "localized": ["William"], + "romanized": ["William"] }, { "id": "N-DK-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Oscar" - ], - "romanized": [ - "Oscar" - ] + "localized": ["Oscar"], + "romanized": ["Oscar"] }, { "id": "N-DK-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Carl" - ], - "romanized": [ - "Carl" - ] + "localized": ["Carl"], + "romanized": ["Carl"] }, { "id": "N-DK-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Malthe" - ], - "romanized": [ - "Malthe" - ] + "localized": ["Malthe"], + "romanized": ["Malthe"] }, { "id": "N-DK-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Emil" - ], - "romanized": [ - "Emil" - ] + "localized": ["Emil"], + "romanized": ["Emil"] }, { "id": "N-DK-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Valdemar" - ], - "romanized": [ - "Valdemar" - ] + "localized": ["Valdemar"], + "romanized": ["Valdemar"] }, { "id": "N-DK-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-DK-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Aksel" - ], - "romanized": [ - "Aksel" - ] + "localized": ["Aksel"], + "romanized": ["Aksel"] }, { "id": "N-DK-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "August" - ], - "romanized": [ - "August" - ] + "localized": ["August"], + "romanized": ["August"] }, { "id": "N-DK-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Theo" - ], - "romanized": [ - "Theo" - ] + "localized": ["Theo"], + "romanized": ["Theo"] } ] } @@ -5800,221 +3784,141 @@ "id": "N-DZ-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Omar" - ], - "romanized": [ - "Omar" - ] + "localized": ["Omar"], + "romanized": ["Omar"] }, { "id": "N-DZ-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Abdelkader" - ], - "romanized": [ - "Abdelkader" - ] + "localized": ["Abdelkader"], + "romanized": ["Abdelkader"] }, { "id": "N-DZ-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Ahmed" - ], - "romanized": [ - "Ahmed" - ] + "localized": ["Ahmed"], + "romanized": ["Ahmed"] }, { "id": "N-DZ-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Mohammed" - ], - "romanized": [ - "Mohammed" - ] + "localized": ["Mohammed"], + "romanized": ["Mohammed"] }, { "id": "N-DZ-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-DZ-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Rachid" - ], - "romanized": [ - "Rachid" - ] + "localized": ["Rachid"], + "romanized": ["Rachid"] }, { "id": "N-DZ-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Said" - ], - "romanized": [ - "Said" - ] + "localized": ["Said"], + "romanized": ["Said"] }, { "id": "N-DZ-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Brahim" - ], - "romanized": [ - "Brahim" - ] + "localized": ["Brahim"], + "romanized": ["Brahim"] }, { "id": "N-DZ-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Omar" - ], - "romanized": [ - "Omar" - ] + "localized": ["Omar"], + "romanized": ["Omar"] }, { "id": "N-DZ-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Djamel" - ], - "romanized": [ - "Djamel" - ] + "localized": ["Djamel"], + "romanized": ["Djamel"] }, { "id": "N-DZ-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Imene" - ], - "romanized": [ - "Imene" - ] + "localized": ["Imene"], + "romanized": ["Imene"] }, { "id": "N-DZ-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Sara" - ], - "romanized": [ - "Sara" - ] + "localized": ["Sara"], + "romanized": ["Sara"] }, { "id": "N-DZ-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Yasmine" - ], - "romanized": [ - "Yasmine" - ] + "localized": ["Yasmine"], + "romanized": ["Yasmine"] }, { "id": "N-DZ-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Lyna" - ], - "romanized": [ - "Lyna" - ] + "localized": ["Lyna"], + "romanized": ["Lyna"] }, { "id": "N-DZ-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Maria" - ], - "romanized": [ - "Maria" - ] + "localized": ["Maria"], + "romanized": ["Maria"] }, { "id": "N-DZ-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Amina" - ], - "romanized": [ - "Amina" - ] + "localized": ["Amina"], + "romanized": ["Amina"] }, { "id": "N-DZ-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Meriem" - ], - "romanized": [ - "Meriem" - ] + "localized": ["Meriem"], + "romanized": ["Meriem"] }, { "id": "N-DZ-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Karima" - ], - "romanized": [ - "Karima" - ] + "localized": ["Karima"], + "romanized": ["Karima"] }, { "id": "N-DZ-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Melissa" - ], - "romanized": [ - "Melissa" - ] + "localized": ["Melissa"], + "romanized": ["Melissa"] }, { "id": "N-DZ-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Lydia" - ], - "romanized": [ - "Lydia" - ] + "localized": ["Lydia"], + "romanized": ["Lydia"] } ] } @@ -6029,221 +3933,141 @@ "id": "N-EC-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Mía" - ], - "romanized": [ - "Mía" - ] + "localized": ["Mía"], + "romanized": ["Mía"] }, { "id": "N-EC-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Danna" - ], - "romanized": [ - "Danna" - ] + "localized": ["Danna"], + "romanized": ["Danna"] }, { "id": "N-EC-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "María" - ], - "romanized": [ - "María" - ] + "localized": ["María"], + "romanized": ["María"] }, { "id": "N-EC-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Sofía" - ], - "romanized": [ - "Sofía" - ] + "localized": ["Sofía"], + "romanized": ["Sofía"] }, { "id": "N-EC-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-EC-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Emily" - ], - "romanized": [ - "Emily" - ] + "localized": ["Emily"], + "romanized": ["Emily"] }, { "id": "N-EC-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Victoria" - ], - "romanized": [ - "Victoria" - ] + "localized": ["Victoria"], + "romanized": ["Victoria"] }, { "id": "N-EC-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Lía" - ], - "romanized": [ - "Lía" - ] + "localized": ["Lía"], + "romanized": ["Lía"] }, { "id": "N-EC-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Aitana" - ], - "romanized": [ - "Aitana" - ] + "localized": ["Aitana"], + "romanized": ["Aitana"] }, { "id": "N-EC-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-EC-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-EC-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Thiago" - ], - "romanized": [ - "Thiago" - ] + "localized": ["Thiago"], + "romanized": ["Thiago"] }, { "id": "N-EC-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Dylan" - ], - "romanized": [ - "Dylan" - ] + "localized": ["Dylan"], + "romanized": ["Dylan"] }, { "id": "N-EC-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "José" - ], - "romanized": [ - "José" - ] + "localized": ["José"], + "romanized": ["José"] }, { "id": "N-EC-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Ian" - ], - "romanized": [ - "Ian" - ] + "localized": ["Ian"], + "romanized": ["Ian"] }, { "id": "N-EC-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Carlos" - ], - "romanized": [ - "Carlos" - ] + "localized": ["Carlos"], + "romanized": ["Carlos"] }, { "id": "N-EC-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Juan" - ], - "romanized": [ - "Juan" - ] + "localized": ["Juan"], + "romanized": ["Juan"] }, { "id": "N-EC-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Luis" - ], - "romanized": [ - "Luis" - ] + "localized": ["Luis"], + "romanized": ["Luis"] }, { "id": "N-EC-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Gael" - ], - "romanized": [ - "Gael" - ] + "localized": ["Gael"], + "romanized": ["Gael"] }, { "id": "N-EC-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Ángel" - ], - "romanized": [ - "Ángel" - ] + "localized": ["Ángel"], + "romanized": ["Ángel"] } ] } @@ -6258,221 +4082,141 @@ "id": "N-EE-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-EE-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-EE-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Eva" - ], - "romanized": [ - "Eva" - ] + "localized": ["Eva"], + "romanized": ["Eva"] }, { "id": "N-EE-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Lenna" - ], - "romanized": [ - "Lenna" - ] + "localized": ["Lenna"], + "romanized": ["Lenna"] }, { "id": "N-EE-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Marta" - ], - "romanized": [ - "Marta" - ] + "localized": ["Marta"], + "romanized": ["Marta"] }, { "id": "N-EE-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-EE-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Elli" - ], - "romanized": [ - "Elli" - ] + "localized": ["Elli"], + "romanized": ["Elli"] }, { "id": "N-EE-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Maria" - ], - "romanized": [ - "Maria" - ] + "localized": ["Maria"], + "romanized": ["Maria"] }, { "id": "N-EE-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Sandra" - ], - "romanized": [ - "Sandra" - ] + "localized": ["Sandra"], + "romanized": ["Sandra"] }, { "id": "N-EE-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Alisa" - ], - "romanized": [ - "Alisa" - ] + "localized": ["Alisa"], + "romanized": ["Alisa"] }, { "id": "N-EE-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Oskar" - ], - "romanized": [ - "Oskar" - ] + "localized": ["Oskar"], + "romanized": ["Oskar"] }, { "id": "N-EE-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Sebastian" - ], - "romanized": [ - "Sebastian" - ] + "localized": ["Sebastian"], + "romanized": ["Sebastian"] }, { "id": "N-EE-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Mark" - ], - "romanized": [ - "Mark" - ] + "localized": ["Mark"], + "romanized": ["Mark"] }, { "id": "N-EE-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Hugo" - ], - "romanized": [ - "Hugo" - ] + "localized": ["Hugo"], + "romanized": ["Hugo"] }, { "id": "N-EE-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Robin" - ], - "romanized": [ - "Robin" - ] + "localized": ["Robin"], + "romanized": ["Robin"] }, { "id": "N-EE-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Martin" - ], - "romanized": [ - "Martin" - ] + "localized": ["Martin"], + "romanized": ["Martin"] }, { "id": "N-EE-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "David" - ], - "romanized": [ - "David" - ] + "localized": ["David"], + "romanized": ["David"] }, { "id": "N-EE-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Lukas" - ], - "romanized": [ - "Lukas" - ] + "localized": ["Lukas"], + "romanized": ["Lukas"] }, { "id": "N-EE-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Aron" - ], - "romanized": [ - "Aron" - ] + "localized": ["Aron"], + "romanized": ["Aron"] }, { "id": "N-EE-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Rasmus" - ], - "romanized": [ - "Rasmus" - ] + "localized": ["Rasmus"], + "romanized": ["Rasmus"] } ] } @@ -6487,243 +4231,155 @@ "id": "N-EG-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Mary" - ], - "romanized": [ - "Mary" - ] + "localized": ["Mary"], + "romanized": ["Mary"] }, { "id": "N-EG-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Marie" - ], - "romanized": [ - "Marie" - ] + "localized": ["Marie"], + "romanized": ["Marie"] }, { "id": "N-EG-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Mariam" - ], - "romanized": [ - "Mariam" - ] + "localized": ["Mariam"], + "romanized": ["Mariam"] }, { "id": "N-EG-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Marina" - ], - "romanized": [ - "Marina" - ] + "localized": ["Marina"], + "romanized": ["Marina"] }, { "id": "N-EG-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Irene" - ], - "romanized": [ - "Irene" - ] + "localized": ["Irene"], + "romanized": ["Irene"] }, { "id": "N-EG-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Malak" - ], - "romanized": [ - "Malak" - ] + "localized": ["Malak"], + "romanized": ["Malak"] }, { "id": "N-EG-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Habiba" - ], - "romanized": [ - "Habiba" - ] + "localized": ["Habiba"], + "romanized": ["Habiba"] }, { "id": "N-EG-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Hana" - ], - "romanized": [ - "Hana" - ] + "localized": ["Hana"], + "romanized": ["Hana"] }, { "id": "N-EG-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Farah" - ], - "romanized": [ - "Farah" - ] + "localized": ["Farah"], + "romanized": ["Farah"] }, { "id": "N-EG-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Marwa" - ], - "romanized": [ - "Marwa" - ] + "localized": ["Marwa"], + "romanized": ["Marwa"] }, { "id": "N-EG-1-F-11", "rank": 11, "gender": "F", - "localized": [ - "Nada" - ], - "romanized": [ - "Nada" - ] + "localized": ["Nada"], + "romanized": ["Nada"] }, { "id": "N-EG-1-F-12", "rank": 12, "gender": "F", - "localized": [ - "Salma" - ], - "romanized": [ - "Salma" - ] + "localized": ["Salma"], + "romanized": ["Salma"] }, { "id": "N-EG-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Peter" - ], - "romanized": [ - "Peter" - ] + "localized": ["Peter"], + "romanized": ["Peter"] }, { "id": "N-EG-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Pierre" - ], - "romanized": [ - "Pierre" - ] + "localized": ["Pierre"], + "romanized": ["Pierre"] }, { "id": "N-EG-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "George" - ], - "romanized": [ - "George" - ] + "localized": ["George"], + "romanized": ["George"] }, { "id": "N-EG-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "John" - ], - "romanized": [ - "John" - ] + "localized": ["John"], + "romanized": ["John"] }, { "id": "N-EG-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Mina" - ], - "romanized": [ - "Mina" - ] + "localized": ["Mina"], + "romanized": ["Mina"] }, { "id": "N-EG-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Beshoi" - ], - "romanized": [ - "Beshoi" - ] + "localized": ["Beshoi"], + "romanized": ["Beshoi"] }, { "id": "N-EG-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Kirollos" - ], - "romanized": [ - "Kirollos" - ] + "localized": ["Kirollos"], + "romanized": ["Kirollos"] }, { "id": "N-EG-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Mark" - ], - "romanized": [ - "Mark" - ] + "localized": ["Mark"], + "romanized": ["Mark"] }, { "id": "N-EG-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Fadi" - ], - "romanized": [ - "Fadi" - ] + "localized": ["Fadi"], + "romanized": ["Fadi"] }, { "id": "N-EG-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Habib" - ], - "romanized": [ - "Habib" - ] + "localized": ["Habib"], + "romanized": ["Habib"] } ] }, @@ -6736,474 +4392,302 @@ "id": "N-EG-2-F-1", "rank": 1, "gender": "F", - "localized": [ - "Shaimaa" - ], - "romanized": [ - "Shaimaa" - ] + "localized": ["Shaimaa"], + "romanized": ["Shaimaa"] }, { "id": "N-EG-2-F-2", "rank": 2, "gender": "F", - "localized": [ - "Fatma" - ], - "romanized": [ - "Fatma" - ] + "localized": ["Fatma"], + "romanized": ["Fatma"] }, { "id": "N-EG-2-F-3", "rank": 3, "gender": "F", - "localized": [ - "Maha" - ], - "romanized": [ - "Maha" - ] + "localized": ["Maha"], + "romanized": ["Maha"] }, { "id": "N-EG-2-F-4", "rank": 4, "gender": "F", - "localized": [ - "Reem" - ], - "romanized": [ - "Reem" - ] + "localized": ["Reem"], + "romanized": ["Reem"] }, { "id": "N-EG-2-F-5", "rank": 5, "gender": "F", - "localized": [ - "Farida" - ], - "romanized": [ - "Farida" - ] + "localized": ["Farida"], + "romanized": ["Farida"] }, { "id": "N-EG-2-F-6", "rank": 6, "gender": "F", - "localized": [ - "Aya" - ], - "romanized": [ - "Aya" - ] + "localized": ["Aya"], + "romanized": ["Aya"] }, { "id": "N-EG-2-F-7", "rank": 7, "gender": "F", - "localized": [ - "Shahd" - ], - "romanized": [ - "Shahd" - ] + "localized": ["Shahd"], + "romanized": ["Shahd"] }, { "id": "N-EG-2-F-8", "rank": 8, "gender": "F", - "localized": [ - "Ashraqat" - ], - "romanized": [ - "Ashraqat" - ] + "localized": ["Ashraqat"], + "romanized": ["Ashraqat"] }, { "id": "N-EG-2-F-9", "rank": 9, "gender": "F", - "localized": [ - "Sahar" - ], - "romanized": [ - "Sahar" - ] + "localized": ["Sahar"], + "romanized": ["Sahar"] }, { "id": "N-EG-2-F-10", "rank": 10, "gender": "F", - "localized": [ - "Fatin" - ], - "romanized": [ - "Fatin" - ] + "localized": ["Fatin"], + "romanized": ["Fatin"] }, { "id": "N-EG-2-F-11", "rank": 11, "gender": "F", - "localized": [ - "Dalal" - ], - "romanized": [ - "Dalal" - ] + "localized": ["Dalal"], + "romanized": ["Dalal"] }, { "id": "N-EG-2-F-12", "rank": 12, "gender": "F", - "localized": [ - "Doha" - ], - "romanized": [ - "Doha" - ] + "localized": ["Doha"], + "romanized": ["Doha"] }, { "id": "N-EG-2-F-13", "rank": 13, "gender": "F", - "localized": [ - "Fajr" - ], - "romanized": [ - "Fajr" - ] + "localized": ["Fajr"], + "romanized": ["Fajr"] }, { "id": "N-EG-2-F-14", "rank": 14, "gender": "F", - "localized": [ - "Suha" - ], - "romanized": [ - "Suha" - ] + "localized": ["Suha"], + "romanized": ["Suha"] }, { "id": "N-EG-2-F-15", "rank": 15, "gender": "F", - "localized": [ - "Rowan" - ], - "romanized": [ - "Rowan" - ] + "localized": ["Rowan"], + "romanized": ["Rowan"] }, { "id": "N-EG-2-F-16", "rank": 16, "gender": "F", - "localized": [ - "Hosniya" - ], - "romanized": [ - "Hosniya" - ] + "localized": ["Hosniya"], + "romanized": ["Hosniya"] }, { "id": "N-EG-2-F-17", "rank": 17, "gender": "F", - "localized": [ - "Hasnaa" - ], - "romanized": [ - "Hasnaa" - ] + "localized": ["Hasnaa"], + "romanized": ["Hasnaa"] }, { "id": "N-EG-2-F-18", "rank": 18, "gender": "F", - "localized": [ - "Hosna" - ], - "romanized": [ - "Hosna" - ] + "localized": ["Hosna"], + "romanized": ["Hosna"] }, { "id": "N-EG-2-F-19", "rank": 19, "gender": "F", - "localized": [ - "Gamila" - ], - "romanized": [ - "Gamila" - ] + "localized": ["Gamila"], + "romanized": ["Gamila"] }, { "id": "N-EG-2-F-20", "rank": 20, "gender": "F", - "localized": [ - "Gamalat" - ], - "romanized": [ - "Gamalat" - ] + "localized": ["Gamalat"], + "romanized": ["Gamalat"] }, { "id": "N-EG-2-F-21", "rank": 21, "gender": "F", - "localized": [ - "Habiba" - ], - "romanized": [ - "Habiba" - ] + "localized": ["Habiba"], + "romanized": ["Habiba"] }, { "id": "N-EG-2-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mohamed" - ], - "romanized": [ - "Mohamed" - ] + "localized": ["Mohamed"], + "romanized": ["Mohamed"] }, { "id": "N-EG-2-M-2", "rank": 2, "gender": "M", - "localized": [ - "Youssef" - ], - "romanized": [ - "Youssef" - ] + "localized": ["Youssef"], + "romanized": ["Youssef"] }, { "id": "N-EG-2-M-3", "rank": 3, "gender": "M", - "localized": [ - "Ahmed" - ], - "romanized": [ - "Ahmed" - ] + "localized": ["Ahmed"], + "romanized": ["Ahmed"] }, { "id": "N-EG-2-M-4", "rank": 4, "gender": "M", - "localized": [ - "Mahmoud" - ], - "romanized": [ - "Mahmoud" - ] + "localized": ["Mahmoud"], + "romanized": ["Mahmoud"] }, { "id": "N-EG-2-M-5", "rank": 5, "gender": "M", - "localized": [ - "Mustafa" - ], - "romanized": [ - "Mustafa" - ] + "localized": ["Mustafa"], + "romanized": ["Mustafa"] }, { "id": "N-EG-2-M-6", "rank": 6, "gender": "M", - "localized": [ - "Yassin" - ], - "romanized": [ - "Yassin" - ] + "localized": ["Yassin"], + "romanized": ["Yassin"] }, { "id": "N-EG-2-M-7", "rank": 7, "gender": "M", - "localized": [ - "Taha" - ], - "romanized": [ - "Taha" - ] + "localized": ["Taha"], + "romanized": ["Taha"] }, { "id": "N-EG-2-M-8", "rank": 8, "gender": "M", - "localized": [ - "Khaled" - ], - "romanized": [ - "Khaled" - ] + "localized": ["Khaled"], + "romanized": ["Khaled"] }, { "id": "N-EG-2-M-9", "rank": 9, "gender": "M", - "localized": [ - "Hamza" - ], - "romanized": [ - "Hamza" - ] + "localized": ["Hamza"], + "romanized": ["Hamza"] }, { "id": "N-EG-2-M-10", "rank": 10, "gender": "M", - "localized": [ - "Bilal" - ], - "romanized": [ - "Bilal" - ] + "localized": ["Bilal"], + "romanized": ["Bilal"] }, { "id": "N-EG-2-M-11", "rank": 11, "gender": "M", - "localized": [ - "Ibrahim" - ], - "romanized": [ - "Ibrahim" - ] + "localized": ["Ibrahim"], + "romanized": ["Ibrahim"] }, { "id": "N-EG-2-M-12", "rank": 12, "gender": "M", - "localized": [ - "Hassan" - ], - "romanized": [ - "Hassan" - ] + "localized": ["Hassan"], + "romanized": ["Hassan"] }, { "id": "N-EG-2-M-13", "rank": 13, "gender": "M", - "localized": [ - "Hussein" - ], - "romanized": [ - "Hussein" - ] + "localized": ["Hussein"], + "romanized": ["Hussein"] }, { "id": "N-EG-2-M-14", "rank": 14, "gender": "M", - "localized": [ - "Karim" - ], - "romanized": [ - "Karim" - ] + "localized": ["Karim"], + "romanized": ["Karim"] }, { "id": "N-EG-2-M-15", "rank": 15, "gender": "M", - "localized": [ - "Tareq" - ], - "romanized": [ - "Tareq" - ] + "localized": ["Tareq"], + "romanized": ["Tareq"] }, { "id": "N-EG-2-M-16", "rank": 16, "gender": "M", - "localized": [ - "Abdel-Rahman" - ], - "romanized": [ - "Abdel-Rahman" - ] + "localized": ["Abdel-Rahman"], + "romanized": ["Abdel-Rahman"] }, { "id": "N-EG-2-M-17", "rank": 17, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-EG-2-M-18", "rank": 18, "gender": "M", - "localized": [ - "Omar" - ], - "romanized": [ - "Omar" - ] + "localized": ["Omar"], + "romanized": ["Omar"] }, { "id": "N-EG-2-M-19", "rank": 19, "gender": "M", - "localized": [ - "Halim" - ], - "romanized": [ - "Halim" - ] + "localized": ["Halim"], + "romanized": ["Halim"] }, { "id": "N-EG-2-M-20", "rank": 20, "gender": "M", - "localized": [ - "Murad" - ], - "romanized": [ - "Murad" - ] + "localized": ["Murad"], + "romanized": ["Murad"] }, { "id": "N-EG-2-M-21", "rank": 21, "gender": "M", - "localized": [ - "Selim" - ], - "romanized": [ - "Selim" - ] + "localized": ["Selim"], + "romanized": ["Selim"] }, { "id": "N-EG-2-M-22", "rank": 22, "gender": "M", - "localized": [ - "Abdallah" - ], - "romanized": [ - "Abdallah" - ] + "localized": ["Abdallah"], + "romanized": ["Abdallah"] } ] } @@ -7218,221 +4702,141 @@ "id": "N-ES-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Ane" - ], - "romanized": [ - "Ane" - ] + "localized": ["Ane"], + "romanized": ["Ane"] }, { "id": "N-ES-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Laia" - ], - "romanized": [ - "Laia" - ] + "localized": ["Laia"], + "romanized": ["Laia"] }, { "id": "N-ES-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "June" - ], - "romanized": [ - "June" - ] + "localized": ["June"], + "romanized": ["June"] }, { "id": "N-ES-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Nahia" - ], - "romanized": [ - "Nahia" - ] + "localized": ["Nahia"], + "romanized": ["Nahia"] }, { "id": "N-ES-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Maddi" - ], - "romanized": [ - "Maddi" - ] + "localized": ["Maddi"], + "romanized": ["Maddi"] }, { "id": "N-ES-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Malen" - ], - "romanized": [ - "Malen" - ] + "localized": ["Malen"], + "romanized": ["Malen"] }, { "id": "N-ES-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Nora" - ], - "romanized": [ - "Nora" - ] + "localized": ["Nora"], + "romanized": ["Nora"] }, { "id": "N-ES-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Irati" - ], - "romanized": [ - "Irati" - ] + "localized": ["Irati"], + "romanized": ["Irati"] }, { "id": "N-ES-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Izaro" - ], - "romanized": [ - "Izaro" - ] + "localized": ["Izaro"], + "romanized": ["Izaro"] }, { "id": "N-ES-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Sara" - ], - "romanized": [ - "Sara" - ] + "localized": ["Sara"], + "romanized": ["Sara"] }, { "id": "N-ES-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Markel" - ], - "romanized": [ - "Markel" - ] + "localized": ["Markel"], + "romanized": ["Markel"] }, { "id": "N-ES-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Martín" - ], - "romanized": [ - "Martín" - ] + "localized": ["Martín"], + "romanized": ["Martín"] }, { "id": "N-ES-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Julen" - ], - "romanized": [ - "Julen" - ] + "localized": ["Julen"], + "romanized": ["Julen"] }, { "id": "N-ES-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Oihan" - ], - "romanized": [ - "Oihan" - ] + "localized": ["Oihan"], + "romanized": ["Oihan"] }, { "id": "N-ES-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Jon" - ], - "romanized": [ - "Jon" - ] + "localized": ["Jon"], + "romanized": ["Jon"] }, { "id": "N-ES-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Aiur" - ], - "romanized": [ - "Aiur" - ] + "localized": ["Aiur"], + "romanized": ["Aiur"] }, { "id": "N-ES-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Aimar" - ], - "romanized": [ - "Aimar" - ] + "localized": ["Aimar"], + "romanized": ["Aimar"] }, { "id": "N-ES-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Ibai" - ], - "romanized": [ - "Ibai" - ] + "localized": ["Ibai"], + "romanized": ["Ibai"] }, { "id": "N-ES-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Luka" - ], - "romanized": [ - "Luka" - ] + "localized": ["Luka"], + "romanized": ["Luka"] }, { "id": "N-ES-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Danel" - ], - "romanized": [ - "Danel" - ] + "localized": ["Danel"], + "romanized": ["Danel"] } ] }, @@ -7445,221 +4849,141 @@ "id": "N-ES-2-F-1", "rank": 1, "gender": "F", - "localized": [ - "Júlia" - ], - "romanized": [ - "Júlia" - ] + "localized": ["Júlia"], + "romanized": ["Júlia"] }, { "id": "N-ES-2-F-2", "rank": 2, "gender": "F", - "localized": [ - "Martina" - ], - "romanized": [ - "Martina" - ] + "localized": ["Martina"], + "romanized": ["Martina"] }, { "id": "N-ES-2-F-3", "rank": 3, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-ES-2-F-4", "rank": 4, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-ES-2-F-5", "rank": 5, "gender": "F", - "localized": [ - "Lucía" - ], - "romanized": [ - "Lucía" - ] + "localized": ["Lucía"], + "romanized": ["Lucía"] }, { "id": "N-ES-2-F-6", "rank": 6, "gender": "F", - "localized": [ - "Sofía" - ], - "romanized": [ - "Sofía" - ] + "localized": ["Sofía"], + "romanized": ["Sofía"] }, { "id": "N-ES-2-F-7", "rank": 7, "gender": "F", - "localized": [ - "Ona" - ], - "romanized": [ - "Ona" - ] + "localized": ["Ona"], + "romanized": ["Ona"] }, { "id": "N-ES-2-F-8", "rank": 8, "gender": "F", - "localized": [ - "María" - ], - "romanized": [ - "María" - ] + "localized": ["María"], + "romanized": ["María"] }, { "id": "N-ES-2-F-9", "rank": 9, "gender": "F", - "localized": [ - "Laia" - ], - "romanized": [ - "Laia" - ] + "localized": ["Laia"], + "romanized": ["Laia"] }, { "id": "N-ES-2-F-10", "rank": 10, "gender": "F", - "localized": [ - "Paula" - ], - "romanized": [ - "Paula" - ] + "localized": ["Paula"], + "romanized": ["Paula"] }, { "id": "N-ES-2-M-1", "rank": 1, "gender": "M", - "localized": [ - "Marc" - ], - "romanized": [ - "Marc" - ] + "localized": ["Marc"], + "romanized": ["Marc"] }, { "id": "N-ES-2-M-2", "rank": 2, "gender": "M", - "localized": [ - "Nil" - ], - "romanized": [ - "Nil" - ] + "localized": ["Nil"], + "romanized": ["Nil"] }, { "id": "N-ES-2-M-3", "rank": 3, "gender": "M", - "localized": [ - "Pol" - ], - "romanized": [ - "Pol" - ] + "localized": ["Pol"], + "romanized": ["Pol"] }, { "id": "N-ES-2-M-4", "rank": 4, "gender": "M", - "localized": [ - "Jan" - ], - "romanized": [ - "Jan" - ] + "localized": ["Jan"], + "romanized": ["Jan"] }, { "id": "N-ES-2-M-5", "rank": 5, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-ES-2-M-6", "rank": 6, "gender": "M", - "localized": [ - "Pau" - ], - "romanized": [ - "Pau" - ] + "localized": ["Pau"], + "romanized": ["Pau"] }, { "id": "N-ES-2-M-7", "rank": 7, "gender": "M", - "localized": [ - "Àlex" - ], - "romanized": [ - "Àlex" - ] + "localized": ["Àlex"], + "romanized": ["Àlex"] }, { "id": "N-ES-2-M-8", "rank": 8, "gender": "M", - "localized": [ - "Marti" - ], - "romanized": [ - "Marti" - ] + "localized": ["Marti"], + "romanized": ["Marti"] }, { "id": "N-ES-2-M-9", "rank": 9, "gender": "M", - "localized": [ - "Biel" - ], - "romanized": [ - "Biel" - ] + "localized": ["Biel"], + "romanized": ["Biel"] }, { "id": "N-ES-2-M-10", "rank": 10, "gender": "M", - "localized": [ - "Hugo" - ], - "romanized": [ - "Hugo" - ] + "localized": ["Hugo"], + "romanized": ["Hugo"] } ] }, @@ -7672,221 +4996,141 @@ "id": "N-ES-3-F-1", "rank": 1, "gender": "F", - "localized": [ - "Lucía" - ], - "romanized": [ - "Lucía" - ] + "localized": ["Lucía"], + "romanized": ["Lucía"] }, { "id": "N-ES-3-F-2", "rank": 2, "gender": "F", - "localized": [ - "Martina" - ], - "romanized": [ - "Martina" - ] + "localized": ["Martina"], + "romanized": ["Martina"] }, { "id": "N-ES-3-F-3", "rank": 3, "gender": "F", - "localized": [ - "Sofía" - ], - "romanized": [ - "Sofía" - ] + "localized": ["Sofía"], + "romanized": ["Sofía"] }, { "id": "N-ES-3-F-4", "rank": 4, "gender": "F", - "localized": [ - "María" - ], - "romanized": [ - "María" - ] + "localized": ["María"], + "romanized": ["María"] }, { "id": "N-ES-3-F-5", "rank": 5, "gender": "F", - "localized": [ - "Valeria" - ], - "romanized": [ - "Valeria" - ] + "localized": ["Valeria"], + "romanized": ["Valeria"] }, { "id": "N-ES-3-F-6", "rank": 6, "gender": "F", - "localized": [ - "Julia" - ], - "romanized": [ - "Julia" - ] + "localized": ["Julia"], + "romanized": ["Julia"] }, { "id": "N-ES-3-F-7", "rank": 7, "gender": "F", - "localized": [ - "Paula" - ], - "romanized": [ - "Paula" - ] + "localized": ["Paula"], + "romanized": ["Paula"] }, { "id": "N-ES-3-F-8", "rank": 8, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-ES-3-F-9", "rank": 9, "gender": "F", - "localized": [ - "Daniela" - ], - "romanized": [ - "Daniela" - ] + "localized": ["Daniela"], + "romanized": ["Daniela"] }, { "id": "N-ES-3-F-10", "rank": 10, "gender": "F", - "localized": [ - "Carla" - ], - "romanized": [ - "Carla" - ] + "localized": ["Carla"], + "romanized": ["Carla"] }, { "id": "N-ES-3-M-1", "rank": 1, "gender": "M", - "localized": [ - "Martín" - ], - "romanized": [ - "Martín" - ] + "localized": ["Martín"], + "romanized": ["Martín"] }, { "id": "N-ES-3-M-2", "rank": 2, "gender": "M", - "localized": [ - "Hugo" - ], - "romanized": [ - "Hugo" - ] + "localized": ["Hugo"], + "romanized": ["Hugo"] }, { "id": "N-ES-3-M-3", "rank": 3, "gender": "M", - "localized": [ - "Mateo" - ], - "romanized": [ - "Mateo" - ] + "localized": ["Mateo"], + "romanized": ["Mateo"] }, { "id": "N-ES-3-M-4", "rank": 4, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-ES-3-M-5", "rank": 5, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-ES-3-M-6", "rank": 6, "gender": "M", - "localized": [ - "Manuel" - ], - "romanized": [ - "Manuel" - ] + "localized": ["Manuel"], + "romanized": ["Manuel"] }, { "id": "N-ES-3-M-7", "rank": 7, "gender": "M", - "localized": [ - "Daniel" - ], - "romanized": [ - "Daniel" - ] + "localized": ["Daniel"], + "romanized": ["Daniel"] }, { "id": "N-ES-3-M-8", "rank": 8, "gender": "M", - "localized": [ - "Alejandro" - ], - "romanized": [ - "Alejandro" - ] + "localized": ["Alejandro"], + "romanized": ["Alejandro"] }, { "id": "N-ES-3-M-9", "rank": 9, "gender": "M", - "localized": [ - "Pablo" - ], - "romanized": [ - "Pablo" - ] + "localized": ["Pablo"], + "romanized": ["Pablo"] }, { "id": "N-ES-3-M-10", "rank": 10, "gender": "M", - "localized": [ - "Álvaro" - ], - "romanized": [ - "Álvaro" - ] + "localized": ["Álvaro"], + "romanized": ["Álvaro"] } ] } @@ -7901,221 +5145,141 @@ "id": "N-FI-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-FI-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Aino" - ], - "romanized": [ - "Aino" - ] + "localized": ["Aino"], + "romanized": ["Aino"] }, { "id": "N-FI-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Aada" - ], - "romanized": [ - "Aada" - ] + "localized": ["Aada"], + "romanized": ["Aada"] }, { "id": "N-FI-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Lilja" - ], - "romanized": [ - "Lilja" - ] + "localized": ["Lilja"], + "romanized": ["Lilja"] }, { "id": "N-FI-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Eevi" - ], - "romanized": [ - "Eevi" - ] + "localized": ["Eevi"], + "romanized": ["Eevi"] }, { "id": "N-FI-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Isla" - ], - "romanized": [ - "Isla" - ] + "localized": ["Isla"], + "romanized": ["Isla"] }, { "id": "N-FI-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Helmi" - ], - "romanized": [ - "Helmi" - ] + "localized": ["Helmi"], + "romanized": ["Helmi"] }, { "id": "N-FI-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Venla" - ], - "romanized": [ - "Venla" - ] + "localized": ["Venla"], + "romanized": ["Venla"] }, { "id": "N-FI-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-FI-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Ellen" - ], - "romanized": [ - "Ellen" - ] + "localized": ["Ellen"], + "romanized": ["Ellen"] }, { "id": "N-FI-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-FI-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Väinö" - ], - "romanized": [ - "Väinö" - ] + "localized": ["Väinö"], + "romanized": ["Väinö"] }, { "id": "N-FI-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Eino" - ], - "romanized": [ - "Eino" - ] + "localized": ["Eino"], + "romanized": ["Eino"] }, { "id": "N-FI-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] }, { "id": "N-FI-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Elias" - ], - "romanized": [ - "Elias" - ] + "localized": ["Elias"], + "romanized": ["Elias"] }, { "id": "N-FI-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Onni" - ], - "romanized": [ - "Onni" - ] + "localized": ["Onni"], + "romanized": ["Onni"] }, { "id": "N-FI-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Emil" - ], - "romanized": [ - "Emil" - ] + "localized": ["Emil"], + "romanized": ["Emil"] }, { "id": "N-FI-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Eeli" - ], - "romanized": [ - "Eeli" - ] + "localized": ["Eeli"], + "romanized": ["Eeli"] }, { "id": "N-FI-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Toivo" - ], - "romanized": [ - "Toivo" - ] + "localized": ["Toivo"], + "romanized": ["Toivo"] }, { "id": "N-FI-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Leevi" - ], - "romanized": [ - "Leevi" - ] + "localized": ["Leevi"], + "romanized": ["Leevi"] } ] } @@ -8130,243 +5294,155 @@ "id": "N-FO-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Lea" - ], - "romanized": [ - "Lea" - ] + "localized": ["Lea"], + "romanized": ["Lea"] }, { "id": "N-FO-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Lív" - ], - "romanized": [ - "Lív" - ] + "localized": ["Lív"], + "romanized": ["Lív"] }, { "id": "N-FO-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-FO-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Julia" - ], - "romanized": [ - "Julia" - ] + "localized": ["Julia"], + "romanized": ["Julia"] }, { "id": "N-FO-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Ria" - ], - "romanized": [ - "Ria" - ] + "localized": ["Ria"], + "romanized": ["Ria"] }, { "id": "N-FO-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Sólja" - ], - "romanized": [ - "Sólja" - ] + "localized": ["Sólja"], + "romanized": ["Sólja"] }, { "id": "N-FO-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Hjørdis" - ], - "romanized": [ - "Hjørdis" - ] + "localized": ["Hjørdis"], + "romanized": ["Hjørdis"] }, { "id": "N-FO-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-FO-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Nora" - ], - "romanized": [ - "Nora" - ] + "localized": ["Nora"], + "romanized": ["Nora"] }, { "id": "N-FO-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Ronja" - ], - "romanized": [ - "Ronja" - ] + "localized": ["Ronja"], + "romanized": ["Ronja"] }, { "id": "N-FO-1-F-11", "rank": 11, "gender": "F", - "localized": [ - "Sofía" - ], - "romanized": [ - "Sofía" - ] + "localized": ["Sofía"], + "romanized": ["Sofía"] }, { "id": "N-FO-1-F-12", "rank": 12, "gender": "F", - "localized": [ - "Vár" - ], - "romanized": [ - "Vár" - ] + "localized": ["Vár"], + "romanized": ["Vár"] }, { "id": "N-FO-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Jónas" - ], - "romanized": [ - "Jónas" - ] + "localized": ["Jónas"], + "romanized": ["Jónas"] }, { "id": "N-FO-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Nóa" - ], - "romanized": [ - "Nóa" - ] + "localized": ["Nóa"], + "romanized": ["Nóa"] }, { "id": "N-FO-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Andrias" - ], - "romanized": [ - "Andrias" - ] + "localized": ["Andrias"], + "romanized": ["Andrias"] }, { "id": "N-FO-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Jógvan" - ], - "romanized": [ - "Jógvan" - ] + "localized": ["Jógvan"], + "romanized": ["Jógvan"] }, { "id": "N-FO-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Markus" - ], - "romanized": [ - "Markus" - ] + "localized": ["Markus"], + "romanized": ["Markus"] }, { "id": "N-FO-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Mattias" - ], - "romanized": [ - "Mattias" - ] + "localized": ["Mattias"], + "romanized": ["Mattias"] }, { "id": "N-FO-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Adrian" - ], - "romanized": [ - "Adrian" - ] + "localized": ["Adrian"], + "romanized": ["Adrian"] }, { "id": "N-FO-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Gilli" - ], - "romanized": [ - "Gilli" - ] + "localized": ["Gilli"], + "romanized": ["Gilli"] }, { "id": "N-FO-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Jákup" - ], - "romanized": [ - "Jákup" - ] + "localized": ["Jákup"], + "romanized": ["Jákup"] }, { "id": "N-FO-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Tróndur" - ], - "romanized": [ - "Tróndur" - ] + "localized": ["Tróndur"], + "romanized": ["Tróndur"] } ] } @@ -8381,221 +5457,141 @@ "id": "N-FR-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Jade" - ], - "romanized": [ - "Jade" - ] + "localized": ["Jade"], + "romanized": ["Jade"] }, { "id": "N-FR-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-FR-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Louise" - ], - "romanized": [ - "Louise" - ] + "localized": ["Louise"], + "romanized": ["Louise"] }, { "id": "N-FR-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-FR-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Alice" - ], - "romanized": [ - "Alice" - ] + "localized": ["Alice"], + "romanized": ["Alice"] }, { "id": "N-FR-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Lina" - ], - "romanized": [ - "Lina" - ] + "localized": ["Lina"], + "romanized": ["Lina"] }, { "id": "N-FR-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Ambre" - ], - "romanized": [ - "Ambre" - ] + "localized": ["Ambre"], + "romanized": ["Ambre"] }, { "id": "N-FR-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Rose" - ], - "romanized": [ - "Rose" - ] + "localized": ["Rose"], + "romanized": ["Rose"] }, { "id": "N-FR-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Chloé" - ], - "romanized": [ - "Chloé" - ] + "localized": ["Chloé"], + "romanized": ["Chloé"] }, { "id": "N-FR-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Anna" - ], - "romanized": [ - "Anna" - ] + "localized": ["Anna"], + "romanized": ["Anna"] }, { "id": "N-FR-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Léo" - ], - "romanized": [ - "Léo" - ] + "localized": ["Léo"], + "romanized": ["Léo"] }, { "id": "N-FR-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Gabriel" - ], - "romanized": [ - "Gabriel" - ] + "localized": ["Gabriel"], + "romanized": ["Gabriel"] }, { "id": "N-FR-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Raphaël" - ], - "romanized": [ - "Raphaël" - ] + "localized": ["Raphaël"], + "romanized": ["Raphaël"] }, { "id": "N-FR-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Arthur" - ], - "romanized": [ - "Arthur" - ] + "localized": ["Arthur"], + "romanized": ["Arthur"] }, { "id": "N-FR-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Louis" - ], - "romanized": [ - "Louis" - ] + "localized": ["Louis"], + "romanized": ["Louis"] }, { "id": "N-FR-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Maël" - ], - "romanized": [ - "Maël" - ] + "localized": ["Maël"], + "romanized": ["Maël"] }, { "id": "N-FR-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-FR-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Adam" - ], - "romanized": [ - "Adam" - ] + "localized": ["Adam"], + "romanized": ["Adam"] }, { "id": "N-FR-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Tiago" - ], - "romanized": [ - "Tiago" - ] + "localized": ["Tiago"], + "romanized": ["Tiago"] }, { "id": "N-FR-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Hugo" - ], - "romanized": [ - "Hugo" - ] + "localized": ["Hugo"], + "romanized": ["Hugo"] } ] } @@ -8610,221 +5606,141 @@ "id": "N-GB-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-GB-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-GB-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Isla" - ], - "romanized": [ - "Isla" - ] + "localized": ["Isla"], + "romanized": ["Isla"] }, { "id": "N-GB-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Ava" - ], - "romanized": [ - "Ava" - ] + "localized": ["Ava"], + "romanized": ["Ava"] }, { "id": "N-GB-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Ivy" - ], - "romanized": [ - "Ivy" - ] + "localized": ["Ivy"], + "romanized": ["Ivy"] }, { "id": "N-GB-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Florence" - ], - "romanized": [ - "Florence" - ] + "localized": ["Florence"], + "romanized": ["Florence"] }, { "id": "N-GB-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Lily" - ], - "romanized": [ - "Lily" - ] + "localized": ["Lily"], + "romanized": ["Lily"] }, { "id": "N-GB-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Freya" - ], - "romanized": [ - "Freya" - ] + "localized": ["Freya"], + "romanized": ["Freya"] }, { "id": "N-GB-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-GB-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Willow" - ], - "romanized": [ - "Willow" - ] + "localized": ["Willow"], + "romanized": ["Willow"] }, { "id": "N-GB-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-GB-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "George" - ], - "romanized": [ - "George" - ] + "localized": ["George"], + "romanized": ["George"] }, { "id": "N-GB-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] }, { "id": "N-GB-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Muhammad" - ], - "romanized": [ - "Muhammad" - ] + "localized": ["Muhammad"], + "romanized": ["Muhammad"] }, { "id": "N-GB-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Arthur" - ], - "romanized": [ - "Arthur" - ] + "localized": ["Arthur"], + "romanized": ["Arthur"] }, { "id": "N-GB-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-GB-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Harry" - ], - "romanized": [ - "Harry" - ] + "localized": ["Harry"], + "romanized": ["Harry"] }, { "id": "N-GB-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Oscar" - ], - "romanized": [ - "Oscar" - ] + "localized": ["Oscar"], + "romanized": ["Oscar"] }, { "id": "N-GB-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Henry" - ], - "romanized": [ - "Henry" - ] + "localized": ["Henry"], + "romanized": ["Henry"] }, { "id": "N-GB-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Theodore" - ], - "romanized": [ - "Theodore" - ] + "localized": ["Theodore"], + "romanized": ["Theodore"] } ] }, @@ -8837,232 +5753,148 @@ "id": "N-GB-2-F-1", "rank": 1, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-GB-2-F-2", "rank": 2, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-GB-2-F-3", "rank": 3, "gender": "F", - "localized": [ - "Isla" - ], - "romanized": [ - "Isla" - ] + "localized": ["Isla"], + "romanized": ["Isla"] }, { "id": "N-GB-2-F-4", "rank": 4, "gender": "F", - "localized": [ - "Freya" - ], - "romanized": [ - "Freya" - ] + "localized": ["Freya"], + "romanized": ["Freya"] }, { "id": "N-GB-2-F-5", "rank": 5, "gender": "F", - "localized": [ - "Ivy" - ], - "romanized": [ - "Ivy" - ] + "localized": ["Ivy"], + "romanized": ["Ivy"] }, { "id": "N-GB-2-F-6", "rank": 6, "gender": "F", - "localized": [ - "Rosie" - ], - "romanized": [ - "Rosie" - ] + "localized": ["Rosie"], + "romanized": ["Rosie"] }, { "id": "N-GB-2-F-7", "rank": 7, "gender": "F", - "localized": [ - "Ava" - ], - "romanized": [ - "Ava" - ] + "localized": ["Ava"], + "romanized": ["Ava"] }, { "id": "N-GB-2-F-8", "rank": 8, "gender": "F", - "localized": [ - "Grace" - ], - "romanized": [ - "Grace" - ] + "localized": ["Grace"], + "romanized": ["Grace"] }, { "id": "N-GB-2-F-9", "rank": 9, "gender": "F", - "localized": [ - "Lily" - ], - "romanized": [ - "Lily" - ] + "localized": ["Lily"], + "romanized": ["Lily"] }, { "id": "N-GB-2-F-10", "rank": 10, "gender": "F", - "localized": [ - "Evie" - ], - "romanized": [ - "Evie" - ] + "localized": ["Evie"], + "romanized": ["Evie"] }, { "id": "N-GB-2-F-11", "rank": 11, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-GB-2-M-1", "rank": 1, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-GB-2-M-2", "rank": 2, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] }, { "id": "N-GB-2-M-3", "rank": 3, "gender": "M", - "localized": [ - "Arthur" - ], - "romanized": [ - "Arthur" - ] + "localized": ["Arthur"], + "romanized": ["Arthur"] }, { "id": "N-GB-2-M-4", "rank": 4, "gender": "M", - "localized": [ - "Theo" - ], - "romanized": [ - "Theo" - ] + "localized": ["Theo"], + "romanized": ["Theo"] }, { "id": "N-GB-2-M-5", "rank": 5, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-GB-2-M-6", "rank": 6, "gender": "M", - "localized": [ - "Charlie" - ], - "romanized": [ - "Charlie" - ] + "localized": ["Charlie"], + "romanized": ["Charlie"] }, { "id": "N-GB-2-M-7", "rank": 7, "gender": "M", - "localized": [ - "Archie" - ], - "romanized": [ - "Archie" - ] + "localized": ["Archie"], + "romanized": ["Archie"] }, { "id": "N-GB-2-M-8", "rank": 8, "gender": "M", - "localized": [ - "George" - ], - "romanized": [ - "George" - ] + "localized": ["George"], + "romanized": ["George"] }, { "id": "N-GB-2-M-9", "rank": 9, "gender": "M", - "localized": [ - "Jack" - ], - "romanized": [ - "Jack" - ] + "localized": ["Jack"], + "romanized": ["Jack"] }, { "id": "N-GB-2-M-10", "rank": 10, "gender": "M", - "localized": [ - "Oscar" - ], - "romanized": [ - "Oscar" - ] + "localized": ["Oscar"], + "romanized": ["Oscar"] } ] }, @@ -9075,232 +5907,148 @@ "id": "N-GB-3-F-1", "rank": 1, "gender": "F", - "localized": [ - "Grace" - ], - "romanized": [ - "Grace" - ] + "localized": ["Grace"], + "romanized": ["Grace"] }, { "id": "N-GB-3-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emily" - ], - "romanized": [ - "Emily" - ] + "localized": ["Emily"], + "romanized": ["Emily"] }, { "id": "N-GB-3-F-3", "rank": 3, "gender": "F", - "localized": [ - "Fiadh" - ], - "romanized": [ - "Fiadh" - ] + "localized": ["Fiadh"], + "romanized": ["Fiadh"] }, { "id": "N-GB-3-F-4", "rank": 4, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-GB-3-F-5", "rank": 5, "gender": "F", - "localized": [ - "Isla" - ], - "romanized": [ - "Isla" - ] + "localized": ["Isla"], + "romanized": ["Isla"] }, { "id": "N-GB-3-F-6", "rank": 6, "gender": "F", - "localized": [ - "Aoife" - ], - "romanized": [ - "Aoife" - ] + "localized": ["Aoife"], + "romanized": ["Aoife"] }, { "id": "N-GB-3-F-7", "rank": 7, "gender": "F", - "localized": [ - "Lily" - ], - "romanized": [ - "Lily" - ] + "localized": ["Lily"], + "romanized": ["Lily"] }, { "id": "N-GB-3-F-8", "rank": 8, "gender": "F", - "localized": [ - "Annie" - ], - "romanized": [ - "Annie" - ] + "localized": ["Annie"], + "romanized": ["Annie"] }, { "id": "N-GB-3-F-9", "rank": 9, "gender": "F", - "localized": [ - "Evie" - ], - "romanized": [ - "Evie" - ] + "localized": ["Evie"], + "romanized": ["Evie"] }, { "id": "N-GB-3-F-10", "rank": 10, "gender": "F", - "localized": [ - "Freya" - ], - "romanized": [ - "Freya" - ] + "localized": ["Freya"], + "romanized": ["Freya"] }, { "id": "N-GB-3-F-11", "rank": 11, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-GB-3-M-1", "rank": 1, "gender": "M", - "localized": [ - "James" - ], - "romanized": [ - "James" - ] + "localized": ["James"], + "romanized": ["James"] }, { "id": "N-GB-3-M-2", "rank": 2, "gender": "M", - "localized": [ - "Jack" - ], - "romanized": [ - "Jack" - ] + "localized": ["Jack"], + "romanized": ["Jack"] }, { "id": "N-GB-3-M-3", "rank": 3, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-GB-3-M-4", "rank": 4, "gender": "M", - "localized": [ - "Theo" - ], - "romanized": [ - "Theo" - ] + "localized": ["Theo"], + "romanized": ["Theo"] }, { "id": "N-GB-3-M-5", "rank": 5, "gender": "M", - "localized": [ - "Charlie" - ], - "romanized": [ - "Charlie" - ] + "localized": ["Charlie"], + "romanized": ["Charlie"] }, { "id": "N-GB-3-M-6", "rank": 6, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] }, { "id": "N-GB-3-M-7", "rank": 7, "gender": "M", - "localized": [ - "Oisin" - ], - "romanized": [ - "Oisin" - ] + "localized": ["Oisin"], + "romanized": ["Oisin"] }, { "id": "N-GB-3-M-8", "rank": 8, "gender": "M", - "localized": [ - "Harry" - ], - "romanized": [ - "Harry" - ] + "localized": ["Harry"], + "romanized": ["Harry"] }, { "id": "N-GB-3-M-9", "rank": 9, "gender": "M", - "localized": [ - "Cillian" - ], - "romanized": [ - "Cillian" - ] + "localized": ["Cillian"], + "romanized": ["Cillian"] }, { "id": "N-GB-3-M-10", "rank": 10, "gender": "M", - "localized": [ - "Thomas" - ], - "romanized": [ - "Thomas" - ] + "localized": ["Thomas"], + "romanized": ["Thomas"] } ] }, @@ -9313,276 +6061,176 @@ "id": "N-GB-4-F-1", "rank": 1, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-GB-4-F-2", "rank": 2, "gender": "F", - "localized": [ - "Isla" - ], - "romanized": [ - "Isla" - ] + "localized": ["Isla"], + "romanized": ["Isla"] }, { "id": "N-GB-4-F-3", "rank": 3, "gender": "F", - "localized": [ - "Freya" - ], - "romanized": [ - "Freya" - ] + "localized": ["Freya"], + "romanized": ["Freya"] }, { "id": "N-GB-4-F-4", "rank": 4, "gender": "F", - "localized": [ - "Millie" - ], - "romanized": [ - "Millie" - ] + "localized": ["Millie"], + "romanized": ["Millie"] }, { "id": "N-GB-4-F-5", "rank": 5, "gender": "F", - "localized": [ - "Emily" - ], - "romanized": [ - "Emily" - ] + "localized": ["Emily"], + "romanized": ["Emily"] }, { "id": "N-GB-4-F-6", "rank": 6, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-GB-4-F-7", "rank": 7, "gender": "F", - "localized": [ - "Grace" - ], - "romanized": [ - "Grace" - ] + "localized": ["Grace"], + "romanized": ["Grace"] }, { "id": "N-GB-4-F-8", "rank": 8, "gender": "F", - "localized": [ - "Sophie" - ], - "romanized": [ - "Sophie" - ] + "localized": ["Sophie"], + "romanized": ["Sophie"] }, { "id": "N-GB-4-F-9", "rank": 9, "gender": "F", - "localized": [ - "Ava" - ], - "romanized": [ - "Ava" - ] + "localized": ["Ava"], + "romanized": ["Ava"] }, { "id": "N-GB-4-F-10", "rank": 10, "gender": "F", - "localized": [ - "Ella" - ], - "romanized": [ - "Ella" - ] + "localized": ["Ella"], + "romanized": ["Ella"] }, { "id": "N-GB-4-F-11", "rank": 11, "gender": "F", - "localized": [ - "Lily" - ], - "romanized": [ - "Lily" - ] + "localized": ["Lily"], + "romanized": ["Lily"] }, { "id": "N-GB-4-F-12", "rank": 12, "gender": "F", - "localized": [ - "Charlotte" - ], - "romanized": [ - "Charlotte" - ] + "localized": ["Charlotte"], + "romanized": ["Charlotte"] }, { "id": "N-GB-4-M-1", "rank": 1, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-GB-4-M-2", "rank": 2, "gender": "M", - "localized": [ - "Jack" - ], - "romanized": [ - "Jack" - ] + "localized": ["Jack"], + "romanized": ["Jack"] }, { "id": "N-GB-4-M-3", "rank": 3, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-GB-4-M-4", "rank": 4, "gender": "M", - "localized": [ - "Harris" - ], - "romanized": [ - "Harris" - ] + "localized": ["Harris"], + "romanized": ["Harris"] }, { "id": "N-GB-4-M-5", "rank": 5, "gender": "M", - "localized": [ - "Luca" - ], - "romanized": [ - "Luca" - ] + "localized": ["Luca"], + "romanized": ["Luca"] }, { "id": "N-GB-4-M-6", "rank": 6, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] }, { "id": "N-GB-4-M-7", "rank": 7, "gender": "M", - "localized": [ - "Rory" - ], - "romanized": [ - "Rory" - ] + "localized": ["Rory"], + "romanized": ["Rory"] }, { "id": "N-GB-4-M-8", "rank": 8, "gender": "M", - "localized": [ - "Archie" - ], - "romanized": [ - "Archie" - ] + "localized": ["Archie"], + "romanized": ["Archie"] }, { "id": "N-GB-4-M-9", "rank": 9, "gender": "M", - "localized": [ - "Alfie" - ], - "romanized": [ - "Alfie" - ] + "localized": ["Alfie"], + "romanized": ["Alfie"] }, { "id": "N-GB-4-M-10", "rank": 10, "gender": "M", - "localized": [ - "James" - ], - "romanized": [ - "James" - ] + "localized": ["James"], + "romanized": ["James"] }, { "id": "N-GB-4-M-11", "rank": 11, "gender": "M", - "localized": [ - "Theo" - ], - "romanized": [ - "Theo" - ] + "localized": ["Theo"], + "romanized": ["Theo"] }, { "id": "N-GB-4-M-12", "rank": 12, "gender": "M", - "localized": [ - "Finlay" - ], - "romanized": [ - "Finlay" - ] + "localized": ["Finlay"], + "romanized": ["Finlay"] }, { "id": "N-GB-4-M-13", "rank": 13, "gender": "M", - "localized": [ - "Lewis" - ], - "romanized": [ - "Lewis" - ] + "localized": ["Lewis"], + "romanized": ["Lewis"] } ] } @@ -9597,199 +6245,127 @@ "id": "N-GG-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-GG-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Charlotte" - ], - "romanized": [ - "Charlotte" - ] + "localized": ["Charlotte"], + "romanized": ["Charlotte"] }, { "id": "N-GG-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Evie" - ], - "romanized": [ - "Evie" - ] + "localized": ["Evie"], + "romanized": ["Evie"] }, { "id": "N-GG-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Florence" - ], - "romanized": [ - "Florence" - ] + "localized": ["Florence"], + "romanized": ["Florence"] }, { "id": "N-GG-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Imogen" - ], - "romanized": [ - "Imogen" - ] + "localized": ["Imogen"], + "romanized": ["Imogen"] }, { "id": "N-GG-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Isla" - ], - "romanized": [ - "Isla" - ] + "localized": ["Isla"], + "romanized": ["Isla"] }, { "id": "N-GG-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Penelope" - ], - "romanized": [ - "Penelope" - ] + "localized": ["Penelope"], + "romanized": ["Penelope"] }, { "id": "N-GG-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Luca" - ], - "romanized": [ - "Luca" - ] + "localized": ["Luca"], + "romanized": ["Luca"] }, { "id": "N-GG-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Theodore" - ], - "romanized": [ - "Theodore" - ] + "localized": ["Theodore"], + "romanized": ["Theodore"] }, { "id": "N-GG-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Archie" - ], - "romanized": [ - "Archie" - ] + "localized": ["Archie"], + "romanized": ["Archie"] }, { "id": "N-GG-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-GG-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Theo" - ], - "romanized": [ - "Theo" - ] + "localized": ["Theo"], + "romanized": ["Theo"] }, { "id": "N-GG-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Arthur" - ], - "romanized": [ - "Arthur" - ] + "localized": ["Arthur"], + "romanized": ["Arthur"] }, { "id": "N-GG-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "George" - ], - "romanized": [ - "George" - ] + "localized": ["George"], + "romanized": ["George"] }, { "id": "N-GG-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Max" - ], - "romanized": [ - "Max" - ] + "localized": ["Max"], + "romanized": ["Max"] }, { "id": "N-GG-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Oscar" - ], - "romanized": [ - "Oscar" - ] + "localized": ["Oscar"], + "romanized": ["Oscar"] }, { "id": "N-GG-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Thomas" - ], - "romanized": [ - "Thomas" - ] + "localized": ["Thomas"], + "romanized": ["Thomas"] }, { "id": "N-GG-1-M-11", "rank": 11, "gender": "M", - "localized": [ - "William" - ], - "romanized": [ - "William" - ] + "localized": ["William"], + "romanized": ["William"] } ] } @@ -9804,177 +6380,113 @@ "id": "N-GI-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sophia" - ], - "romanized": [ - "Sophia" - ] + "localized": ["Sophia"], + "romanized": ["Sophia"] }, { "id": "N-GI-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Ava" - ], - "romanized": [ - "Ava" - ] + "localized": ["Ava"], + "romanized": ["Ava"] }, { "id": "N-GI-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Chloe" - ], - "romanized": [ - "Chloe" - ] + "localized": ["Chloe"], + "romanized": ["Chloe"] }, { "id": "N-GI-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-GI-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Maya" - ], - "romanized": [ - "Maya" - ] + "localized": ["Maya"], + "romanized": ["Maya"] }, { "id": "N-GI-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-GI-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Anna" - ], - "romanized": [ - "Anna" - ] + "localized": ["Anna"], + "romanized": ["Anna"] }, { "id": "N-GI-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Hannah" - ], - "romanized": [ - "Hannah" - ] + "localized": ["Hannah"], + "romanized": ["Hannah"] }, { "id": "N-GI-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Kai" - ], - "romanized": [ - "Kai" - ] + "localized": ["Kai"], + "romanized": ["Kai"] }, { "id": "N-GI-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Max" - ], - "romanized": [ - "Max" - ] + "localized": ["Max"], + "romanized": ["Max"] }, { "id": "N-GI-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Daniel" - ], - "romanized": [ - "Daniel" - ] + "localized": ["Daniel"], + "romanized": ["Daniel"] }, { "id": "N-GI-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Hugo" - ], - "romanized": [ - "Hugo" - ] + "localized": ["Hugo"], + "romanized": ["Hugo"] }, { "id": "N-GI-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Jack" - ], - "romanized": [ - "Jack" - ] + "localized": ["Jack"], + "romanized": ["Jack"] }, { "id": "N-GI-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-GI-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-GI-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] } ] } @@ -9989,309 +6501,197 @@ "id": "N-GL-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Ivaana" - ], - "romanized": [ - "Ivaana" - ] + "localized": ["Ivaana"], + "romanized": ["Ivaana"] }, { "id": "N-GL-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Nivi" - ], - "romanized": [ - "Nivi" - ] + "localized": ["Nivi"], + "romanized": ["Nivi"] }, { "id": "N-GL-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Uiloq" - ], - "romanized": [ - "Uiloq" - ] + "localized": ["Uiloq"], + "romanized": ["Uiloq"] }, { "id": "N-GL-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Niviaq" - ], - "romanized": [ - "Niviaq" - ] + "localized": ["Niviaq"], + "romanized": ["Niviaq"] }, { "id": "N-GL-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-GL-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Ivalu" - ], - "romanized": [ - "Ivalu" - ] + "localized": ["Ivalu"], + "romanized": ["Ivalu"] }, { "id": "N-GL-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Pipaluk" - ], - "romanized": [ - "Pipaluk" - ] + "localized": ["Pipaluk"], + "romanized": ["Pipaluk"] }, { "id": "N-GL-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Malu" - ], - "romanized": [ - "Malu" - ] + "localized": ["Malu"], + "romanized": ["Malu"] }, { "id": "N-GL-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Paninnguaq" - ], - "romanized": [ - "Paninnguaq" - ] + "localized": ["Paninnguaq"], + "romanized": ["Paninnguaq"] }, { "id": "N-GL-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Aviana" - ], - "romanized": [ - "Aviana" - ] + "localized": ["Aviana"], + "romanized": ["Aviana"] }, { "id": "N-GL-1-F-11", "rank": 11, "gender": "F", - "localized": [ - "Maya" - ], - "romanized": [ - "Maya" - ] + "localized": ["Maya"], + "romanized": ["Maya"] }, { "id": "N-GL-1-F-12", "rank": 12, "gender": "F", - "localized": [ - "Paneeraq" - ], - "romanized": [ - "Paneeraq" - ] + "localized": ["Paneeraq"], + "romanized": ["Paneeraq"] }, { "id": "N-GL-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Inuk" - ], - "romanized": [ - "Inuk" - ] + "localized": ["Inuk"], + "romanized": ["Inuk"] }, { "id": "N-GL-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Malik" - ], - "romanized": [ - "Malik" - ] + "localized": ["Malik"], + "romanized": ["Malik"] }, { "id": "N-GL-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Minik" - ], - "romanized": [ - "Minik" - ] + "localized": ["Minik"], + "romanized": ["Minik"] }, { "id": "N-GL-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Inunnguag" - ], - "romanized": [ - "Inunnguag" - ] + "localized": ["Inunnguag"], + "romanized": ["Inunnguag"] }, { "id": "N-GL-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-GL-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Ulloriaq" - ], - "romanized": [ - "Ulloriaq" - ] + "localized": ["Ulloriaq"], + "romanized": ["Ulloriaq"] }, { "id": "N-GL-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Norsaq" - ], - "romanized": [ - "Norsaq" - ] + "localized": ["Norsaq"], + "romanized": ["Norsaq"] }, { "id": "N-GL-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Aputsiaq" - ], - "romanized": [ - "Aputsiaq" - ] + "localized": ["Aputsiaq"], + "romanized": ["Aputsiaq"] }, { "id": "N-GL-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Ivik" - ], - "romanized": [ - "Ivik" - ] + "localized": ["Ivik"], + "romanized": ["Ivik"] }, { "id": "N-GL-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Miki" - ], - "romanized": [ - "Miki" - ] + "localized": ["Miki"], + "romanized": ["Miki"] }, { "id": "N-GL-1-M-11", "rank": 11, "gender": "M", - "localized": [ - "Maligiaq" - ], - "romanized": [ - "Maligiaq" - ] + "localized": ["Maligiaq"], + "romanized": ["Maligiaq"] }, { "id": "N-GL-1-M-12", "rank": 12, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-GL-1-M-13", "rank": 13, "gender": "M", - "localized": [ - "Qillaq" - ], - "romanized": [ - "Qillaq" - ] + "localized": ["Qillaq"], + "romanized": ["Qillaq"] }, { "id": "N-GL-1-M-14", "rank": 14, "gender": "M", - "localized": [ - "Inutsiaq" - ], - "romanized": [ - "Inutsiaq" - ] + "localized": ["Inutsiaq"], + "romanized": ["Inutsiaq"] }, { "id": "N-GL-1-M-15", "rank": 15, "gender": "M", - "localized": [ - "Nuka" - ], - "romanized": [ - "Nuka" - ] + "localized": ["Nuka"], + "romanized": ["Nuka"] }, { "id": "N-GL-1-M-16", "rank": 16, "gender": "M", - "localized": [ - "Salik" - ], - "romanized": [ - "Salik" - ] + "localized": ["Salik"], + "romanized": ["Salik"] } ] } @@ -10306,100 +6706,64 @@ "id": "N-GQ-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "María del Carmen" - ], - "romanized": [ - "María del Carmen" - ] + "localized": ["María del Carmen"], + "romanized": ["María del Carmen"] }, { "id": "N-GQ-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Isabel" - ], - "romanized": [ - "Isabel" - ] + "localized": ["Isabel"], + "romanized": ["Isabel"] }, { "id": "N-GQ-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "María Teresa" - ], - "romanized": [ - "María Teresa" - ] + "localized": ["María Teresa"], + "romanized": ["María Teresa"] }, { "id": "N-GQ-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Esperanza" - ], - "romanized": [ - "Esperanza" - ] + "localized": ["Esperanza"], + "romanized": ["Esperanza"] }, { "id": "N-GQ-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Milagrosa" - ], - "romanized": [ - "Milagrosa" - ] + "localized": ["Milagrosa"], + "romanized": ["Milagrosa"] }, { "id": "N-GQ-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Manuel" - ], - "romanized": [ - "Manuel" - ] + "localized": ["Manuel"], + "romanized": ["Manuel"] }, { "id": "N-GQ-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Juan" - ], - "romanized": [ - "Juan" - ] + "localized": ["Juan"], + "romanized": ["Juan"] }, { "id": "N-GQ-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Antonio" - ], - "romanized": [ - "Antonio" - ] + "localized": ["Antonio"], + "romanized": ["Antonio"] }, { "id": "N-GQ-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "José" - ], - "romanized": [ - "José" - ] + "localized": ["José"], + "romanized": ["José"] } ] } @@ -10414,232 +6778,148 @@ "id": "N-HR-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-HR-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Lucija" - ], - "romanized": [ - "Lucija" - ] + "localized": ["Lucija"], + "romanized": ["Lucija"] }, { "id": "N-HR-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Nika" - ], - "romanized": [ - "Nika" - ] + "localized": ["Nika"], + "romanized": ["Nika"] }, { "id": "N-HR-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Rita" - ], - "romanized": [ - "Rita" - ] + "localized": ["Rita"], + "romanized": ["Rita"] }, { "id": "N-HR-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Ema" - ], - "romanized": [ - "Ema" - ] + "localized": ["Ema"], + "romanized": ["Ema"] }, { "id": "N-HR-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Mila" - ], - "romanized": [ - "Mila" - ] + "localized": ["Mila"], + "romanized": ["Mila"] }, { "id": "N-HR-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Marta" - ], - "romanized": [ - "Marta" - ] + "localized": ["Marta"], + "romanized": ["Marta"] }, { "id": "N-HR-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Sara" - ], - "romanized": [ - "Sara" - ] + "localized": ["Sara"], + "romanized": ["Sara"] }, { "id": "N-HR-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Ana" - ], - "romanized": [ - "Ana" - ] + "localized": ["Ana"], + "romanized": ["Ana"] }, { "id": "N-HR-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Dora" - ], - "romanized": [ - "Dora" - ] + "localized": ["Dora"], + "romanized": ["Dora"] }, { "id": "N-HR-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Luka" - ], - "romanized": [ - "Luka" - ] + "localized": ["Luka"], + "romanized": ["Luka"] }, { "id": "N-HR-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "David" - ], - "romanized": [ - "David" - ] + "localized": ["David"], + "romanized": ["David"] }, { "id": "N-HR-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Jakov" - ], - "romanized": [ - "Jakov" - ] + "localized": ["Jakov"], + "romanized": ["Jakov"] }, { "id": "N-HR-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Ivan" - ], - "romanized": [ - "Ivan" - ] + "localized": ["Ivan"], + "romanized": ["Ivan"] }, { "id": "N-HR-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Roko" - ], - "romanized": [ - "Roko" - ] + "localized": ["Roko"], + "romanized": ["Roko"] }, { "id": "N-HR-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Petar" - ], - "romanized": [ - "Petar" - ] + "localized": ["Petar"], + "romanized": ["Petar"] }, { "id": "N-HR-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Mateo" - ], - "romanized": [ - "Mateo" - ] + "localized": ["Mateo"], + "romanized": ["Mateo"] }, { "id": "N-HR-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Niko" - ], - "romanized": [ - "Niko" - ] + "localized": ["Niko"], + "romanized": ["Niko"] }, { "id": "N-HR-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Matej" - ], - "romanized": [ - "Matej" - ] + "localized": ["Matej"], + "romanized": ["Matej"] }, { "id": "N-HR-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Fran" - ], - "romanized": [ - "Fran" - ] + "localized": ["Fran"], + "romanized": ["Fran"] }, { "id": "N-HR-1-M-11", "rank": 11, "gender": "M", - "localized": [ - "Josip" - ], - "romanized": [ - "Josip" - ] + "localized": ["Josip"], + "romanized": ["Josip"] } ] } @@ -10654,243 +6934,155 @@ "id": "N-HT-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Widelene" - ], - "romanized": [ - "Widelene" - ] + "localized": ["Widelene"], + "romanized": ["Widelene"] }, { "id": "N-HT-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Mirlande" - ], - "romanized": [ - "Mirlande" - ] + "localized": ["Mirlande"], + "romanized": ["Mirlande"] }, { "id": "N-HT-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Myrlande" - ], - "romanized": [ - "Myrlande" - ] + "localized": ["Myrlande"], + "romanized": ["Myrlande"] }, { "id": "N-HT-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Islande" - ], - "romanized": [ - "Islande" - ] + "localized": ["Islande"], + "romanized": ["Islande"] }, { "id": "N-HT-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Lovelie" - ], - "romanized": [ - "Lovelie" - ] + "localized": ["Lovelie"], + "romanized": ["Lovelie"] }, { "id": "N-HT-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Lovely" - ], - "romanized": [ - "Lovely" - ] + "localized": ["Lovely"], + "romanized": ["Lovely"] }, { "id": "N-HT-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Judeline" - ], - "romanized": [ - "Judeline" - ] + "localized": ["Judeline"], + "romanized": ["Judeline"] }, { "id": "N-HT-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Angeline" - ], - "romanized": [ - "Angeline" - ] + "localized": ["Angeline"], + "romanized": ["Angeline"] }, { "id": "N-HT-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Esther" - ], - "romanized": [ - "Esther" - ] + "localized": ["Esther"], + "romanized": ["Esther"] }, { "id": "N-HT-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Chedeline" - ], - "romanized": [ - "Chedeline" - ] + "localized": ["Chedeline"], + "romanized": ["Chedeline"] }, { "id": "N-HT-1-F-11", "rank": 11, "gender": "F", - "localized": [ - "Jessica" - ], - "romanized": [ - "Jessica" - ] + "localized": ["Jessica"], + "romanized": ["Jessica"] }, { "id": "N-HT-1-F-12", "rank": 12, "gender": "F", - "localized": [ - "Rose-Merline" - ], - "romanized": [ - "Rose-Merline" - ] + "localized": ["Rose-Merline"], + "romanized": ["Rose-Merline"] }, { "id": "N-HT-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Stevenson" - ], - "romanized": [ - "Stevenson" - ] + "localized": ["Stevenson"], + "romanized": ["Stevenson"] }, { "id": "N-HT-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Stanley" - ], - "romanized": [ - "Stanley" - ] + "localized": ["Stanley"], + "romanized": ["Stanley"] }, { "id": "N-HT-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Samuel" - ], - "romanized": [ - "Samuel" - ] + "localized": ["Samuel"], + "romanized": ["Samuel"] }, { "id": "N-HT-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Peterson" - ], - "romanized": [ - "Peterson" - ] + "localized": ["Peterson"], + "romanized": ["Peterson"] }, { "id": "N-HT-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Daniel" - ], - "romanized": [ - "Daniel" - ] + "localized": ["Daniel"], + "romanized": ["Daniel"] }, { "id": "N-HT-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Wilson" - ], - "romanized": [ - "Wilson" - ] + "localized": ["Wilson"], + "romanized": ["Wilson"] }, { "id": "N-HT-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Jameson" - ], - "romanized": [ - "Jameson" - ] + "localized": ["Jameson"], + "romanized": ["Jameson"] }, { "id": "N-HT-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Evens" - ], - "romanized": [ - "Evens" - ] + "localized": ["Evens"], + "romanized": ["Evens"] }, { "id": "N-HT-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Ricardo" - ], - "romanized": [ - "Ricardo" - ] + "localized": ["Ricardo"], + "romanized": ["Ricardo"] }, { "id": "N-HT-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Emmanuel" - ], - "romanized": [ - "Emmanuel" - ] + "localized": ["Emmanuel"], + "romanized": ["Emmanuel"] } ] } @@ -10905,221 +7097,141 @@ "id": "N-HU-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Hanna" - ], - "romanized": [ - "Hanna" - ] + "localized": ["Hanna"], + "romanized": ["Hanna"] }, { "id": "N-HU-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Zoé" - ], - "romanized": [ - "Zoé" - ] + "localized": ["Zoé"], + "romanized": ["Zoé"] }, { "id": "N-HU-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Anna" - ], - "romanized": [ - "Anna" - ] + "localized": ["Anna"], + "romanized": ["Anna"] }, { "id": "N-HU-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Léna" - ], - "romanized": [ - "Léna" - ] + "localized": ["Léna"], + "romanized": ["Léna"] }, { "id": "N-HU-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Luca" - ], - "romanized": [ - "Luca" - ] + "localized": ["Luca"], + "romanized": ["Luca"] }, { "id": "N-HU-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-HU-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Boglárka" - ], - "romanized": [ - "Boglárka" - ] + "localized": ["Boglárka"], + "romanized": ["Boglárka"] }, { "id": "N-HU-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Lili" - ], - "romanized": [ - "Lili" - ] + "localized": ["Lili"], + "romanized": ["Lili"] }, { "id": "N-HU-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Lilien" - ], - "romanized": [ - "Lilien" - ] + "localized": ["Lilien"], + "romanized": ["Lilien"] }, { "id": "N-HU-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Lara" - ], - "romanized": [ - "Lara" - ] + "localized": ["Lara"], + "romanized": ["Lara"] }, { "id": "N-HU-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Levente" - ], - "romanized": [ - "Levente" - ] + "localized": ["Levente"], + "romanized": ["Levente"] }, { "id": "N-HU-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Máté" - ], - "romanized": [ - "Máté" - ] + "localized": ["Máté"], + "romanized": ["Máté"] }, { "id": "N-HU-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Dominik" - ], - "romanized": [ - "Dominik" - ] + "localized": ["Dominik"], + "romanized": ["Dominik"] }, { "id": "N-HU-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Bence" - ], - "romanized": [ - "Bence" - ] + "localized": ["Bence"], + "romanized": ["Bence"] }, { "id": "N-HU-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Olivér" - ], - "romanized": [ - "Olivér" - ] + "localized": ["Olivér"], + "romanized": ["Olivér"] }, { "id": "N-HU-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Noel" - ], - "romanized": [ - "Noel" - ] + "localized": ["Noel"], + "romanized": ["Noel"] }, { "id": "N-HU-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Marcell" - ], - "romanized": [ - "Marcell" - ] + "localized": ["Marcell"], + "romanized": ["Marcell"] }, { "id": "N-HU-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Dániel" - ], - "romanized": [ - "Dániel" - ] + "localized": ["Dániel"], + "romanized": ["Dániel"] }, { "id": "N-HU-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Zalán" - ], - "romanized": [ - "Zalán" - ] + "localized": ["Zalán"], + "romanized": ["Zalán"] }, { "id": "N-HU-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Ádám" - ], - "romanized": [ - "Ádám" - ] + "localized": ["Ádám"], + "romanized": ["Ádám"] } ] } @@ -11134,221 +7246,141 @@ "id": "N-IE-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Emily" - ], - "romanized": [ - "Emily" - ] + "localized": ["Emily"], + "romanized": ["Emily"] }, { "id": "N-IE-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Grace" - ], - "romanized": [ - "Grace" - ] + "localized": ["Grace"], + "romanized": ["Grace"] }, { "id": "N-IE-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Fiadh" - ], - "romanized": [ - "Fiadh" - ] + "localized": ["Fiadh"], + "romanized": ["Fiadh"] }, { "id": "N-IE-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Sophie" - ], - "romanized": [ - "Sophie" - ] + "localized": ["Sophie"], + "romanized": ["Sophie"] }, { "id": "N-IE-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Lily" - ], - "romanized": [ - "Lily" - ] + "localized": ["Lily"], + "romanized": ["Lily"] }, { "id": "N-IE-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Éabha" - ], - "romanized": [ - "Éabha" - ] + "localized": ["Éabha"], + "romanized": ["Éabha"] }, { "id": "N-IE-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Ava" - ], - "romanized": [ - "Ava" - ] + "localized": ["Ava"], + "romanized": ["Ava"] }, { "id": "N-IE-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-IE-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Ellie" - ], - "romanized": [ - "Ellie" - ] + "localized": ["Ellie"], + "romanized": ["Ellie"] }, { "id": "N-IE-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-IE-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Jack" - ], - "romanized": [ - "Jack" - ] + "localized": ["Jack"], + "romanized": ["Jack"] }, { "id": "N-IE-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-IE-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "James" - ], - "romanized": [ - "James" - ] + "localized": ["James"], + "romanized": ["James"] }, { "id": "N-IE-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Rían" - ], - "romanized": [ - "Rían" - ] + "localized": ["Rían"], + "romanized": ["Rían"] }, { "id": "N-IE-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Charlie" - ], - "romanized": [ - "Charlie" - ] + "localized": ["Charlie"], + "romanized": ["Charlie"] }, { "id": "N-IE-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Oisín" - ], - "romanized": [ - "Oisín" - ] + "localized": ["Oisín"], + "romanized": ["Oisín"] }, { "id": "N-IE-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Tadhg" - ], - "romanized": [ - "Tadhg" - ] + "localized": ["Tadhg"], + "romanized": ["Tadhg"] }, { "id": "N-IE-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-IE-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Cillian" - ], - "romanized": [ - "Cillian" - ] + "localized": ["Cillian"], + "romanized": ["Cillian"] }, { "id": "N-IE-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Daniel" - ], - "romanized": [ - "Daniel" - ] + "localized": ["Daniel"], + "romanized": ["Daniel"] } ] } @@ -11363,122 +7395,78 @@ "id": "N-IL-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Charbel" - ], - "romanized": [ - "Charbel" - ] + "localized": ["Charbel"], + "romanized": ["Charbel"] }, { "id": "N-IL-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Jude" - ], - "romanized": [ - "Jude" - ] + "localized": ["Jude"], + "romanized": ["Jude"] }, { "id": "N-IL-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Niel" - ], - "romanized": [ - "Niel" - ] + "localized": ["Niel"], + "romanized": ["Niel"] }, { "id": "N-IL-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Elias" - ], - "romanized": [ - "Elias" - ] + "localized": ["Elias"], + "romanized": ["Elias"] }, { "id": "N-IL-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-IL-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "George" - ], - "romanized": [ - "George" - ] + "localized": ["George"], + "romanized": ["George"] }, { "id": "N-IL-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Lin" - ], - "romanized": [ - "Lin" - ] + "localized": ["Lin"], + "romanized": ["Lin"] }, { "id": "N-IL-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Maria" - ], - "romanized": [ - "Maria" - ] + "localized": ["Maria"], + "romanized": ["Maria"] }, { "id": "N-IL-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Sama" - ], - "romanized": [ - "Sama" - ] + "localized": ["Sama"], + "romanized": ["Sama"] }, { "id": "N-IL-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Celine" - ], - "romanized": [ - "Celine" - ] + "localized": ["Celine"], + "romanized": ["Celine"] }, { "id": "N-IL-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Leah" - ], - "romanized": [ - "Leah" - ] + "localized": ["Leah"], + "romanized": ["Leah"] } ] }, @@ -11491,111 +7479,71 @@ "id": "N-IL-2-M-1", "rank": 1, "gender": "M", - "localized": [ - "Adam" - ], - "romanized": [ - "Adam" - ] + "localized": ["Adam"], + "romanized": ["Adam"] }, { "id": "N-IL-2-M-2", "rank": 2, "gender": "M", - "localized": [ - "Taim" - ], - "romanized": [ - "Taim" - ] + "localized": ["Taim"], + "romanized": ["Taim"] }, { "id": "N-IL-2-M-3", "rank": 3, "gender": "M", - "localized": [ - "Niel" - ], - "romanized": [ - "Niel" - ] + "localized": ["Niel"], + "romanized": ["Niel"] }, { "id": "N-IL-2-M-4", "rank": 4, "gender": "M", - "localized": [ - "Amir" - ], - "romanized": [ - "Amir" - ] + "localized": ["Amir"], + "romanized": ["Amir"] }, { "id": "N-IL-2-M-5", "rank": 5, "gender": "M", - "localized": [ - "Jude" - ], - "romanized": [ - "Jude" - ] + "localized": ["Jude"], + "romanized": ["Jude"] }, { "id": "N-IL-2-F-1", "rank": 1, "gender": "F", - "localized": [ - "Mila" - ], - "romanized": [ - "Mila" - ] + "localized": ["Mila"], + "romanized": ["Mila"] }, { "id": "N-IL-2-F-2", "rank": 2, "gender": "F", - "localized": [ - "Ayalah" - ], - "romanized": [ - "Ayalah" - ] + "localized": ["Ayalah"], + "romanized": ["Ayalah"] }, { "id": "N-IL-2-F-3", "rank": 3, "gender": "F", - "localized": [ - "Lur" - ], - "romanized": [ - "Lur" - ] + "localized": ["Lur"], + "romanized": ["Lur"] }, { "id": "N-IL-2-F-4", "rank": 4, "gender": "F", - "localized": [ - "Lin" - ], - "romanized": [ - "Lin" - ] + "localized": ["Lin"], + "romanized": ["Lin"] }, { "id": "N-IL-2-F-5", "rank": 5, "gender": "F", - "localized": [ - "Yasmin" - ], - "romanized": [ - "Yasmin" - ] + "localized": ["Yasmin"], + "romanized": ["Yasmin"] } ] }, @@ -11608,221 +7556,141 @@ "id": "N-IL-3-M-1", "rank": 1, "gender": "M", - "localized": [ - "Muhammad" - ], - "romanized": [ - "Muhammad" - ] + "localized": ["Muhammad"], + "romanized": ["Muhammad"] }, { "id": "N-IL-3-M-2", "rank": 2, "gender": "M", - "localized": [ - "Ahmad" - ], - "romanized": [ - "Ahmad" - ] + "localized": ["Ahmad"], + "romanized": ["Ahmad"] }, { "id": "N-IL-3-M-3", "rank": 3, "gender": "M", - "localized": [ - "Adam" - ], - "romanized": [ - "Adam" - ] + "localized": ["Adam"], + "romanized": ["Adam"] }, { "id": "N-IL-3-M-4", "rank": 4, "gender": "M", - "localized": [ - "Yusef" - ], - "romanized": [ - "Yusef" - ] + "localized": ["Yusef"], + "romanized": ["Yusef"] }, { "id": "N-IL-3-M-5", "rank": 5, "gender": "M", - "localized": [ - "Omer" - ], - "romanized": [ - "Omer" - ] + "localized": ["Omer"], + "romanized": ["Omer"] }, { "id": "N-IL-3-M-6", "rank": 6, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-IL-3-M-7", "rank": 7, "gender": "M", - "localized": [ - "Abd" - ], - "romanized": [ - "Abd" - ] + "localized": ["Abd"], + "romanized": ["Abd"] }, { "id": "N-IL-3-M-8", "rank": 8, "gender": "M", - "localized": [ - "Amir" - ], - "romanized": [ - "Amir" - ] + "localized": ["Amir"], + "romanized": ["Amir"] }, { "id": "N-IL-3-M-9", "rank": 9, "gender": "M", - "localized": [ - "Ibrahim" - ], - "romanized": [ - "Ibrahim" - ] + "localized": ["Ibrahim"], + "romanized": ["Ibrahim"] }, { "id": "N-IL-3-M-10", "rank": 10, "gender": "M", - "localized": [ - "Mahmoud" - ], - "romanized": [ - "Mahmoud" - ] + "localized": ["Mahmoud"], + "romanized": ["Mahmoud"] }, { "id": "N-IL-3-F-1", "rank": 1, "gender": "F", - "localized": [ - "Maryam" - ], - "romanized": [ - "Maryam" - ] + "localized": ["Maryam"], + "romanized": ["Maryam"] }, { "id": "N-IL-3-F-2", "rank": 2, "gender": "F", - "localized": [ - "Shams" - ], - "romanized": [ - "Shams" - ] + "localized": ["Shams"], + "romanized": ["Shams"] }, { "id": "N-IL-3-F-3", "rank": 3, "gender": "F", - "localized": [ - "Lyn" - ], - "romanized": [ - "Lyn" - ] + "localized": ["Lyn"], + "romanized": ["Lyn"] }, { "id": "N-IL-3-F-4", "rank": 4, "gender": "F", - "localized": [ - "Malek" - ], - "romanized": [ - "Malek" - ] + "localized": ["Malek"], + "romanized": ["Malek"] }, { "id": "N-IL-3-F-5", "rank": 5, "gender": "F", - "localized": [ - "Jori" - ], - "romanized": [ - "Jori" - ] + "localized": ["Jori"], + "romanized": ["Jori"] }, { "id": "N-IL-3-F-6", "rank": 6, "gender": "F", - "localized": [ - "Lian" - ], - "romanized": [ - "Lian" - ] + "localized": ["Lian"], + "romanized": ["Lian"] }, { "id": "N-IL-3-F-7", "rank": 7, "gender": "F", - "localized": [ - "Mila" - ], - "romanized": [ - "Mila" - ] + "localized": ["Mila"], + "romanized": ["Mila"] }, { "id": "N-IL-3-F-8", "rank": 8, "gender": "F", - "localized": [ - "Aline" - ], - "romanized": [ - "Aline" - ] + "localized": ["Aline"], + "romanized": ["Aline"] }, { "id": "N-IL-3-F-9", "rank": 9, "gender": "F", - "localized": [ - "Nur" - ], - "romanized": [ - "Nur" - ] + "localized": ["Nur"], + "romanized": ["Nur"] }, { "id": "N-IL-3-F-10", "rank": 10, "gender": "F", - "localized": [ - "Marya" - ], - "romanized": [ - "Marya" - ] + "localized": ["Marya"], + "romanized": ["Marya"] } ] }, @@ -11835,199 +7703,127 @@ "id": "N-IL-4-M-1", "rank": 1, "gender": "M", - "localized": [ - "David" - ], - "romanized": [ - "David" - ] + "localized": ["David"], + "romanized": ["David"] }, { "id": "N-IL-4-M-2", "rank": 2, "gender": "M", - "localized": [ - "Ariel" - ], - "romanized": [ - "Ariel" - ] + "localized": ["Ariel"], + "romanized": ["Ariel"] }, { "id": "N-IL-4-M-3", "rank": 3, "gender": "M", - "localized": [ - "Lavi" - ], - "romanized": [ - "Lavi" - ] + "localized": ["Lavi"], + "romanized": ["Lavi"] }, { "id": "N-IL-4-M-4", "rank": 4, "gender": "M", - "localized": [ - "Uri" - ], - "romanized": [ - "Uri" - ] + "localized": ["Uri"], + "romanized": ["Uri"] }, { "id": "N-IL-4-M-5", "rank": 5, "gender": "M", - "localized": [ - "Refael" - ], - "romanized": [ - "Refael" - ] + "localized": ["Refael"], + "romanized": ["Refael"] }, { "id": "N-IL-4-M-6", "rank": 6, "gender": "M", - "localized": [ - "Noam" - ], - "romanized": [ - "Noam" - ] + "localized": ["Noam"], + "romanized": ["Noam"] }, { "id": "N-IL-4-M-7", "rank": 7, "gender": "M", - "localized": [ - "Eitan" - ], - "romanized": [ - "Eitan" - ] + "localized": ["Eitan"], + "romanized": ["Eitan"] }, { "id": "N-IL-4-M-8", "rank": 8, "gender": "M", - "localized": [ - "Ari" - ], - "romanized": [ - "Ari" - ] + "localized": ["Ari"], + "romanized": ["Ari"] }, { "id": "N-IL-4-M-9", "rank": 9, "gender": "M", - "localized": [ - "Daniel" - ], - "romanized": [ - "Daniel" - ] + "localized": ["Daniel"], + "romanized": ["Daniel"] }, { "id": "N-IL-4-M-10", "rank": 10, "gender": "M", - "localized": [ - "Yehuda" - ], - "romanized": [ - "Yehuda" - ] + "localized": ["Yehuda"], + "romanized": ["Yehuda"] }, { "id": "N-IL-4-F-1", "rank": 1, "gender": "F", - "localized": [ - "Avigail" - ], - "romanized": [ - "Avigail" - ] + "localized": ["Avigail"], + "romanized": ["Avigail"] }, { "id": "N-IL-4-F-2", "rank": 2, "gender": "F", - "localized": [ - "Tamar" - ], - "romanized": [ - "Tamar" - ] + "localized": ["Tamar"], + "romanized": ["Tamar"] }, { "id": "N-IL-4-F-3", "rank": 3, "gender": "F", - "localized": [ - "Noa" - ], - "romanized": [ - "Noa" - ] + "localized": ["Noa"], + "romanized": ["Noa"] }, { "id": "N-IL-4-F-4", "rank": 4, "gender": "F", - "localized": [ - "Sarah" - ], - "romanized": [ - "Sarah" - ] + "localized": ["Sarah"], + "romanized": ["Sarah"] }, { "id": "N-IL-4-F-5", "rank": 5, "gender": "F", - "localized": [ - "Adele" - ], - "romanized": [ - "Adele" - ] + "localized": ["Adele"], + "romanized": ["Adele"] }, { "id": "N-IL-4-F-6", "rank": 6, "gender": "F", - "localized": [ - "Maya" - ], - "romanized": [ - "Maya" - ] + "localized": ["Maya"], + "romanized": ["Maya"] }, { "id": "N-IL-4-F-7", "rank": 7, "gender": "F", - "localized": [ - "Lia" - ], - "romanized": [ - "Lia" - ] + "localized": ["Lia"], + "romanized": ["Lia"] }, { "id": "N-IL-4-F-8", "rank": 8, "gender": "F", - "localized": [ - "Ayala" - ], - "romanized": [ - "Ayala" - ] + "localized": ["Ayala"], + "romanized": ["Ayala"] } ] } @@ -12042,210 +7838,134 @@ "id": "N-IM-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Lily" - ], - "romanized": [ - "Lily" - ] + "localized": ["Lily"], + "romanized": ["Lily"] }, { "id": "N-IM-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Lillie" - ], - "romanized": [ - "Lillie" - ] + "localized": ["Lillie"], + "romanized": ["Lillie"] }, { "id": "N-IM-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Lilly" - ], - "romanized": [ - "Lilly" - ] + "localized": ["Lilly"], + "romanized": ["Lilly"] }, { "id": "N-IM-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Ella" - ], - "romanized": [ - "Ella" - ] + "localized": ["Ella"], + "romanized": ["Ella"] }, { "id": "N-IM-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Emilia" - ], - "romanized": [ - "Emilia" - ] + "localized": ["Emilia"], + "romanized": ["Emilia"] }, { "id": "N-IM-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Emelia" - ], - "romanized": [ - "Emelia" - ] + "localized": ["Emelia"], + "romanized": ["Emelia"] }, { "id": "N-IM-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Emiliya" - ], - "romanized": [ - "Emiliya" - ] + "localized": ["Emiliya"], + "romanized": ["Emiliya"] }, { "id": "N-IM-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-IM-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Isla" - ], - "romanized": [ - "Isla" - ] + "localized": ["Isla"], + "romanized": ["Isla"] }, { "id": "N-IM-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-IM-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-IM-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Theo" - ], - "romanized": [ - "Theo" - ] + "localized": ["Theo"], + "romanized": ["Theo"] }, { "id": "N-IM-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Theodore" - ], - "romanized": [ - "Theodore" - ] + "localized": ["Theodore"], + "romanized": ["Theodore"] }, { "id": "N-IM-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Jack" - ], - "romanized": [ - "Jack" - ] + "localized": ["Jack"], + "romanized": ["Jack"] }, { "id": "N-IM-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-IM-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Alfie" - ], - "romanized": [ - "Alfie" - ] + "localized": ["Alfie"], + "romanized": ["Alfie"] }, { "id": "N-IM-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Archie" - ], - "romanized": [ - "Archie" - ] + "localized": ["Archie"], + "romanized": ["Archie"] }, { "id": "N-IM-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Benjamin" - ], - "romanized": [ - "Benjamin" - ] + "localized": ["Benjamin"], + "romanized": ["Benjamin"] }, { "id": "N-IM-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Edward" - ], - "romanized": [ - "Edward" - ] + "localized": ["Edward"], + "romanized": ["Edward"] } ] } @@ -12260,221 +7980,141 @@ "id": "N-IN-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Aditi" - ], - "romanized": [ - "Aditi" - ] + "localized": ["Aditi"], + "romanized": ["Aditi"] }, { "id": "N-IN-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Inaya" - ], - "romanized": [ - "Inaya" - ] + "localized": ["Inaya"], + "romanized": ["Inaya"] }, { "id": "N-IN-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Aarya" - ], - "romanized": [ - "Aarya" - ] + "localized": ["Aarya"], + "romanized": ["Aarya"] }, { "id": "N-IN-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Kiara" - ], - "romanized": [ - "Kiara" - ] + "localized": ["Kiara"], + "romanized": ["Kiara"] }, { "id": "N-IN-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Aadhya" - ], - "romanized": [ - "Aadhya" - ] + "localized": ["Aadhya"], + "romanized": ["Aadhya"] }, { "id": "N-IN-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Vamika" - ], - "romanized": [ - "Vamika" - ] + "localized": ["Vamika"], + "romanized": ["Vamika"] }, { "id": "N-IN-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Pari" - ], - "romanized": [ - "Pari" - ] + "localized": ["Pari"], + "romanized": ["Pari"] }, { "id": "N-IN-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Jiya" - ], - "romanized": [ - "Jiya" - ] + "localized": ["Jiya"], + "romanized": ["Jiya"] }, { "id": "N-IN-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Mehar" - ], - "romanized": [ - "Mehar" - ] + "localized": ["Mehar"], + "romanized": ["Mehar"] }, { "id": "N-IN-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Amayra" - ], - "romanized": [ - "Amayra" - ] + "localized": ["Amayra"], + "romanized": ["Amayra"] }, { "id": "N-IN-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Muhammad" - ], - "romanized": [ - "Muhammad" - ] + "localized": ["Muhammad"], + "romanized": ["Muhammad"] }, { "id": "N-IN-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Shivansh" - ], - "romanized": [ - "Shivansh" - ] + "localized": ["Shivansh"], + "romanized": ["Shivansh"] }, { "id": "N-IN-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Dhruv" - ], - "romanized": [ - "Dhruv" - ] + "localized": ["Dhruv"], + "romanized": ["Dhruv"] }, { "id": "N-IN-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Kabir" - ], - "romanized": [ - "Kabir" - ] + "localized": ["Kabir"], + "romanized": ["Kabir"] }, { "id": "N-IN-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Vedant" - ], - "romanized": [ - "Vedant" - ] + "localized": ["Vedant"], + "romanized": ["Vedant"] }, { "id": "N-IN-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Kiaan" - ], - "romanized": [ - "Kiaan" - ] + "localized": ["Kiaan"], + "romanized": ["Kiaan"] }, { "id": "N-IN-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Aarav" - ], - "romanized": [ - "Aarav" - ] + "localized": ["Aarav"], + "romanized": ["Aarav"] }, { "id": "N-IN-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Arjun" - ], - "romanized": [ - "Arjun" - ] + "localized": ["Arjun"], + "romanized": ["Arjun"] }, { "id": "N-IN-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Viraj" - ], - "romanized": [ - "Viraj" - ] + "localized": ["Viraj"], + "romanized": ["Viraj"] }, { "id": "N-IN-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Krishna" - ], - "romanized": [ - "Krishna" - ] + "localized": ["Krishna"], + "romanized": ["Krishna"] } ] } @@ -12489,111 +8129,71 @@ "id": "N-IQ-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-IQ-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Muhammed" - ], - "romanized": [ - "Muhammed" - ] + "localized": ["Muhammed"], + "romanized": ["Muhammed"] }, { "id": "N-IQ-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Hussein" - ], - "romanized": [ - "Hussein" - ] + "localized": ["Hussein"], + "romanized": ["Hussein"] }, { "id": "N-IQ-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Hydar" - ], - "romanized": [ - "Hydar" - ] + "localized": ["Hydar"], + "romanized": ["Hydar"] }, { "id": "N-IQ-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Ahmed" - ], - "romanized": [ - "Ahmed" - ] + "localized": ["Ahmed"], + "romanized": ["Ahmed"] }, { "id": "N-IQ-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Omar" - ], - "romanized": [ - "Omar" - ] + "localized": ["Omar"], + "romanized": ["Omar"] }, { "id": "N-IQ-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Hasan" - ], - "romanized": [ - "Hasan" - ] + "localized": ["Hasan"], + "romanized": ["Hasan"] }, { "id": "N-IQ-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Kathem" - ], - "romanized": [ - "Kathem" - ] + "localized": ["Kathem"], + "romanized": ["Kathem"] }, { "id": "N-IQ-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Abdullah" - ], - "romanized": [ - "Abdullah" - ] + "localized": ["Abdullah"], + "romanized": ["Abdullah"] }, { "id": "N-IQ-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Ammar" - ], - "romanized": [ - "Ammar" - ] + "localized": ["Ammar"], + "romanized": ["Ammar"] } ] } @@ -12608,441 +8208,281 @@ "id": "N-IR-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Fatemeh" - ], - "romanized": [ - "Fatemeh" - ] + "localized": ["Fatemeh"], + "romanized": ["Fatemeh"] }, { "id": "N-IR-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Zahra" - ], - "romanized": [ - "Zahra" - ] + "localized": ["Zahra"], + "romanized": ["Zahra"] }, { "id": "N-IR-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Helma" - ], - "romanized": [ - "Helma" - ] + "localized": ["Helma"], + "romanized": ["Helma"] }, { "id": "N-IR-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Zeinab" - ], - "romanized": [ - "Zeinab" - ] + "localized": ["Zeinab"], + "romanized": ["Zeinab"] }, { "id": "N-IR-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Yasna" - ], - "romanized": [ - "Yasna" - ] + "localized": ["Yasna"], + "romanized": ["Yasna"] }, { "id": "N-IR-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Ava" - ], - "romanized": [ - "Ava" - ] + "localized": ["Ava"], + "romanized": ["Ava"] }, { "id": "N-IR-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Mersana" - ], - "romanized": [ - "Mersana" - ] + "localized": ["Mersana"], + "romanized": ["Mersana"] }, { "id": "N-IR-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Nazanin-Zahra" - ], - "romanized": [ - "Nazanin-Zahra" - ] + "localized": ["Nazanin-Zahra"], + "romanized": ["Nazanin-Zahra"] }, { "id": "N-IR-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Baran" - ], - "romanized": [ - "Baran" - ] + "localized": ["Baran"], + "romanized": ["Baran"] }, { "id": "N-IR-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Fatemeh-Zahra" - ], - "romanized": [ - "Fatemeh-Zahra" - ] + "localized": ["Fatemeh-Zahra"], + "romanized": ["Fatemeh-Zahra"] }, { "id": "N-IR-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Amir-Ali" - ], - "romanized": [ - "Amir-Ali" - ] + "localized": ["Amir-Ali"], + "romanized": ["Amir-Ali"] }, { "id": "N-IR-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Mohammad" - ], - "romanized": [ - "Mohammad" - ] + "localized": ["Mohammad"], + "romanized": ["Mohammad"] }, { "id": "N-IR-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-IR-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Amir-Hossein" - ], - "romanized": [ - "Amir-Hossein" - ] + "localized": ["Amir-Hossein"], + "romanized": ["Amir-Hossein"] }, { "id": "N-IR-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Hossein" - ], - "romanized": [ - "Hossein" - ] + "localized": ["Hossein"], + "romanized": ["Hossein"] }, { "id": "N-IR-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "AbulFazl" - ], - "romanized": [ - "AbulFazl" - ] + "localized": ["AbulFazl"], + "romanized": ["AbulFazl"] }, { "id": "N-IR-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Amir-Abbas" - ], - "romanized": [ - "Amir-Abbas" - ] + "localized": ["Amir-Abbas"], + "romanized": ["Amir-Abbas"] }, { "id": "N-IR-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Samyar" - ], - "romanized": [ - "Samyar" - ] + "localized": ["Samyar"], + "romanized": ["Samyar"] }, { "id": "N-IR-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Mohammad-Taha" - ], - "romanized": [ - "Mohammad-Taha" - ] + "localized": ["Mohammad-Taha"], + "romanized": ["Mohammad-Taha"] }, { "id": "N-IR-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Aria" - ], - "romanized": [ - "Aria" - ] + "localized": ["Aria"], + "romanized": ["Aria"] }, { "id": "N-IR-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Fatemeh" - ], - "romanized": [ - "Fatemeh" - ] + "localized": ["Fatemeh"], + "romanized": ["Fatemeh"] }, { "id": "N-IR-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Zahra" - ], - "romanized": [ - "Zahra" - ] + "localized": ["Zahra"], + "romanized": ["Zahra"] }, { "id": "N-IR-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Maryam" - ], - "romanized": [ - "Maryam" - ] + "localized": ["Maryam"], + "romanized": ["Maryam"] }, { "id": "N-IR-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Ma'soumeh" - ], - "romanized": [ - "Ma'soumeh" - ] + "localized": ["Ma'soumeh"], + "romanized": ["Ma'soumeh"] }, { "id": "N-IR-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Sakineh" - ], - "romanized": [ - "Sakineh" - ] + "localized": ["Sakineh"], + "romanized": ["Sakineh"] }, { "id": "N-IR-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Zeinab" - ], - "romanized": [ - "Zeinab" - ] + "localized": ["Zeinab"], + "romanized": ["Zeinab"] }, { "id": "N-IR-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Roghayyeh" - ], - "romanized": [ - "Roghayyeh" - ] + "localized": ["Roghayyeh"], + "romanized": ["Roghayyeh"] }, { "id": "N-IR-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Khadije" - ], - "romanized": [ - "Khadije" - ] + "localized": ["Khadije"], + "romanized": ["Khadije"] }, { "id": "N-IR-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Leyla" - ], - "romanized": [ - "Leyla" - ] + "localized": ["Leyla"], + "romanized": ["Leyla"] }, { "id": "N-IR-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Somayyeh" - ], - "romanized": [ - "Somayyeh" - ] + "localized": ["Somayyeh"], + "romanized": ["Somayyeh"] }, { "id": "N-IR-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mohammad" - ], - "romanized": [ - "Mohammad" - ] + "localized": ["Mohammad"], + "romanized": ["Mohammad"] }, { "id": "N-IR-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-IR-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Hossein" - ], - "romanized": [ - "Hossein" - ] + "localized": ["Hossein"], + "romanized": ["Hossein"] }, { "id": "N-IR-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Mahdi" - ], - "romanized": [ - "Mahdi" - ] + "localized": ["Mahdi"], + "romanized": ["Mahdi"] }, { "id": "N-IR-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Hassan" - ], - "romanized": [ - "Hassan" - ] + "localized": ["Hassan"], + "romanized": ["Hassan"] }, { "id": "N-IR-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Reza" - ], - "romanized": [ - "Reza" - ] + "localized": ["Reza"], + "romanized": ["Reza"] }, { "id": "N-IR-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Ahmad" - ], - "romanized": [ - "Ahmad" - ] + "localized": ["Ahmad"], + "romanized": ["Ahmad"] }, { "id": "N-IR-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Mohammad-Reza" - ], - "romanized": [ - "Mohammad-Reza" - ] + "localized": ["Mohammad-Reza"], + "romanized": ["Mohammad-Reza"] }, { "id": "N-IR-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Abbas" - ], - "romanized": [ - "Abbas" - ] + "localized": ["Abbas"], + "romanized": ["Abbas"] }, { "id": "N-IR-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Ali-Reza" - ], - "romanized": [ - "Ali-Reza" - ] + "localized": ["Ali-Reza"], + "romanized": ["Ali-Reza"] } ] } @@ -13057,243 +8497,155 @@ "id": "N-IS-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Embla" - ], - "romanized": [ - "Embla" - ] + "localized": ["Embla"], + "romanized": ["Embla"] }, { "id": "N-IS-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emilía" - ], - "romanized": [ - "Emilía" - ] + "localized": ["Emilía"], + "romanized": ["Emilía"] }, { "id": "N-IS-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Sara" - ], - "romanized": [ - "Sara" - ] + "localized": ["Sara"], + "romanized": ["Sara"] }, { "id": "N-IS-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Sóley" - ], - "romanized": [ - "Sóley" - ] + "localized": ["Sóley"], + "romanized": ["Sóley"] }, { "id": "N-IS-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Aþena" - ], - "romanized": [ - "Aþena" - ] + "localized": ["Aþena"], + "romanized": ["Aþena"] }, { "id": "N-IS-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Matthildur" - ], - "romanized": [ - "Matthildur" - ] + "localized": ["Matthildur"], + "romanized": ["Matthildur"] }, { "id": "N-IS-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Katla" - ], - "romanized": [ - "Katla" - ] + "localized": ["Katla"], + "romanized": ["Katla"] }, { "id": "N-IS-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Guðrún" - ], - "romanized": [ - "Guðrún" - ] + "localized": ["Guðrún"], + "romanized": ["Guðrún"] }, { "id": "N-IS-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Eva" - ], - "romanized": [ - "Eva" - ] + "localized": ["Eva"], + "romanized": ["Eva"] }, { "id": "N-IS-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Saga" - ], - "romanized": [ - "Saga" - ] + "localized": ["Saga"], + "romanized": ["Saga"] }, { "id": "N-IS-1-F-11", "rank": 11, "gender": "F", - "localized": [ - "Viktoría" - ], - "romanized": [ - "Viktoría" - ] + "localized": ["Viktoría"], + "romanized": ["Viktoría"] }, { "id": "N-IS-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Aron" - ], - "romanized": [ - "Aron" - ] + "localized": ["Aron"], + "romanized": ["Aron"] }, { "id": "N-IS-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Jökull" - ], - "romanized": [ - "Jökull" - ] + "localized": ["Jökull"], + "romanized": ["Jökull"] }, { "id": "N-IS-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Alexander" - ], - "romanized": [ - "Alexander" - ] + "localized": ["Alexander"], + "romanized": ["Alexander"] }, { "id": "N-IS-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Kári" - ], - "romanized": [ - "Kári" - ] + "localized": ["Kári"], + "romanized": ["Kári"] }, { "id": "N-IS-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Emil" - ], - "romanized": [ - "Emil" - ] + "localized": ["Emil"], + "romanized": ["Emil"] }, { "id": "N-IS-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Jón" - ], - "romanized": [ - "Jón" - ] + "localized": ["Jón"], + "romanized": ["Jón"] }, { "id": "N-IS-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Óliver" - ], - "romanized": [ - "Óliver" - ] + "localized": ["Óliver"], + "romanized": ["Óliver"] }, { "id": "N-IS-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Matthías" - ], - "romanized": [ - "Matthías" - ] + "localized": ["Matthías"], + "romanized": ["Matthías"] }, { "id": "N-IS-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Mikael" - ], - "romanized": [ - "Mikael" - ] + "localized": ["Mikael"], + "romanized": ["Mikael"] }, { "id": "N-IS-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Atlas" - ], - "romanized": [ - "Atlas" - ] + "localized": ["Atlas"], + "romanized": ["Atlas"] }, { "id": "N-IS-1-M-11", "rank": 11, "gender": "M", - "localized": [ - "Elmar" - ], - "romanized": [ - "Elmar" - ] + "localized": ["Elmar"], + "romanized": ["Elmar"] } ] } @@ -13308,221 +8660,141 @@ "id": "N-IT-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-IT-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Aurora" - ], - "romanized": [ - "Aurora" - ] + "localized": ["Aurora"], + "romanized": ["Aurora"] }, { "id": "N-IT-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Giulia" - ], - "romanized": [ - "Giulia" - ] + "localized": ["Giulia"], + "romanized": ["Giulia"] }, { "id": "N-IT-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Ginevra" - ], - "romanized": [ - "Ginevra" - ] + "localized": ["Ginevra"], + "romanized": ["Ginevra"] }, { "id": "N-IT-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Beatrice" - ], - "romanized": [ - "Beatrice" - ] + "localized": ["Beatrice"], + "romanized": ["Beatrice"] }, { "id": "N-IT-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Alice" - ], - "romanized": [ - "Alice" - ] + "localized": ["Alice"], + "romanized": ["Alice"] }, { "id": "N-IT-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Vittoria" - ], - "romanized": [ - "Vittoria" - ] + "localized": ["Vittoria"], + "romanized": ["Vittoria"] }, { "id": "N-IT-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-IT-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Ludovica" - ], - "romanized": [ - "Ludovica" - ] + "localized": ["Ludovica"], + "romanized": ["Ludovica"] }, { "id": "N-IT-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Matilde" - ], - "romanized": [ - "Matilde" - ] + "localized": ["Matilde"], + "romanized": ["Matilde"] }, { "id": "N-IT-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Leonardo" - ], - "romanized": [ - "Leonardo" - ] + "localized": ["Leonardo"], + "romanized": ["Leonardo"] }, { "id": "N-IT-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Alessandro" - ], - "romanized": [ - "Alessandro" - ] + "localized": ["Alessandro"], + "romanized": ["Alessandro"] }, { "id": "N-IT-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Tommaso" - ], - "romanized": [ - "Tommaso" - ] + "localized": ["Tommaso"], + "romanized": ["Tommaso"] }, { "id": "N-IT-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Francesco" - ], - "romanized": [ - "Francesco" - ] + "localized": ["Francesco"], + "romanized": ["Francesco"] }, { "id": "N-IT-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Lorenzo" - ], - "romanized": [ - "Lorenzo" - ] + "localized": ["Lorenzo"], + "romanized": ["Lorenzo"] }, { "id": "N-IT-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Edoardo" - ], - "romanized": [ - "Edoardo" - ] + "localized": ["Edoardo"], + "romanized": ["Edoardo"] }, { "id": "N-IT-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Mattia" - ], - "romanized": [ - "Mattia" - ] + "localized": ["Mattia"], + "romanized": ["Mattia"] }, { "id": "N-IT-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Riccardo" - ], - "romanized": [ - "Riccardo" - ] + "localized": ["Riccardo"], + "romanized": ["Riccardo"] }, { "id": "N-IT-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Gabriele" - ], - "romanized": [ - "Gabriele" - ] + "localized": ["Gabriele"], + "romanized": ["Gabriele"] }, { "id": "N-IT-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Andrea" - ], - "romanized": [ - "Andrea" - ] + "localized": ["Andrea"], + "romanized": ["Andrea"] } ] } @@ -13537,221 +8809,141 @@ "id": "N-JE-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Willow" - ], - "romanized": [ - "Willow" - ] + "localized": ["Willow"], + "romanized": ["Willow"] }, { "id": "N-JE-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-JE-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Aria" - ], - "romanized": [ - "Aria" - ] + "localized": ["Aria"], + "romanized": ["Aria"] }, { "id": "N-JE-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Sienna" - ], - "romanized": [ - "Sienna" - ] + "localized": ["Sienna"], + "romanized": ["Sienna"] }, { "id": "N-JE-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Lily" - ], - "romanized": [ - "Lily" - ] + "localized": ["Lily"], + "romanized": ["Lily"] }, { "id": "N-JE-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Daisy" - ], - "romanized": [ - "Daisy" - ] + "localized": ["Daisy"], + "romanized": ["Daisy"] }, { "id": "N-JE-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-JE-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Emily" - ], - "romanized": [ - "Emily" - ] + "localized": ["Emily"], + "romanized": ["Emily"] }, { "id": "N-JE-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Florence" - ], - "romanized": [ - "Florence" - ] + "localized": ["Florence"], + "romanized": ["Florence"] }, { "id": "N-JE-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Valentina" - ], - "romanized": [ - "Valentina" - ] + "localized": ["Valentina"], + "romanized": ["Valentina"] }, { "id": "N-JE-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Arthur" - ], - "romanized": [ - "Arthur" - ] + "localized": ["Arthur"], + "romanized": ["Arthur"] }, { "id": "N-JE-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-JE-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Luca" - ], - "romanized": [ - "Luca" - ] + "localized": ["Luca"], + "romanized": ["Luca"] }, { "id": "N-JE-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-JE-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-JE-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] }, { "id": "N-JE-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Theodore" - ], - "romanized": [ - "Theodore" - ] + "localized": ["Theodore"], + "romanized": ["Theodore"] }, { "id": "N-JE-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Frederick" - ], - "romanized": [ - "Frederick" - ] + "localized": ["Frederick"], + "romanized": ["Frederick"] }, { "id": "N-JE-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Finn" - ], - "romanized": [ - "Finn" - ] + "localized": ["Finn"], + "romanized": ["Finn"] }, { "id": "N-JE-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Albert" - ], - "romanized": [ - "Albert" - ] + "localized": ["Albert"], + "romanized": ["Albert"] } ] } @@ -13766,199 +8958,127 @@ "id": "N-JM-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-JM-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Arianna" - ], - "romanized": [ - "Arianna" - ] + "localized": ["Arianna"], + "romanized": ["Arianna"] }, { "id": "N-JM-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Gianna" - ], - "romanized": [ - "Gianna" - ] + "localized": ["Gianna"], + "romanized": ["Gianna"] }, { "id": "N-JM-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Kyra" - ], - "romanized": [ - "Kyra" - ] + "localized": ["Kyra"], + "romanized": ["Kyra"] }, { "id": "N-JM-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Azora Kiara" - ], - "romanized": [ - "Azora Kiara" - ] + "localized": ["Azora Kiara"], + "romanized": ["Azora Kiara"] }, { "id": "N-JM-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Azariah" - ], - "romanized": [ - "Azariah" - ] + "localized": ["Azariah"], + "romanized": ["Azariah"] }, { "id": "N-JM-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Aria" - ], - "romanized": [ - "Aria" - ] + "localized": ["Aria"], + "romanized": ["Aria"] }, { "id": "N-JM-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Ariana" - ], - "romanized": [ - "Ariana" - ] + "localized": ["Ariana"], + "romanized": ["Ariana"] }, { "id": "N-JM-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Azaria" - ], - "romanized": [ - "Azaria" - ] + "localized": ["Azaria"], + "romanized": ["Azaria"] }, { "id": "N-JM-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Aiden" - ], - "romanized": [ - "Aiden" - ] + "localized": ["Aiden"], + "romanized": ["Aiden"] }, { "id": "N-JM-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-JM-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Malachi" - ], - "romanized": [ - "Malachi" - ] + "localized": ["Malachi"], + "romanized": ["Malachi"] }, { "id": "N-JM-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Amir" - ], - "romanized": [ - "Amir" - ] + "localized": ["Amir"], + "romanized": ["Amir"] }, { "id": "N-JM-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "thaniel" - ], - "romanized": [ - "thaniel" - ] + "localized": ["thaniel"], + "romanized": ["thaniel"] }, { "id": "N-JM-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Joshua" - ], - "romanized": [ - "Joshua" - ] + "localized": ["Joshua"], + "romanized": ["Joshua"] }, { "id": "N-JM-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Josiah" - ], - "romanized": [ - "Josiah" - ] + "localized": ["Josiah"], + "romanized": ["Josiah"] }, { "id": "N-JM-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Zahir" - ], - "romanized": [ - "Zahir" - ] + "localized": ["Zahir"], + "romanized": ["Zahir"] }, { "id": "N-JM-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "than" - ], - "romanized": [ - "than" - ] + "localized": ["than"], + "romanized": ["than"] } ] } @@ -13973,221 +9093,141 @@ "id": "N-JO-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Jouri" - ], - "romanized": [ - "Jouri" - ] + "localized": ["Jouri"], + "romanized": ["Jouri"] }, { "id": "N-JO-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Salma" - ], - "romanized": [ - "Salma" - ] + "localized": ["Salma"], + "romanized": ["Salma"] }, { "id": "N-JO-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Naya" - ], - "romanized": [ - "Naya" - ] + "localized": ["Naya"], + "romanized": ["Naya"] }, { "id": "N-JO-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Mira" - ], - "romanized": [ - "Mira" - ] + "localized": ["Mira"], + "romanized": ["Mira"] }, { "id": "N-JO-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Lianne" - ], - "romanized": [ - "Lianne" - ] + "localized": ["Lianne"], + "romanized": ["Lianne"] }, { "id": "N-JO-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Leen" - ], - "romanized": [ - "Leen" - ] + "localized": ["Leen"], + "romanized": ["Leen"] }, { "id": "N-JO-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Zina" - ], - "romanized": [ - "Zina" - ] + "localized": ["Zina"], + "romanized": ["Zina"] }, { "id": "N-JO-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Mariam" - ], - "romanized": [ - "Mariam" - ] + "localized": ["Mariam"], + "romanized": ["Mariam"] }, { "id": "N-JO-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Wateen" - ], - "romanized": [ - "Wateen" - ] + "localized": ["Wateen"], + "romanized": ["Wateen"] }, { "id": "N-JO-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Tuleen" - ], - "romanized": [ - "Tuleen" - ] + "localized": ["Tuleen"], + "romanized": ["Tuleen"] }, { "id": "N-JO-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mohammad" - ], - "romanized": [ - "Mohammad" - ] + "localized": ["Mohammad"], + "romanized": ["Mohammad"] }, { "id": "N-JO-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Adam" - ], - "romanized": [ - "Adam" - ] + "localized": ["Adam"], + "romanized": ["Adam"] }, { "id": "N-JO-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Ahmed" - ], - "romanized": [ - "Ahmed" - ] + "localized": ["Ahmed"], + "romanized": ["Ahmed"] }, { "id": "N-JO-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Youssef" - ], - "romanized": [ - "Youssef" - ] + "localized": ["Youssef"], + "romanized": ["Youssef"] }, { "id": "N-JO-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Omar" - ], - "romanized": [ - "Omar" - ] + "localized": ["Omar"], + "romanized": ["Omar"] }, { "id": "N-JO-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Karam" - ], - "romanized": [ - "Karam" - ] + "localized": ["Karam"], + "romanized": ["Karam"] }, { "id": "N-JO-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Shahem" - ], - "romanized": [ - "Shahem" - ] + "localized": ["Shahem"], + "romanized": ["Shahem"] }, { "id": "N-JO-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Jad" - ], - "romanized": [ - "Jad" - ] + "localized": ["Jad"], + "romanized": ["Jad"] }, { "id": "N-JO-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-JO-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Hashem" - ], - "romanized": [ - "Hashem" - ] + "localized": ["Hashem"], + "romanized": ["Hashem"] } ] } @@ -14202,221 +9242,141 @@ "id": "N-KW-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Fatma" - ], - "romanized": [ - "Fatma" - ] + "localized": ["Fatma"], + "romanized": ["Fatma"] }, { "id": "N-KW-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Mariam" - ], - "romanized": [ - "Mariam" - ] + "localized": ["Mariam"], + "romanized": ["Mariam"] }, { "id": "N-KW-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Hussa" - ], - "romanized": [ - "Hussa" - ] + "localized": ["Hussa"], + "romanized": ["Hussa"] }, { "id": "N-KW-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Sherifa" - ], - "romanized": [ - "Sherifa" - ] + "localized": ["Sherifa"], + "romanized": ["Sherifa"] }, { "id": "N-KW-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Sara" - ], - "romanized": [ - "Sara" - ] + "localized": ["Sara"], + "romanized": ["Sara"] }, { "id": "N-KW-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Reem" - ], - "romanized": [ - "Reem" - ] + "localized": ["Reem"], + "romanized": ["Reem"] }, { "id": "N-KW-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Aisha" - ], - "romanized": [ - "Aisha" - ] + "localized": ["Aisha"], + "romanized": ["Aisha"] }, { "id": "N-KW-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Dalal" - ], - "romanized": [ - "Dalal" - ] + "localized": ["Dalal"], + "romanized": ["Dalal"] }, { "id": "N-KW-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Lulwa" - ], - "romanized": [ - "Lulwa" - ] + "localized": ["Lulwa"], + "romanized": ["Lulwa"] }, { "id": "N-KW-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Shaikha" - ], - "romanized": [ - "Shaikha" - ] + "localized": ["Shaikha"], + "romanized": ["Shaikha"] }, { "id": "N-KW-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mohammad" - ], - "romanized": [ - "Mohammad" - ] + "localized": ["Mohammad"], + "romanized": ["Mohammad"] }, { "id": "N-KW-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Abdullah" - ], - "romanized": [ - "Abdullah" - ] + "localized": ["Abdullah"], + "romanized": ["Abdullah"] }, { "id": "N-KW-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Fahad" - ], - "romanized": [ - "Fahad" - ] + "localized": ["Fahad"], + "romanized": ["Fahad"] }, { "id": "N-KW-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Khaled" - ], - "romanized": [ - "Khaled" - ] + "localized": ["Khaled"], + "romanized": ["Khaled"] }, { "id": "N-KW-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-KW-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Yousef" - ], - "romanized": [ - "Yousef" - ] + "localized": ["Yousef"], + "romanized": ["Yousef"] }, { "id": "N-KW-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Ahmed" - ], - "romanized": [ - "Ahmed" - ] + "localized": ["Ahmed"], + "romanized": ["Ahmed"] }, { "id": "N-KW-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Abdulaziz" - ], - "romanized": [ - "Abdulaziz" - ] + "localized": ["Abdulaziz"], + "romanized": ["Abdulaziz"] }, { "id": "N-KW-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Faisal" - ], - "romanized": [ - "Faisal" - ] + "localized": ["Faisal"], + "romanized": ["Faisal"] }, { "id": "N-KW-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Bader" - ], - "romanized": [ - "Bader" - ] + "localized": ["Bader"], + "romanized": ["Bader"] } ] } @@ -14431,221 +9391,141 @@ "id": "N-LB-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Marie" - ], - "romanized": [ - "Marie" - ] + "localized": ["Marie"], + "romanized": ["Marie"] }, { "id": "N-LB-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Fatima" - ], - "romanized": [ - "Fatima" - ] + "localized": ["Fatima"], + "romanized": ["Fatima"] }, { "id": "N-LB-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Jessica" - ], - "romanized": [ - "Jessica" - ] + "localized": ["Jessica"], + "romanized": ["Jessica"] }, { "id": "N-LB-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Zeinab" - ], - "romanized": [ - "Zeinab" - ] + "localized": ["Zeinab"], + "romanized": ["Zeinab"] }, { "id": "N-LB-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Mariam" - ], - "romanized": [ - "Mariam" - ] + "localized": ["Mariam"], + "romanized": ["Mariam"] }, { "id": "N-LB-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Sarah" - ], - "romanized": [ - "Sarah" - ] + "localized": ["Sarah"], + "romanized": ["Sarah"] }, { "id": "N-LB-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Maya" - ], - "romanized": [ - "Maya" - ] + "localized": ["Maya"], + "romanized": ["Maya"] }, { "id": "N-LB-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Layla" - ], - "romanized": [ - "Layla" - ] + "localized": ["Layla"], + "romanized": ["Layla"] }, { "id": "N-LB-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Christina" - ], - "romanized": [ - "Christina" - ] + "localized": ["Christina"], + "romanized": ["Christina"] }, { "id": "N-LB-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Amal" - ], - "romanized": [ - "Amal" - ] + "localized": ["Amal"], + "romanized": ["Amal"] }, { "id": "N-LB-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Elie" - ], - "romanized": [ - "Elie" - ] + "localized": ["Elie"], + "romanized": ["Elie"] }, { "id": "N-LB-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Mohammad" - ], - "romanized": [ - "Mohammad" - ] + "localized": ["Mohammad"], + "romanized": ["Mohammad"] }, { "id": "N-LB-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Charbel" - ], - "romanized": [ - "Charbel" - ] + "localized": ["Charbel"], + "romanized": ["Charbel"] }, { "id": "N-LB-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-LB-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Hassan" - ], - "romanized": [ - "Hassan" - ] + "localized": ["Hassan"], + "romanized": ["Hassan"] }, { "id": "N-LB-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Hussein" - ], - "romanized": [ - "Hussein" - ] + "localized": ["Hussein"], + "romanized": ["Hussein"] }, { "id": "N-LB-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "George" - ], - "romanized": [ - "George" - ] + "localized": ["George"], + "romanized": ["George"] }, { "id": "N-LB-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Ahmad" - ], - "romanized": [ - "Ahmad" - ] + "localized": ["Ahmad"], + "romanized": ["Ahmad"] }, { "id": "N-LB-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Christian" - ], - "romanized": [ - "Christian" - ] + "localized": ["Christian"], + "romanized": ["Christian"] }, { "id": "N-LB-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Joe" - ], - "romanized": [ - "Joe" - ] + "localized": ["Joe"], + "romanized": ["Joe"] } ] } @@ -14660,243 +9540,155 @@ "id": "N-LI-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Emilia" - ], - "romanized": [ - "Emilia" - ] + "localized": ["Emilia"], + "romanized": ["Emilia"] }, { "id": "N-LI-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Frida" - ], - "romanized": [ - "Frida" - ] + "localized": ["Frida"], + "romanized": ["Frida"] }, { "id": "N-LI-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Frieda" - ], - "romanized": [ - "Frieda" - ] + "localized": ["Frieda"], + "romanized": ["Frieda"] }, { "id": "N-LI-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-LI-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-LI-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Melina" - ], - "romanized": [ - "Melina" - ] + "localized": ["Melina"], + "romanized": ["Melina"] }, { "id": "N-LI-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-LI-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Sophia" - ], - "romanized": [ - "Sophia" - ] + "localized": ["Sophia"], + "romanized": ["Sophia"] }, { "id": "N-LI-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Elias" - ], - "romanized": [ - "Elias" - ] + "localized": ["Elias"], + "romanized": ["Elias"] }, { "id": "N-LI-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Elyas" - ], - "romanized": [ - "Elyas" - ] + "localized": ["Elyas"], + "romanized": ["Elyas"] }, { "id": "N-LI-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Louis" - ], - "romanized": [ - "Louis" - ] + "localized": ["Louis"], + "romanized": ["Louis"] }, { "id": "N-LI-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Luis" - ], - "romanized": [ - "Luis" - ] + "localized": ["Luis"], + "romanized": ["Luis"] }, { "id": "N-LI-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-LI-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-LI-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Paul" - ], - "romanized": [ - "Paul" - ] + "localized": ["Paul"], + "romanized": ["Paul"] }, { "id": "N-LI-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Leano" - ], - "romanized": [ - "Leano" - ] + "localized": ["Leano"], + "romanized": ["Leano"] }, { "id": "N-LI-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Luca" - ], - "romanized": [ - "Luca" - ] + "localized": ["Luca"], + "romanized": ["Luca"] }, { "id": "N-LI-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Mattia" - ], - "romanized": [ - "Mattia" - ] + "localized": ["Mattia"], + "romanized": ["Mattia"] }, { "id": "N-LI-1-M-11", "rank": 11, "gender": "M", - "localized": [ - "Nelio" - ], - "romanized": [ - "Nelio" - ] + "localized": ["Nelio"], + "romanized": ["Nelio"] }, { "id": "N-LI-1-M-12", "rank": 12, "gender": "M", - "localized": [ - "Raphael" - ], - "romanized": [ - "Raphael" - ] + "localized": ["Raphael"], + "romanized": ["Raphael"] }, { "id": "N-LI-1-M-13", "rank": 13, "gender": "M", - "localized": [ - "Rafael" - ], - "romanized": [ - "Rafael" - ] + "localized": ["Rafael"], + "romanized": ["Rafael"] }, { "id": "N-LI-1-M-14", "rank": 14, "gender": "M", - "localized": [ - "Valentin" - ], - "romanized": [ - "Valentin" - ] + "localized": ["Valentin"], + "romanized": ["Valentin"] } ] } @@ -14911,221 +9703,141 @@ "id": "N-LT-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sofija" - ], - "romanized": [ - "Sofija" - ] + "localized": ["Sofija"], + "romanized": ["Sofija"] }, { "id": "N-LT-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emilija" - ], - "romanized": [ - "Emilija" - ] + "localized": ["Emilija"], + "romanized": ["Emilija"] }, { "id": "N-LT-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Luknė" - ], - "romanized": [ - "Luknė" - ] + "localized": ["Luknė"], + "romanized": ["Luknė"] }, { "id": "N-LT-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Amelija" - ], - "romanized": [ - "Amelija" - ] + "localized": ["Amelija"], + "romanized": ["Amelija"] }, { "id": "N-LT-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Kamilė" - ], - "romanized": [ - "Kamilė" - ] + "localized": ["Kamilė"], + "romanized": ["Kamilė"] }, { "id": "N-LT-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Lėja" - ], - "romanized": [ - "Lėja" - ] + "localized": ["Lėja"], + "romanized": ["Lėja"] }, { "id": "N-LT-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Gabija" - ], - "romanized": [ - "Gabija" - ] + "localized": ["Gabija"], + "romanized": ["Gabija"] }, { "id": "N-LT-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Patricija" - ], - "romanized": [ - "Patricija" - ] + "localized": ["Patricija"], + "romanized": ["Patricija"] }, { "id": "N-LT-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Elija" - ], - "romanized": [ - "Elija" - ] + "localized": ["Elija"], + "romanized": ["Elija"] }, { "id": "N-LT-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Liepa" - ], - "romanized": [ - "Liepa" - ] + "localized": ["Liepa"], + "romanized": ["Liepa"] }, { "id": "N-LT-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Markas" - ], - "romanized": [ - "Markas" - ] + "localized": ["Markas"], + "romanized": ["Markas"] }, { "id": "N-LT-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Benas" - ], - "romanized": [ - "Benas" - ] + "localized": ["Benas"], + "romanized": ["Benas"] }, { "id": "N-LT-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Jokūbas" - ], - "romanized": [ - "Jokūbas" - ] + "localized": ["Jokūbas"], + "romanized": ["Jokūbas"] }, { "id": "N-LT-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Dominykas" - ], - "romanized": [ - "Dominykas" - ] + "localized": ["Dominykas"], + "romanized": ["Dominykas"] }, { "id": "N-LT-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Herkus" - ], - "romanized": [ - "Herkus" - ] + "localized": ["Herkus"], + "romanized": ["Herkus"] }, { "id": "N-LT-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Lukas" - ], - "romanized": [ - "Lukas" - ] + "localized": ["Lukas"], + "romanized": ["Lukas"] }, { "id": "N-LT-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Jonas" - ], - "romanized": [ - "Jonas" - ] + "localized": ["Jonas"], + "romanized": ["Jonas"] }, { "id": "N-LT-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Matas" - ], - "romanized": [ - "Matas" - ] + "localized": ["Matas"], + "romanized": ["Matas"] }, { "id": "N-LT-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Kajus" - ], - "romanized": [ - "Kajus" - ] + "localized": ["Kajus"], + "romanized": ["Kajus"] }, { "id": "N-LT-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Adomas" - ], - "romanized": [ - "Adomas" - ] + "localized": ["Adomas"], + "romanized": ["Adomas"] } ] } @@ -15140,155 +9852,99 @@ "id": "N-LU-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-LU-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Lara" - ], - "romanized": [ - "Lara" - ] + "localized": ["Lara"], + "romanized": ["Lara"] }, { "id": "N-LU-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Zoé" - ], - "romanized": [ - "Zoé" - ] + "localized": ["Zoé"], + "romanized": ["Zoé"] }, { "id": "N-LU-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Amy" - ], - "romanized": [ - "Amy" - ] + "localized": ["Amy"], + "romanized": ["Amy"] }, { "id": "N-LU-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Sarah" - ], - "romanized": [ - "Sarah" - ] + "localized": ["Sarah"], + "romanized": ["Sarah"] }, { "id": "N-LU-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Charlotte" - ], - "romanized": [ - "Charlotte" - ] + "localized": ["Charlotte"], + "romanized": ["Charlotte"] }, { "id": "N-LU-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Emily" - ], - "romanized": [ - "Emily" - ] + "localized": ["Emily"], + "romanized": ["Emily"] }, { "id": "N-LU-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Gabriel" - ], - "romanized": [ - "Gabriel" - ] + "localized": ["Gabriel"], + "romanized": ["Gabriel"] }, { "id": "N-LU-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-LU-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Luca" - ], - "romanized": [ - "Luca" - ] + "localized": ["Luca"], + "romanized": ["Luca"] }, { "id": "N-LU-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-LU-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "David" - ], - "romanized": [ - "David" - ] + "localized": ["David"], + "romanized": ["David"] }, { "id": "N-LU-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Tom" - ], - "romanized": [ - "Tom" - ] + "localized": ["Tom"], + "romanized": ["Tom"] }, { "id": "N-LU-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Ben" - ], - "romanized": [ - "Ben" - ] + "localized": ["Ben"], + "romanized": ["Ben"] } ] } @@ -15303,199 +9959,127 @@ "id": "N-LV-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sofija" - ], - "romanized": [ - "Sofija" - ] + "localized": ["Sofija"], + "romanized": ["Sofija"] }, { "id": "N-LV-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Alise" - ], - "romanized": [ - "Alise" - ] + "localized": ["Alise"], + "romanized": ["Alise"] }, { "id": "N-LV-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Marta" - ], - "romanized": [ - "Marta" - ] + "localized": ["Marta"], + "romanized": ["Marta"] }, { "id": "N-LV-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Amēlija" - ], - "romanized": [ - "Amēlija" - ] + "localized": ["Amēlija"], + "romanized": ["Amēlija"] }, { "id": "N-LV-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Paula" - ], - "romanized": [ - "Paula" - ] + "localized": ["Paula"], + "romanized": ["Paula"] }, { "id": "N-LV-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Anna" - ], - "romanized": [ - "Anna" - ] + "localized": ["Anna"], + "romanized": ["Anna"] }, { "id": "N-LV-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-LV-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Dārta" - ], - "romanized": [ - "Dārta" - ] + "localized": ["Dārta"], + "romanized": ["Dārta"] }, { "id": "N-LV-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Elza" - ], - "romanized": [ - "Elza" - ] + "localized": ["Elza"], + "romanized": ["Elza"] }, { "id": "N-LV-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Marks" - ], - "romanized": [ - "Marks" - ] + "localized": ["Marks"], + "romanized": ["Marks"] }, { "id": "N-LV-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Roberts" - ], - "romanized": [ - "Roberts" - ] + "localized": ["Roberts"], + "romanized": ["Roberts"] }, { "id": "N-LV-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Gustavs" - ], - "romanized": [ - "Gustavs" - ] + "localized": ["Gustavs"], + "romanized": ["Gustavs"] }, { "id": "N-LV-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Jēkabs" - ], - "romanized": [ - "Jēkabs" - ] + "localized": ["Jēkabs"], + "romanized": ["Jēkabs"] }, { "id": "N-LV-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Emīls" - ], - "romanized": [ - "Emīls" - ] + "localized": ["Emīls"], + "romanized": ["Emīls"] }, { "id": "N-LV-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Kārlis" - ], - "romanized": [ - "Kārlis" - ] + "localized": ["Kārlis"], + "romanized": ["Kārlis"] }, { "id": "N-LV-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Adrians" - ], - "romanized": [ - "Adrians" - ] + "localized": ["Adrians"], + "romanized": ["Adrians"] }, { "id": "N-LV-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Daniels" - ], - "romanized": [ - "Daniels" - ] + "localized": ["Daniels"], + "romanized": ["Daniels"] }, { "id": "N-LV-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Ralfs" - ], - "romanized": [ - "Ralfs" - ] + "localized": ["Ralfs"], + "romanized": ["Ralfs"] } ] } @@ -15510,221 +10094,141 @@ "id": "N-LY-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Aya" - ], - "romanized": [ - "Aya" - ] + "localized": ["Aya"], + "romanized": ["Aya"] }, { "id": "N-LY-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Rania" - ], - "romanized": [ - "Rania" - ] + "localized": ["Rania"], + "romanized": ["Rania"] }, { "id": "N-LY-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Sarah" - ], - "romanized": [ - "Sarah" - ] + "localized": ["Sarah"], + "romanized": ["Sarah"] }, { "id": "N-LY-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Reem" - ], - "romanized": [ - "Reem" - ] + "localized": ["Reem"], + "romanized": ["Reem"] }, { "id": "N-LY-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Hoda" - ], - "romanized": [ - "Hoda" - ] + "localized": ["Hoda"], + "romanized": ["Hoda"] }, { "id": "N-LY-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Marwa" - ], - "romanized": [ - "Marwa" - ] + "localized": ["Marwa"], + "romanized": ["Marwa"] }, { "id": "N-LY-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Mona" - ], - "romanized": [ - "Mona" - ] + "localized": ["Mona"], + "romanized": ["Mona"] }, { "id": "N-LY-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Fatima" - ], - "romanized": [ - "Fatima" - ] + "localized": ["Fatima"], + "romanized": ["Fatima"] }, { "id": "N-LY-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Eisha" - ], - "romanized": [ - "Eisha" - ] + "localized": ["Eisha"], + "romanized": ["Eisha"] }, { "id": "N-LY-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Nesreen" - ], - "romanized": [ - "Nesreen" - ] + "localized": ["Nesreen"], + "romanized": ["Nesreen"] }, { "id": "N-LY-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mohammed" - ], - "romanized": [ - "Mohammed" - ] + "localized": ["Mohammed"], + "romanized": ["Mohammed"] }, { "id": "N-LY-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Ahmed" - ], - "romanized": [ - "Ahmed" - ] + "localized": ["Ahmed"], + "romanized": ["Ahmed"] }, { "id": "N-LY-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-LY-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Hamza" - ], - "romanized": [ - "Hamza" - ] + "localized": ["Hamza"], + "romanized": ["Hamza"] }, { "id": "N-LY-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Ibrahim" - ], - "romanized": [ - "Ibrahim" - ] + "localized": ["Ibrahim"], + "romanized": ["Ibrahim"] }, { "id": "N-LY-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Mahmoud" - ], - "romanized": [ - "Mahmoud" - ] + "localized": ["Mahmoud"], + "romanized": ["Mahmoud"] }, { "id": "N-LY-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Abdallah" - ], - "romanized": [ - "Abdallah" - ] + "localized": ["Abdallah"], + "romanized": ["Abdallah"] }, { "id": "N-LY-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Tareq" - ], - "romanized": [ - "Tareq" - ] + "localized": ["Tareq"], + "romanized": ["Tareq"] }, { "id": "N-LY-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Hassan" - ], - "romanized": [ - "Hassan" - ] + "localized": ["Hassan"], + "romanized": ["Hassan"] }, { "id": "N-LY-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Khaled" - ], - "romanized": [ - "Khaled" - ] + "localized": ["Khaled"], + "romanized": ["Khaled"] } ] } @@ -15739,221 +10243,141 @@ "id": "N-MA-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Inès" - ], - "romanized": [ - "Inès" - ] + "localized": ["Inès"], + "romanized": ["Inès"] }, { "id": "N-MA-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Noûr" - ], - "romanized": [ - "Noûr" - ] + "localized": ["Noûr"], + "romanized": ["Noûr"] }, { "id": "N-MA-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Aya" - ], - "romanized": [ - "Aya" - ] + "localized": ["Aya"], + "romanized": ["Aya"] }, { "id": "N-MA-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Yasmine" - ], - "romanized": [ - "Yasmine" - ] + "localized": ["Yasmine"], + "romanized": ["Yasmine"] }, { "id": "N-MA-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Assia" - ], - "romanized": [ - "Assia" - ] + "localized": ["Assia"], + "romanized": ["Assia"] }, { "id": "N-MA-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Maryam" - ], - "romanized": [ - "Maryam" - ] + "localized": ["Maryam"], + "romanized": ["Maryam"] }, { "id": "N-MA-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Aïcha" - ], - "romanized": [ - "Aïcha" - ] + "localized": ["Aïcha"], + "romanized": ["Aïcha"] }, { "id": "N-MA-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Nora" - ], - "romanized": [ - "Nora" - ] + "localized": ["Nora"], + "romanized": ["Nora"] }, { "id": "N-MA-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Amira" - ], - "romanized": [ - "Amira" - ] + "localized": ["Amira"], + "romanized": ["Amira"] }, { "id": "N-MA-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Amina" - ], - "romanized": [ - "Amina" - ] + "localized": ["Amina"], + "romanized": ["Amina"] }, { "id": "N-MA-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mohamed" - ], - "romanized": [ - "Mohamed" - ] + "localized": ["Mohamed"], + "romanized": ["Mohamed"] }, { "id": "N-MA-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Amir" - ], - "romanized": [ - "Amir" - ] + "localized": ["Amir"], + "romanized": ["Amir"] }, { "id": "N-MA-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Ibrahim" - ], - "romanized": [ - "Ibrahim" - ] + "localized": ["Ibrahim"], + "romanized": ["Ibrahim"] }, { "id": "N-MA-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Naïm" - ], - "romanized": [ - "Naïm" - ] + "localized": ["Naïm"], + "romanized": ["Naïm"] }, { "id": "N-MA-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Ayoub" - ], - "romanized": [ - "Ayoub" - ] + "localized": ["Ayoub"], + "romanized": ["Ayoub"] }, { "id": "N-MA-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Youssef" - ], - "romanized": [ - "Youssef" - ] + "localized": ["Youssef"], + "romanized": ["Youssef"] }, { "id": "N-MA-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Younès" - ], - "romanized": [ - "Younès" - ] + "localized": ["Younès"], + "romanized": ["Younès"] }, { "id": "N-MA-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Wassim" - ], - "romanized": [ - "Wassim" - ] + "localized": ["Wassim"], + "romanized": ["Wassim"] }, { "id": "N-MA-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-MA-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Amine" - ], - "romanized": [ - "Amine" - ] + "localized": ["Amine"], + "romanized": ["Amine"] } ] } @@ -15968,111 +10392,71 @@ "id": "N-MC-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-MC-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Victoria" - ], - "romanized": [ - "Victoria" - ] + "localized": ["Victoria"], + "romanized": ["Victoria"] }, { "id": "N-MC-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Alice" - ], - "romanized": [ - "Alice" - ] + "localized": ["Alice"], + "romanized": ["Alice"] }, { "id": "N-MC-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Chloé" - ], - "romanized": [ - "Chloé" - ] + "localized": ["Chloé"], + "romanized": ["Chloé"] }, { "id": "N-MC-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Stella" - ], - "romanized": [ - "Stella" - ] + "localized": ["Stella"], + "romanized": ["Stella"] }, { "id": "N-MC-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Leonardo" - ], - "romanized": [ - "Leonardo" - ] + "localized": ["Leonardo"], + "romanized": ["Leonardo"] }, { "id": "N-MC-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Gabriel" - ], - "romanized": [ - "Gabriel" - ] + "localized": ["Gabriel"], + "romanized": ["Gabriel"] }, { "id": "N-MC-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Raphaël" - ], - "romanized": [ - "Raphaël" - ] + "localized": ["Raphaël"], + "romanized": ["Raphaël"] }, { "id": "N-MC-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Aaron" - ], - "romanized": [ - "Aaron" - ] + "localized": ["Aaron"], + "romanized": ["Aaron"] }, { "id": "N-MC-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Louis" - ], - "romanized": [ - "Louis" - ] + "localized": ["Louis"], + "romanized": ["Louis"] } ] } @@ -16087,221 +10471,141 @@ "id": "N-MD-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-MD-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-MD-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Victoria" - ], - "romanized": [ - "Victoria" - ] + "localized": ["Victoria"], + "romanized": ["Victoria"] }, { "id": "N-MD-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Daria" - ], - "romanized": [ - "Daria" - ] + "localized": ["Daria"], + "romanized": ["Daria"] }, { "id": "N-MD-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Anastasia" - ], - "romanized": [ - "Anastasia" - ] + "localized": ["Anastasia"], + "romanized": ["Anastasia"] }, { "id": "N-MD-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Maria" - ], - "romanized": [ - "Maria" - ] + "localized": ["Maria"], + "romanized": ["Maria"] }, { "id": "N-MD-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Eva" - ], - "romanized": [ - "Eva" - ] + "localized": ["Eva"], + "romanized": ["Eva"] }, { "id": "N-MD-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Alexandra" - ], - "romanized": [ - "Alexandra" - ] + "localized": ["Alexandra"], + "romanized": ["Alexandra"] }, { "id": "N-MD-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Evelina" - ], - "romanized": [ - "Evelina" - ] + "localized": ["Evelina"], + "romanized": ["Evelina"] }, { "id": "N-MD-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-MD-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "David" - ], - "romanized": [ - "David" - ] + "localized": ["David"], + "romanized": ["David"] }, { "id": "N-MD-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Matei" - ], - "romanized": [ - "Matei" - ] + "localized": ["Matei"], + "romanized": ["Matei"] }, { "id": "N-MD-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Maxim" - ], - "romanized": [ - "Maxim" - ] + "localized": ["Maxim"], + "romanized": ["Maxim"] }, { "id": "N-MD-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Daniel" - ], - "romanized": [ - "Daniel" - ] + "localized": ["Daniel"], + "romanized": ["Daniel"] }, { "id": "N-MD-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Bogdan" - ], - "romanized": [ - "Bogdan" - ] + "localized": ["Bogdan"], + "romanized": ["Bogdan"] }, { "id": "N-MD-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Alexandru" - ], - "romanized": [ - "Alexandru" - ] + "localized": ["Alexandru"], + "romanized": ["Alexandru"] }, { "id": "N-MD-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Damian" - ], - "romanized": [ - "Damian" - ] + "localized": ["Damian"], + "romanized": ["Damian"] }, { "id": "N-MD-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Mark" - ], - "romanized": [ - "Mark" - ] + "localized": ["Mark"], + "romanized": ["Mark"] }, { "id": "N-MD-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Artiom" - ], - "romanized": [ - "Artiom" - ] + "localized": ["Artiom"], + "romanized": ["Artiom"] }, { "id": "N-MD-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Ion" - ], - "romanized": [ - "Ion" - ] + "localized": ["Ion"], + "romanized": ["Ion"] } ] } @@ -16316,221 +10620,141 @@ "id": "O-ME-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Јелена" - ], - "romanized": [ - "Jelena" - ] + "localized": ["Јелена"], + "romanized": ["Jelena"] }, { "id": "O-ME-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Милица" - ], - "romanized": [ - "Milica" - ] + "localized": ["Милица"], + "romanized": ["Milica"] }, { "id": "O-ME-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Марија" - ], - "romanized": [ - "Marija" - ] + "localized": ["Марија"], + "romanized": ["Marija"] }, { "id": "O-ME-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Ивана" - ], - "romanized": [ - "Ivana" - ] + "localized": ["Ивана"], + "romanized": ["Ivana"] }, { "id": "O-ME-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Милена" - ], - "romanized": [ - "Milena" - ] + "localized": ["Милена"], + "romanized": ["Milena"] }, { "id": "O-ME-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Ана" - ], - "romanized": [ - "Ana" - ] + "localized": ["Ана"], + "romanized": ["Ana"] }, { "id": "O-ME-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Драгана" - ], - "romanized": [ - "Dragana" - ] + "localized": ["Драгана"], + "romanized": ["Dragana"] }, { "id": "O-ME-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Радмила" - ], - "romanized": [ - "Radmila" - ] + "localized": ["Радмила"], + "romanized": ["Radmila"] }, { "id": "O-ME-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Весна" - ], - "romanized": [ - "Vesna" - ] + "localized": ["Весна"], + "romanized": ["Vesna"] }, { "id": "O-ME-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Љиљана" - ], - "romanized": [ - "Ljiljana" - ] + "localized": ["Љиљана"], + "romanized": ["Ljiljana"] }, { "id": "O-ME-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Никола" - ], - "romanized": [ - "Nikola" - ] + "localized": ["Никола"], + "romanized": ["Nikola"] }, { "id": "O-ME-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Марко" - ], - "romanized": [ - "Marko" - ] + "localized": ["Марко"], + "romanized": ["Marko"] }, { "id": "O-ME-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Драган" - ], - "romanized": [ - "Dragan" - ] + "localized": ["Драган"], + "romanized": ["Dragan"] }, { "id": "O-ME-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Милош" - ], - "romanized": [ - "Miloš" - ] + "localized": ["Милош"], + "romanized": ["Miloš"] }, { "id": "O-ME-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Зоран" - ], - "romanized": [ - "Zoran" - ] + "localized": ["Зоран"], + "romanized": ["Zoran"] }, { "id": "O-ME-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Милан" - ], - "romanized": [ - "Milan" - ] + "localized": ["Милан"], + "romanized": ["Milan"] }, { "id": "O-ME-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Александар" - ], - "romanized": [ - "Aleksandar" - ] + "localized": ["Александар"], + "romanized": ["Aleksandar"] }, { "id": "O-ME-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Иван" - ], - "romanized": [ - "Ivan" - ] + "localized": ["Иван"], + "romanized": ["Ivan"] }, { "id": "O-ME-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Петар" - ], - "romanized": [ - "Petar" - ] + "localized": ["Петар"], + "romanized": ["Petar"] }, { "id": "O-ME-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Лука" - ], - "romanized": [ - "Luka" - ] + "localized": ["Лука"], + "romanized": ["Luka"] } ] } @@ -16545,210 +10769,134 @@ "id": "O-MK-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Јана" - ], - "romanized": [ - "Jana" - ] + "localized": ["Јана"], + "romanized": ["Jana"] }, { "id": "O-MK-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Софија" - ], - "romanized": [ - "Sofija" - ] + "localized": ["Софија"], + "romanized": ["Sofija"] }, { "id": "O-MK-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Мила" - ], - "romanized": [ - "Mila" - ] + "localized": ["Мила"], + "romanized": ["Mila"] }, { "id": "O-MK-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Хана" - ], - "romanized": [ - "Hana" - ] + "localized": ["Хана"], + "romanized": ["Hana"] }, { "id": "O-MK-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Бисера" - ], - "romanized": [ - "Bisera" - ] + "localized": ["Бисера"], + "romanized": ["Bisera"] }, { "id": "O-MK-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Сара" - ], - "romanized": [ - "Sara" - ] + "localized": ["Сара"], + "romanized": ["Sara"] }, { "id": "O-MK-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Јована" - ], - "romanized": [ - "Jovana" - ] + "localized": ["Јована"], + "romanized": ["Jovana"] }, { "id": "O-MK-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Ева" - ], - "romanized": [ - "Eva" - ] + "localized": ["Ева"], + "romanized": ["Eva"] }, { "id": "O-MK-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Дарија" - ], - "romanized": [ - "Darija" - ] + "localized": ["Дарија"], + "romanized": ["Darija"] }, { "id": "O-MK-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Лука" - ], - "romanized": [ - "Luka" - ] + "localized": ["Лука"], + "romanized": ["Luka"] }, { "id": "O-MK-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Дамјан" - ], - "romanized": [ - "Damjan" - ] + "localized": ["Дамјан"], + "romanized": ["Damjan"] }, { "id": "O-MK-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Михаил" - ], - "romanized": [ - "Mihail" - ] + "localized": ["Михаил"], + "romanized": ["Mihail"] }, { "id": "O-MK-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Марко" - ], - "romanized": [ - "Marko" - ] + "localized": ["Марко"], + "romanized": ["Marko"] }, { "id": "O-MK-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Јован" - ], - "romanized": [ - "Jovan" - ] + "localized": ["Јован"], + "romanized": ["Jovan"] }, { "id": "O-MK-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Давид" - ], - "romanized": [ - "David" - ] + "localized": ["Давид"], + "romanized": ["David"] }, { "id": "O-MK-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Jakob" - ], - "romanized": [ - "Jakov" - ] + "localized": ["Jakob"], + "romanized": ["Jakov"] }, { "id": "O-MK-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Петар" - ], - "romanized": [ - "Petar" - ] + "localized": ["Петар"], + "romanized": ["Petar"] }, { "id": "O-MK-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Матеј" - ], - "romanized": [ - "Matej" - ] + "localized": ["Матеј"], + "romanized": ["Matej"] }, { "id": "O-MK-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Стефан" - ], - "romanized": [ - "Stefan" - ] + "localized": ["Стефан"], + "romanized": ["Stefan"] } ] } @@ -16763,221 +10911,141 @@ "id": "N-ML-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Fatoumata" - ], - "romanized": [ - "Fatoumata" - ] + "localized": ["Fatoumata"], + "romanized": ["Fatoumata"] }, { "id": "N-ML-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Mariam" - ], - "romanized": [ - "Mariam" - ] + "localized": ["Mariam"], + "romanized": ["Mariam"] }, { "id": "N-ML-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Aminata" - ], - "romanized": [ - "Aminata" - ] + "localized": ["Aminata"], + "romanized": ["Aminata"] }, { "id": "N-ML-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Hawa" - ], - "romanized": [ - "Hawa" - ] + "localized": ["Hawa"], + "romanized": ["Hawa"] }, { "id": "N-ML-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Awa" - ], - "romanized": [ - "Awa" - ] + "localized": ["Awa"], + "romanized": ["Awa"] }, { "id": "N-ML-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Oumou" - ], - "romanized": [ - "Oumou" - ] + "localized": ["Oumou"], + "romanized": ["Oumou"] }, { "id": "N-ML-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Djeneba" - ], - "romanized": [ - "Djeneba" - ] + "localized": ["Djeneba"], + "romanized": ["Djeneba"] }, { "id": "N-ML-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Bintou" - ], - "romanized": [ - "Bintou" - ] + "localized": ["Bintou"], + "romanized": ["Bintou"] }, { "id": "N-ML-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Fanta" - ], - "romanized": [ - "Fanta" - ] + "localized": ["Fanta"], + "romanized": ["Fanta"] }, { "id": "N-ML-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Kadiatou" - ], - "romanized": [ - "Kadiatou" - ] + "localized": ["Kadiatou"], + "romanized": ["Kadiatou"] }, { "id": "N-ML-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mamadou" - ], - "romanized": [ - "Mamadou" - ] + "localized": ["Mamadou"], + "romanized": ["Mamadou"] }, { "id": "N-ML-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Moussa" - ], - "romanized": [ - "Moussa" - ] + "localized": ["Moussa"], + "romanized": ["Moussa"] }, { "id": "N-ML-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Mahamadou" - ], - "romanized": [ - "Mahamadou" - ] + "localized": ["Mahamadou"], + "romanized": ["Mahamadou"] }, { "id": "N-ML-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Adama" - ], - "romanized": [ - "Adama" - ] + "localized": ["Adama"], + "romanized": ["Adama"] }, { "id": "N-ML-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Bakary" - ], - "romanized": [ - "Bakary" - ] + "localized": ["Bakary"], + "romanized": ["Bakary"] }, { "id": "N-ML-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Abdoulaye" - ], - "romanized": [ - "Abdoulaye" - ] + "localized": ["Abdoulaye"], + "romanized": ["Abdoulaye"] }, { "id": "N-ML-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Modibo" - ], - "romanized": [ - "Modibo" - ] + "localized": ["Modibo"], + "romanized": ["Modibo"] }, { "id": "N-ML-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Oumar" - ], - "romanized": [ - "Oumar" - ] + "localized": ["Oumar"], + "romanized": ["Oumar"] }, { "id": "N-ML-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Sekou" - ], - "romanized": [ - "Sekou" - ] + "localized": ["Sekou"], + "romanized": ["Sekou"] }, { "id": "N-ML-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Souleymane" - ], - "romanized": [ - "Souleymane" - ] + "localized": ["Souleymane"], + "romanized": ["Souleymane"] } ] } @@ -16992,111 +11060,71 @@ "id": "N-MN-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Odval" - ], - "romanized": [ - "Odval" - ] + "localized": ["Odval"], + "romanized": ["Odval"] }, { "id": "N-MN-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Bolormaa" - ], - "romanized": [ - "Bolormaa" - ] + "localized": ["Bolormaa"], + "romanized": ["Bolormaa"] }, { "id": "N-MN-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Bayarmaa" - ], - "romanized": [ - "Bayarmaa" - ] + "localized": ["Bayarmaa"], + "romanized": ["Bayarmaa"] }, { "id": "N-MN-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Oyunbileg" - ], - "romanized": [ - "Oyunbileg" - ] + "localized": ["Oyunbileg"], + "romanized": ["Oyunbileg"] }, { "id": "N-MN-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Khongordzol" - ], - "romanized": [ - "Khongordzol" - ] + "localized": ["Khongordzol"], + "romanized": ["Khongordzol"] }, { "id": "N-MN-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Naranbaatar" - ], - "romanized": [ - "Naranbaatar" - ] + "localized": ["Naranbaatar"], + "romanized": ["Naranbaatar"] }, { "id": "N-MN-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Batkhaаn" - ], - "romanized": [ - "Batkhaаn" - ] + "localized": ["Batkhaаn"], + "romanized": ["Batkhaаn"] }, { "id": "N-MN-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Baаtar" - ], - "romanized": [ - "Baаtar" - ] + "localized": ["Baаtar"], + "romanized": ["Baаtar"] }, { "id": "N-MN-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Chuluun" - ], - "romanized": [ - "Chuluun" - ] + "localized": ["Chuluun"], + "romanized": ["Chuluun"] }, { "id": "N-MN-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Sukhbaаtar" - ], - "romanized": [ - "Sukhbaаtar" - ] + "localized": ["Sukhbaаtar"], + "romanized": ["Sukhbaаtar"] } ] } @@ -17111,89 +11139,57 @@ "id": "N-MT-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-MT-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-MT-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Nina" - ], - "romanized": [ - "Nina" - ] + "localized": ["Nina"], + "romanized": ["Nina"] }, { "id": "N-MT-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Giulia" - ], - "romanized": [ - "Giulia" - ] + "localized": ["Giulia"], + "romanized": ["Giulia"] }, { "id": "N-MT-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Luca" - ], - "romanized": [ - "Luca" - ] + "localized": ["Luca"], + "romanized": ["Luca"] }, { "id": "N-MT-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-MT-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-MT-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Matteo" - ], - "romanized": [ - "Matteo" - ] + "localized": ["Matteo"], + "romanized": ["Matteo"] } ] } @@ -17208,221 +11204,141 @@ "id": "N-MX-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sofía" - ], - "romanized": [ - "Sofía" - ] + "localized": ["Sofía"], + "romanized": ["Sofía"] }, { "id": "N-MX-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Valentina" - ], - "romanized": [ - "Valentina" - ] + "localized": ["Valentina"], + "romanized": ["Valentina"] }, { "id": "N-MX-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Regina" - ], - "romanized": [ - "Regina" - ] + "localized": ["Regina"], + "romanized": ["Regina"] }, { "id": "N-MX-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "María José" - ], - "romanized": [ - "María José" - ] + "localized": ["María José"], + "romanized": ["María José"] }, { "id": "N-MX-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Ximena" - ], - "romanized": [ - "Ximena" - ] + "localized": ["Ximena"], + "romanized": ["Ximena"] }, { "id": "N-MX-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Camila" - ], - "romanized": [ - "Camila" - ] + "localized": ["Camila"], + "romanized": ["Camila"] }, { "id": "N-MX-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "María Fernanda" - ], - "romanized": [ - "María Fernanda" - ] + "localized": ["María Fernanda"], + "romanized": ["María Fernanda"] }, { "id": "N-MX-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Valeria" - ], - "romanized": [ - "Valeria" - ] + "localized": ["Valeria"], + "romanized": ["Valeria"] }, { "id": "N-MX-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Victoria" - ], - "romanized": [ - "Victoria" - ] + "localized": ["Victoria"], + "romanized": ["Victoria"] }, { "id": "N-MX-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Renata" - ], - "romanized": [ - "Renata" - ] + "localized": ["Renata"], + "romanized": ["Renata"] }, { "id": "N-MX-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Santiago" - ], - "romanized": [ - "Santiago" - ] + "localized": ["Santiago"], + "romanized": ["Santiago"] }, { "id": "N-MX-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Mateo" - ], - "romanized": [ - "Mateo" - ] + "localized": ["Mateo"], + "romanized": ["Mateo"] }, { "id": "N-MX-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Sebastián" - ], - "romanized": [ - "Sebastián" - ] + "localized": ["Sebastián"], + "romanized": ["Sebastián"] }, { "id": "N-MX-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Leordo" - ], - "romanized": [ - "Leordo" - ] + "localized": ["Leordo"], + "romanized": ["Leordo"] }, { "id": "N-MX-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Matías" - ], - "romanized": [ - "Matías" - ] + "localized": ["Matías"], + "romanized": ["Matías"] }, { "id": "N-MX-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Emiliano" - ], - "romanized": [ - "Emiliano" - ] + "localized": ["Emiliano"], + "romanized": ["Emiliano"] }, { "id": "N-MX-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Diego" - ], - "romanized": [ - "Diego" - ] + "localized": ["Diego"], + "romanized": ["Diego"] }, { "id": "N-MX-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Daniel" - ], - "romanized": [ - "Daniel" - ] + "localized": ["Daniel"], + "romanized": ["Daniel"] }, { "id": "N-MX-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Miguel Ángel" - ], - "romanized": [ - "Miguel Ángel" - ] + "localized": ["Miguel Ángel"], + "romanized": ["Miguel Ángel"] }, { "id": "N-MX-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Alexander" - ], - "romanized": [ - "Alexander" - ] + "localized": ["Alexander"], + "romanized": ["Alexander"] } ] } @@ -17437,221 +11353,141 @@ "id": "N-MY-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Nur" - ], - "romanized": [ - "Nur" - ] + "localized": ["Nur"], + "romanized": ["Nur"] }, { "id": "N-MY-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Wan" - ], - "romanized": [ - "Wan" - ] + "localized": ["Wan"], + "romanized": ["Wan"] }, { "id": "N-MY-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Nurul" - ], - "romanized": [ - "Nurul" - ] + "localized": ["Nurul"], + "romanized": ["Nurul"] }, { "id": "N-MY-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Aisyah" - ], - "romanized": [ - "Aisyah" - ] + "localized": ["Aisyah"], + "romanized": ["Aisyah"] }, { "id": "N-MY-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Maryam" - ], - "romanized": [ - "Maryam" - ] + "localized": ["Maryam"], + "romanized": ["Maryam"] }, { "id": "N-MY-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Siti" - ], - "romanized": [ - "Siti" - ] + "localized": ["Siti"], + "romanized": ["Siti"] }, { "id": "N-MY-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Dhia" - ], - "romanized": [ - "Dhia" - ] + "localized": ["Dhia"], + "romanized": ["Dhia"] }, { "id": "N-MY-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Naura" - ], - "romanized": [ - "Naura" - ] + "localized": ["Naura"], + "romanized": ["Naura"] }, { "id": "N-MY-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Ayra" - ], - "romanized": [ - "Ayra" - ] + "localized": ["Ayra"], + "romanized": ["Ayra"] }, { "id": "N-MY-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Puteri" - ], - "romanized": [ - "Puteri" - ] + "localized": ["Puteri"], + "romanized": ["Puteri"] }, { "id": "N-MY-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Muhamad" - ], - "romanized": [ - "Muhamad" - ] + "localized": ["Muhamad"], + "romanized": ["Muhamad"] }, { "id": "N-MY-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Ahmad" - ], - "romanized": [ - "Ahmad" - ] + "localized": ["Ahmad"], + "romanized": ["Ahmad"] }, { "id": "N-MY-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Adam" - ], - "romanized": [ - "Adam" - ] + "localized": ["Adam"], + "romanized": ["Adam"] }, { "id": "N-MY-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Amar" - ], - "romanized": [ - "Amar" - ] + "localized": ["Amar"], + "romanized": ["Amar"] }, { "id": "N-MY-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Wan" - ], - "romanized": [ - "Wan" - ] + "localized": ["Wan"], + "romanized": ["Wan"] }, { "id": "N-MY-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Iman" - ], - "romanized": [ - "Iman" - ] + "localized": ["Iman"], + "romanized": ["Iman"] }, { "id": "N-MY-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Harraz" - ], - "romanized": [ - "Harraz" - ] + "localized": ["Harraz"], + "romanized": ["Harraz"] }, { "id": "N-MY-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Izz" - ], - "romanized": [ - "Izz" - ] + "localized": ["Izz"], + "romanized": ["Izz"] }, { "id": "N-MY-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Umar" - ], - "romanized": [ - "Umar" - ] + "localized": ["Umar"], + "romanized": ["Umar"] }, { "id": "N-MY-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Aariz" - ], - "romanized": [ - "Aariz" - ] + "localized": ["Aariz"], + "romanized": ["Aariz"] } ] } @@ -17666,221 +11502,141 @@ "id": "N-NL-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-NL-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Julia" - ], - "romanized": [ - "Julia" - ] + "localized": ["Julia"], + "romanized": ["Julia"] }, { "id": "N-NL-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Mila" - ], - "romanized": [ - "Mila" - ] + "localized": ["Mila"], + "romanized": ["Mila"] }, { "id": "N-NL-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Sophie" - ], - "romanized": [ - "Sophie" - ] + "localized": ["Sophie"], + "romanized": ["Sophie"] }, { "id": "N-NL-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-NL-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Yara" - ], - "romanized": [ - "Yara" - ] + "localized": ["Yara"], + "romanized": ["Yara"] }, { "id": "N-NL-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Saar" - ], - "romanized": [ - "Saar" - ] + "localized": ["Saar"], + "romanized": ["Saar"] }, { "id": "N-NL-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Nora" - ], - "romanized": [ - "Nora" - ] + "localized": ["Nora"], + "romanized": ["Nora"] }, { "id": "N-NL-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Tess" - ], - "romanized": [ - "Tess" - ] + "localized": ["Tess"], + "romanized": ["Tess"] }, { "id": "N-NL-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Noor" - ], - "romanized": [ - "Noor" - ] + "localized": ["Noor"], + "romanized": ["Noor"] }, { "id": "N-NL-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-NL-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-NL-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Luca" - ], - "romanized": [ - "Luca" - ] + "localized": ["Luca"], + "romanized": ["Luca"] }, { "id": "N-NL-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-NL-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Mees" - ], - "romanized": [ - "Mees" - ] + "localized": ["Mees"], + "romanized": ["Mees"] }, { "id": "N-NL-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Finn" - ], - "romanized": [ - "Finn" - ] + "localized": ["Finn"], + "romanized": ["Finn"] }, { "id": "N-NL-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "James" - ], - "romanized": [ - "James" - ] + "localized": ["James"], + "romanized": ["James"] }, { "id": "N-NL-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Milan" - ], - "romanized": [ - "Milan" - ] + "localized": ["Milan"], + "romanized": ["Milan"] }, { "id": "N-NL-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Levi" - ], - "romanized": [ - "Levi" - ] + "localized": ["Levi"], + "romanized": ["Levi"] }, { "id": "N-NL-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Sem" - ], - "romanized": [ - "Sem" - ] + "localized": ["Sem"], + "romanized": ["Sem"] } ] } @@ -17895,221 +11651,141 @@ "id": "N-NO-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Nora" - ], - "romanized": [ - "Nora" - ] + "localized": ["Nora"], + "romanized": ["Nora"] }, { "id": "N-NO-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-NO-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-NO-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Ella" - ], - "romanized": [ - "Ella" - ] + "localized": ["Ella"], + "romanized": ["Ella"] }, { "id": "N-NO-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Sofie" - ], - "romanized": [ - "Sofie" - ] + "localized": ["Sofie"], + "romanized": ["Sofie"] }, { "id": "N-NO-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Leah" - ], - "romanized": [ - "Leah" - ] + "localized": ["Leah"], + "romanized": ["Leah"] }, { "id": "N-NO-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Frida" - ], - "romanized": [ - "Frida" - ] + "localized": ["Frida"], + "romanized": ["Frida"] }, { "id": "N-NO-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Iben" - ], - "romanized": [ - "Iben" - ] + "localized": ["Iben"], + "romanized": ["Iben"] }, { "id": "N-NO-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-NO-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Sara" - ], - "romanized": [ - "Sara" - ] + "localized": ["Sara"], + "romanized": ["Sara"] }, { "id": "N-NO-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Jakob" - ], - "romanized": [ - "Jakob" - ] + "localized": ["Jakob"], + "romanized": ["Jakob"] }, { "id": "N-NO-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-NO-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Emil" - ], - "romanized": [ - "Emil" - ] + "localized": ["Emil"], + "romanized": ["Emil"] }, { "id": "N-NO-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-NO-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] }, { "id": "N-NO-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Isak" - ], - "romanized": [ - "Isak" - ] + "localized": ["Isak"], + "romanized": ["Isak"] }, { "id": "N-NO-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "William" - ], - "romanized": [ - "William" - ] + "localized": ["William"], + "romanized": ["William"] }, { "id": "N-NO-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Filip" - ], - "romanized": [ - "Filip" - ] + "localized": ["Filip"], + "romanized": ["Filip"] }, { "id": "N-NO-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Aksel" - ], - "romanized": [ - "Aksel" - ] + "localized": ["Aksel"], + "romanized": ["Aksel"] }, { "id": "N-NO-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Theodor" - ], - "romanized": [ - "Theodor" - ] + "localized": ["Theodor"], + "romanized": ["Theodor"] } ] } @@ -18124,221 +11800,141 @@ "id": "N-NP-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Shristi" - ], - "romanized": [ - "Shristi" - ] + "localized": ["Shristi"], + "romanized": ["Shristi"] }, { "id": "N-NP-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Sunita" - ], - "romanized": [ - "Sunita" - ] + "localized": ["Sunita"], + "romanized": ["Sunita"] }, { "id": "N-NP-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Rabina" - ], - "romanized": [ - "Rabina" - ] + "localized": ["Rabina"], + "romanized": ["Rabina"] }, { "id": "N-NP-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Asmita" - ], - "romanized": [ - "Asmita" - ] + "localized": ["Asmita"], + "romanized": ["Asmita"] }, { "id": "N-NP-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Niharika" - ], - "romanized": [ - "Niharika" - ] + "localized": ["Niharika"], + "romanized": ["Niharika"] }, { "id": "N-NP-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Binita" - ], - "romanized": [ - "Binita" - ] + "localized": ["Binita"], + "romanized": ["Binita"] }, { "id": "N-NP-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Aasha" - ], - "romanized": [ - "Aasha" - ] + "localized": ["Aasha"], + "romanized": ["Aasha"] }, { "id": "N-NP-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Kabita" - ], - "romanized": [ - "Kabita" - ] + "localized": ["Kabita"], + "romanized": ["Kabita"] }, { "id": "N-NP-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Sita" - ], - "romanized": [ - "Sita" - ] + "localized": ["Sita"], + "romanized": ["Sita"] }, { "id": "N-NP-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Gita" - ], - "romanized": [ - "Gita" - ] + "localized": ["Gita"], + "romanized": ["Gita"] }, { "id": "N-NP-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Krishna" - ], - "romanized": [ - "Krishna" - ] + "localized": ["Krishna"], + "romanized": ["Krishna"] }, { "id": "N-NP-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Kiran" - ], - "romanized": [ - "Kiran" - ] + "localized": ["Kiran"], + "romanized": ["Kiran"] }, { "id": "N-NP-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Bishal" - ], - "romanized": [ - "Bishal" - ] + "localized": ["Bishal"], + "romanized": ["Bishal"] }, { "id": "N-NP-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Bibek" - ], - "romanized": [ - "Bibek" - ] + "localized": ["Bibek"], + "romanized": ["Bibek"] }, { "id": "N-NP-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Siddhartha" - ], - "romanized": [ - "Siddhartha" - ] + "localized": ["Siddhartha"], + "romanized": ["Siddhartha"] }, { "id": "N-NP-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Manish" - ], - "romanized": [ - "Manish" - ] + "localized": ["Manish"], + "romanized": ["Manish"] }, { "id": "N-NP-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Mahesh" - ], - "romanized": [ - "Mahesh" - ] + "localized": ["Mahesh"], + "romanized": ["Mahesh"] }, { "id": "N-NP-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Kamal" - ], - "romanized": [ - "Kamal" - ] + "localized": ["Kamal"], + "romanized": ["Kamal"] }, { "id": "N-NP-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Prem" - ], - "romanized": [ - "Prem" - ] + "localized": ["Prem"], + "romanized": ["Prem"] }, { "id": "N-NP-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Prakash" - ], - "romanized": [ - "Prakash" - ] + "localized": ["Prakash"], + "romanized": ["Prakash"] } ] } @@ -18353,221 +11949,141 @@ "id": "N-NZ-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-NZ-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Aria" - ], - "romanized": [ - "Aria" - ] + "localized": ["Aria"], + "romanized": ["Aria"] }, { "id": "N-NZ-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Maia" - ], - "romanized": [ - "Maia" - ] + "localized": ["Maia"], + "romanized": ["Maia"] }, { "id": "N-NZ-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Aurora" - ], - "romanized": [ - "Aurora" - ] + "localized": ["Aurora"], + "romanized": ["Aurora"] }, { "id": "N-NZ-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Amaia" - ], - "romanized": [ - "Amaia" - ] + "localized": ["Amaia"], + "romanized": ["Amaia"] }, { "id": "N-NZ-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Kiara" - ], - "romanized": [ - "Kiara" - ] + "localized": ["Kiara"], + "romanized": ["Kiara"] }, { "id": "N-NZ-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Kaia" - ], - "romanized": [ - "Kaia" - ] + "localized": ["Kaia"], + "romanized": ["Kaia"] }, { "id": "N-NZ-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Amara" - ], - "romanized": [ - "Amara" - ] + "localized": ["Amara"], + "romanized": ["Amara"] }, { "id": "N-NZ-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Kora" - ], - "romanized": [ - "Kora" - ] + "localized": ["Kora"], + "romanized": ["Kora"] }, { "id": "N-NZ-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Maria" - ], - "romanized": [ - "Maria" - ] + "localized": ["Maria"], + "romanized": ["Maria"] }, { "id": "N-NZ-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Nikau" - ], - "romanized": [ - "Nikau" - ] + "localized": ["Nikau"], + "romanized": ["Nikau"] }, { "id": "N-NZ-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Ari" - ], - "romanized": [ - "Ari" - ] + "localized": ["Ari"], + "romanized": ["Ari"] }, { "id": "N-NZ-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Niko" - ], - "romanized": [ - "Niko" - ] + "localized": ["Niko"], + "romanized": ["Niko"] }, { "id": "N-NZ-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Koa" - ], - "romanized": [ - "Koa" - ] + "localized": ["Koa"], + "romanized": ["Koa"] }, { "id": "N-NZ-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Mateo" - ], - "romanized": [ - "Mateo" - ] + "localized": ["Mateo"], + "romanized": ["Mateo"] }, { "id": "N-NZ-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Keanu" - ], - "romanized": [ - "Keanu" - ] + "localized": ["Keanu"], + "romanized": ["Keanu"] }, { "id": "N-NZ-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Mikaere" - ], - "romanized": [ - "Mikaere" - ] + "localized": ["Mikaere"], + "romanized": ["Mikaere"] }, { "id": "N-NZ-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Manaia" - ], - "romanized": [ - "Manaia" - ] + "localized": ["Manaia"], + "romanized": ["Manaia"] }, { "id": "N-NZ-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Kairo" - ], - "romanized": [ - "Kairo" - ] + "localized": ["Kairo"], + "romanized": ["Kairo"] }, { "id": "N-NZ-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Kiwa" - ], - "romanized": [ - "Kiwa" - ] + "localized": ["Kiwa"], + "romanized": ["Kiwa"] } ] }, @@ -18580,221 +12096,141 @@ "id": "N-NZ-2-F-1", "rank": 1, "gender": "F", - "localized": [ - "Isla" - ], - "romanized": [ - "Isla" - ] + "localized": ["Isla"], + "romanized": ["Isla"] }, { "id": "N-NZ-2-F-2", "rank": 2, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-NZ-2-F-3", "rank": 3, "gender": "F", - "localized": [ - "Charlotte" - ], - "romanized": [ - "Charlotte" - ] + "localized": ["Charlotte"], + "romanized": ["Charlotte"] }, { "id": "N-NZ-2-F-4", "rank": 4, "gender": "F", - "localized": [ - "Mila" - ], - "romanized": [ - "Mila" - ] + "localized": ["Mila"], + "romanized": ["Mila"] }, { "id": "N-NZ-2-F-5", "rank": 5, "gender": "F", - "localized": [ - "Lily" - ], - "romanized": [ - "Lily" - ] + "localized": ["Lily"], + "romanized": ["Lily"] }, { "id": "N-NZ-2-F-6", "rank": 6, "gender": "F", - "localized": [ - "Ava" - ], - "romanized": [ - "Ava" - ] + "localized": ["Ava"], + "romanized": ["Ava"] }, { "id": "N-NZ-2-F-7", "rank": 7, "gender": "F", - "localized": [ - "Willow" - ], - "romanized": [ - "Willow" - ] + "localized": ["Willow"], + "romanized": ["Willow"] }, { "id": "N-NZ-2-F-8", "rank": 8, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-NZ-2-F-9", "rank": 9, "gender": "F", - "localized": [ - "Harper" - ], - "romanized": [ - "Harper" - ] + "localized": ["Harper"], + "romanized": ["Harper"] }, { "id": "N-NZ-2-F-10", "rank": 10, "gender": "F", - "localized": [ - "Sophie" - ], - "romanized": [ - "Sophie" - ] + "localized": ["Sophie"], + "romanized": ["Sophie"] }, { "id": "N-NZ-2-M-1", "rank": 1, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] }, { "id": "N-NZ-2-M-2", "rank": 2, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-NZ-2-M-3", "rank": 3, "gender": "M", - "localized": [ - "Leo" - ], - "romanized": [ - "Leo" - ] + "localized": ["Leo"], + "romanized": ["Leo"] }, { "id": "N-NZ-2-M-4", "rank": 4, "gender": "M", - "localized": [ - "Jack" - ], - "romanized": [ - "Jack" - ] + "localized": ["Jack"], + "romanized": ["Jack"] }, { "id": "N-NZ-2-M-5", "rank": 5, "gender": "M", - "localized": [ - "Luca" - ], - "romanized": [ - "Luca" - ] + "localized": ["Luca"], + "romanized": ["Luca"] }, { "id": "N-NZ-2-M-6", "rank": 6, "gender": "M", - "localized": [ - "Theodore" - ], - "romanized": [ - "Theodore" - ] + "localized": ["Theodore"], + "romanized": ["Theodore"] }, { "id": "N-NZ-2-M-7", "rank": 7, "gender": "M", - "localized": [ - "George" - ], - "romanized": [ - "George" - ] + "localized": ["George"], + "romanized": ["George"] }, { "id": "N-NZ-2-M-8", "rank": 8, "gender": "M", - "localized": [ - "Charlie" - ], - "romanized": [ - "Charlie" - ] + "localized": ["Charlie"], + "romanized": ["Charlie"] }, { "id": "N-NZ-2-M-9", "rank": 9, "gender": "M", - "localized": [ - "Hudson" - ], - "romanized": [ - "Hudson" - ] + "localized": ["Hudson"], + "romanized": ["Hudson"] }, { "id": "N-NZ-2-M-10", "rank": 10, "gender": "M", - "localized": [ - "William" - ], - "romanized": [ - "William" - ] + "localized": ["William"], + "romanized": ["William"] } ] } @@ -18809,221 +12245,141 @@ "id": "N-PA-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Mía" - ], - "romanized": [ - "Mía" - ] + "localized": ["Mía"], + "romanized": ["Mía"] }, { "id": "N-PA-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-PA-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Lía" - ], - "romanized": [ - "Lía" - ] + "localized": ["Lía"], + "romanized": ["Lía"] }, { "id": "N-PA-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Ana" - ], - "romanized": [ - "Ana" - ] + "localized": ["Ana"], + "romanized": ["Ana"] }, { "id": "N-PA-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-PA-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Sofía" - ], - "romanized": [ - "Sofía" - ] + "localized": ["Sofía"], + "romanized": ["Sofía"] }, { "id": "N-PA-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "María" - ], - "romanized": [ - "María" - ] + "localized": ["María"], + "romanized": ["María"] }, { "id": "N-PA-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Camila" - ], - "romanized": [ - "Camila" - ] + "localized": ["Camila"], + "romanized": ["Camila"] }, { "id": "N-PA-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Emily" - ], - "romanized": [ - "Emily" - ] + "localized": ["Emily"], + "romanized": ["Emily"] }, { "id": "N-PA-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Lucía" - ], - "romanized": [ - "Lucía" - ] + "localized": ["Lucía"], + "romanized": ["Lucía"] }, { "id": "N-PA-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Thiago" - ], - "romanized": [ - "Thiago" - ] + "localized": ["Thiago"], + "romanized": ["Thiago"] }, { "id": "N-PA-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Matías" - ], - "romanized": [ - "Matías" - ] + "localized": ["Matías"], + "romanized": ["Matías"] }, { "id": "N-PA-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Ian" - ], - "romanized": [ - "Ian" - ] + "localized": ["Ian"], + "romanized": ["Ian"] }, { "id": "N-PA-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-PA-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Dylan" - ], - "romanized": [ - "Dylan" - ] + "localized": ["Dylan"], + "romanized": ["Dylan"] }, { "id": "N-PA-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Luis" - ], - "romanized": [ - "Luis" - ] + "localized": ["Luis"], + "romanized": ["Luis"] }, { "id": "N-PA-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Juan" - ], - "romanized": [ - "Juan" - ] + "localized": ["Juan"], + "romanized": ["Juan"] }, { "id": "N-PA-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Eithan" - ], - "romanized": [ - "Eithan" - ] + "localized": ["Eithan"], + "romanized": ["Eithan"] }, { "id": "N-PA-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Carlos" - ], - "romanized": [ - "Carlos" - ] + "localized": ["Carlos"], + "romanized": ["Carlos"] }, { "id": "N-PA-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] } ] } @@ -19038,221 +12394,141 @@ "id": "N-PE-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-PE-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Camila" - ], - "romanized": [ - "Camila" - ] + "localized": ["Camila"], + "romanized": ["Camila"] }, { "id": "N-PE-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Alessia" - ], - "romanized": [ - "Alessia" - ] + "localized": ["Alessia"], + "romanized": ["Alessia"] }, { "id": "N-PE-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Luciana" - ], - "romanized": [ - "Luciana" - ] + "localized": ["Luciana"], + "romanized": ["Luciana"] }, { "id": "N-PE-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Zoe" - ], - "romanized": [ - "Zoe" - ] + "localized": ["Zoe"], + "romanized": ["Zoe"] }, { "id": "N-PE-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Valentina" - ], - "romanized": [ - "Valentina" - ] + "localized": ["Valentina"], + "romanized": ["Valentina"] }, { "id": "N-PE-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Aitana" - ], - "romanized": [ - "Aitana" - ] + "localized": ["Aitana"], + "romanized": ["Aitana"] }, { "id": "N-PE-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Danna" - ], - "romanized": [ - "Danna" - ] + "localized": ["Danna"], + "romanized": ["Danna"] }, { "id": "N-PE-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Luana" - ], - "romanized": [ - "Luana" - ] + "localized": ["Luana"], + "romanized": ["Luana"] }, { "id": "N-PE-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Ariana" - ], - "romanized": [ - "Ariana" - ] + "localized": ["Ariana"], + "romanized": ["Ariana"] }, { "id": "N-PE-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-PE-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Thiago" - ], - "romanized": [ - "Thiago" - ] + "localized": ["Thiago"], + "romanized": ["Thiago"] }, { "id": "N-PE-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Dylan" - ], - "romanized": [ - "Dylan" - ] + "localized": ["Dylan"], + "romanized": ["Dylan"] }, { "id": "N-PE-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Gael" - ], - "romanized": [ - "Gael" - ] + "localized": ["Gael"], + "romanized": ["Gael"] }, { "id": "N-PE-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Mateo" - ], - "romanized": [ - "Mateo" - ] + "localized": ["Mateo"], + "romanized": ["Mateo"] }, { "id": "N-PE-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Ian" - ], - "romanized": [ - "Ian" - ] + "localized": ["Ian"], + "romanized": ["Ian"] }, { "id": "N-PE-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Luis" - ], - "romanized": [ - "Luis" - ] + "localized": ["Luis"], + "romanized": ["Luis"] }, { "id": "N-PE-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-PE-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Santiago" - ], - "romanized": [ - "Santiago" - ] + "localized": ["Santiago"], + "romanized": ["Santiago"] }, { "id": "N-PE-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Juan" - ], - "romanized": [ - "Juan" - ] + "localized": ["Juan"], + "romanized": ["Juan"] } ] } @@ -19267,287 +12543,183 @@ "id": "N-PF-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Tiare" - ], - "romanized": [ - "Tiare" - ] + "localized": ["Tiare"], + "romanized": ["Tiare"] }, { "id": "N-PF-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Hinano" - ], - "romanized": [ - "Hinano" - ] + "localized": ["Hinano"], + "romanized": ["Hinano"] }, { "id": "N-PF-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Poema" - ], - "romanized": [ - "Poema" - ] + "localized": ["Poema"], + "romanized": ["Poema"] }, { "id": "N-PF-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Maeva" - ], - "romanized": [ - "Maeva" - ] + "localized": ["Maeva"], + "romanized": ["Maeva"] }, { "id": "N-PF-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Hina" - ], - "romanized": [ - "Hina" - ] + "localized": ["Hina"], + "romanized": ["Hina"] }, { "id": "N-PF-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Vaea" - ], - "romanized": [ - "Vaea" - ] + "localized": ["Vaea"], + "romanized": ["Vaea"] }, { "id": "N-PF-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Titaua" - ], - "romanized": [ - "Titaua" - ] + "localized": ["Titaua"], + "romanized": ["Titaua"] }, { "id": "N-PF-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Moea" - ], - "romanized": [ - "Moea" - ] + "localized": ["Moea"], + "romanized": ["Moea"] }, { "id": "N-PF-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Moeata" - ], - "romanized": [ - "Moeata" - ] + "localized": ["Moeata"], + "romanized": ["Moeata"] }, { "id": "N-PF-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Tarita" - ], - "romanized": [ - "Tarita" - ] + "localized": ["Tarita"], + "romanized": ["Tarita"] }, { "id": "N-PF-1-F-11", "rank": 11, "gender": "F", - "localized": [ - "Titaina" - ], - "romanized": [ - "Titaina" - ] + "localized": ["Titaina"], + "romanized": ["Titaina"] }, { "id": "N-PF-1-F-12", "rank": 12, "gender": "F", - "localized": [ - "Teura" - ], - "romanized": [ - "Teura" - ] + "localized": ["Teura"], + "romanized": ["Teura"] }, { "id": "N-PF-1-F-13", "rank": 13, "gender": "F", - "localized": [ - "Heikapu" - ], - "romanized": [ - "Heikapu" - ] + "localized": ["Heikapu"], + "romanized": ["Heikapu"] }, { "id": "N-PF-1-F-14", "rank": 14, "gender": "F", - "localized": [ - "Mareva" - ], - "romanized": [ - "Mareva" - ] + "localized": ["Mareva"], + "romanized": ["Mareva"] }, { "id": "N-PF-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Hiro" - ], - "romanized": [ - "Hiro" - ] + "localized": ["Hiro"], + "romanized": ["Hiro"] }, { "id": "N-PF-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Teiki" - ], - "romanized": [ - "Teiki" - ] + "localized": ["Teiki"], + "romanized": ["Teiki"] }, { "id": "N-PF-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Moana" - ], - "romanized": [ - "Moana" - ] + "localized": ["Moana"], + "romanized": ["Moana"] }, { "id": "N-PF-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Manua" - ], - "romanized": [ - "Manua" - ] + "localized": ["Manua"], + "romanized": ["Manua"] }, { "id": "N-PF-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Marama" - ], - "romanized": [ - "Marama" - ] + "localized": ["Marama"], + "romanized": ["Marama"] }, { "id": "N-PF-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Teiva" - ], - "romanized": [ - "Teiva" - ] + "localized": ["Teiva"], + "romanized": ["Teiva"] }, { "id": "N-PF-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Teva" - ], - "romanized": [ - "Teva" - ] + "localized": ["Teva"], + "romanized": ["Teva"] }, { "id": "N-PF-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Maui" - ], - "romanized": [ - "Maui" - ] + "localized": ["Maui"], + "romanized": ["Maui"] }, { "id": "N-PF-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Tehei" - ], - "romanized": [ - "Tehei" - ] + "localized": ["Tehei"], + "romanized": ["Tehei"] }, { "id": "N-PF-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Tamatoa" - ], - "romanized": [ - "Tamatoa" - ] + "localized": ["Tamatoa"], + "romanized": ["Tamatoa"] }, { "id": "N-PF-1-M-11", "rank": 11, "gender": "M", - "localized": [ - "Ioane" - ], - "romanized": [ - "Ioane" - ] + "localized": ["Ioane"], + "romanized": ["Ioane"] }, { "id": "N-PF-1-M-12", "rank": 12, "gender": "M", - "localized": [ - "Tapuarii" - ], - "romanized": [ - "Tapuarii" - ] + "localized": ["Tapuarii"], + "romanized": ["Tapuarii"] } ] } @@ -19562,221 +12734,141 @@ "id": "N-PH-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Althea" - ], - "romanized": [ - "Althea" - ] + "localized": ["Althea"], + "romanized": ["Althea"] }, { "id": "N-PH-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Angel" - ], - "romanized": [ - "Angel" - ] + "localized": ["Angel"], + "romanized": ["Angel"] }, { "id": "N-PH-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Samantha" - ], - "romanized": [ - "Samantha" - ] + "localized": ["Samantha"], + "romanized": ["Samantha"] }, { "id": "N-PH-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Sophia" - ], - "romanized": [ - "Sophia" - ] + "localized": ["Sophia"], + "romanized": ["Sophia"] }, { "id": "N-PH-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-PH-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Andrea" - ], - "romanized": [ - "Andrea" - ] + "localized": ["Andrea"], + "romanized": ["Andrea"] }, { "id": "N-PH-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Nathalie" - ], - "romanized": [ - "Nathalie" - ] + "localized": ["Nathalie"], + "romanized": ["Nathalie"] }, { "id": "N-PH-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Princess" - ], - "romanized": [ - "Princess" - ] + "localized": ["Princess"], + "romanized": ["Princess"] }, { "id": "N-PH-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Angela" - ], - "romanized": [ - "Angela" - ] + "localized": ["Angela"], + "romanized": ["Angela"] }, { "id": "N-PH-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Chloe" - ], - "romanized": [ - "Chloe" - ] + "localized": ["Chloe"], + "romanized": ["Chloe"] }, { "id": "N-PH-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Jacob" - ], - "romanized": [ - "Jacob" - ] + "localized": ["Jacob"], + "romanized": ["Jacob"] }, { "id": "N-PH-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Nathaniel" - ], - "romanized": [ - "Nathaniel" - ] + "localized": ["Nathaniel"], + "romanized": ["Nathaniel"] }, { "id": "N-PH-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Gabriel" - ], - "romanized": [ - "Gabriel" - ] + "localized": ["Gabriel"], + "romanized": ["Gabriel"] }, { "id": "N-PH-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Ezekiel" - ], - "romanized": [ - "Ezekiel" - ] + "localized": ["Ezekiel"], + "romanized": ["Ezekiel"] }, { "id": "N-PH-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Nathan" - ], - "romanized": [ - "Nathan" - ] + "localized": ["Nathan"], + "romanized": ["Nathan"] }, { "id": "N-PH-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Ethan" - ], - "romanized": [ - "Ethan" - ] + "localized": ["Ethan"], + "romanized": ["Ethan"] }, { "id": "N-PH-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Angelo" - ], - "romanized": [ - "Angelo" - ] + "localized": ["Angelo"], + "romanized": ["Angelo"] }, { "id": "N-PH-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "James" - ], - "romanized": [ - "James" - ] + "localized": ["James"], + "romanized": ["James"] }, { "id": "N-PH-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Matthew" - ], - "romanized": [ - "Matthew" - ] + "localized": ["Matthew"], + "romanized": ["Matthew"] }, { "id": "N-PH-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Zion" - ], - "romanized": [ - "Zion" - ] + "localized": ["Zion"], + "romanized": ["Zion"] } ] } @@ -19791,221 +12883,141 @@ "id": "N-PK-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Fatima" - ], - "romanized": [ - "Fatima" - ] + "localized": ["Fatima"], + "romanized": ["Fatima"] }, { "id": "N-PK-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Fozia" - ], - "romanized": [ - "Fozia" - ] + "localized": ["Fozia"], + "romanized": ["Fozia"] }, { "id": "N-PK-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Bismah" - ], - "romanized": [ - "Bismah" - ] + "localized": ["Bismah"], + "romanized": ["Bismah"] }, { "id": "N-PK-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Sobia" - ], - "romanized": [ - "Sobia" - ] + "localized": ["Sobia"], + "romanized": ["Sobia"] }, { "id": "N-PK-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Farrah" - ], - "romanized": [ - "Farrah" - ] + "localized": ["Farrah"], + "romanized": ["Farrah"] }, { "id": "N-PK-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Maryam" - ], - "romanized": [ - "Maryam" - ] + "localized": ["Maryam"], + "romanized": ["Maryam"] }, { "id": "N-PK-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Farzana" - ], - "romanized": [ - "Farzana" - ] + "localized": ["Farzana"], + "romanized": ["Farzana"] }, { "id": "N-PK-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Ayesha" - ], - "romanized": [ - "Ayesha" - ] + "localized": ["Ayesha"], + "romanized": ["Ayesha"] }, { "id": "N-PK-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Sakeena" - ], - "romanized": [ - "Sakeena" - ] + "localized": ["Sakeena"], + "romanized": ["Sakeena"] }, { "id": "N-PK-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Zainab" - ], - "romanized": [ - "Zainab" - ] + "localized": ["Zainab"], + "romanized": ["Zainab"] }, { "id": "N-PK-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mohammad" - ], - "romanized": [ - "Mohammad" - ] + "localized": ["Mohammad"], + "romanized": ["Mohammad"] }, { "id": "N-PK-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-PK-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Hussain" - ], - "romanized": [ - "Hussain" - ] + "localized": ["Hussain"], + "romanized": ["Hussain"] }, { "id": "N-PK-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Omar" - ], - "romanized": [ - "Omar" - ] + "localized": ["Omar"], + "romanized": ["Omar"] }, { "id": "N-PK-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Bilal" - ], - "romanized": [ - "Bilal" - ] + "localized": ["Bilal"], + "romanized": ["Bilal"] }, { "id": "N-PK-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Usman" - ], - "romanized": [ - "Usman" - ] + "localized": ["Usman"], + "romanized": ["Usman"] }, { "id": "N-PK-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Zahid" - ], - "romanized": [ - "Zahid" - ] + "localized": ["Zahid"], + "romanized": ["Zahid"] }, { "id": "N-PK-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Shahid" - ], - "romanized": [ - "Shahid" - ] + "localized": ["Shahid"], + "romanized": ["Shahid"] }, { "id": "N-PK-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Saqib" - ], - "romanized": [ - "Saqib" - ] + "localized": ["Saqib"], + "romanized": ["Saqib"] }, { "id": "N-PK-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Nomaan" - ], - "romanized": [ - "Nomaan" - ] + "localized": ["Nomaan"], + "romanized": ["Nomaan"] } ] } @@ -20020,221 +13032,141 @@ "id": "N-PL-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Zofia" - ], - "romanized": [ - "Zofia" - ] + "localized": ["Zofia"], + "romanized": ["Zofia"] }, { "id": "N-PL-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Zuzanna" - ], - "romanized": [ - "Zuzanna" - ] + "localized": ["Zuzanna"], + "romanized": ["Zuzanna"] }, { "id": "N-PL-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Hanna" - ], - "romanized": [ - "Hanna" - ] + "localized": ["Hanna"], + "romanized": ["Hanna"] }, { "id": "N-PL-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Maja" - ], - "romanized": [ - "Maja" - ] + "localized": ["Maja"], + "romanized": ["Maja"] }, { "id": "N-PL-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Laura" - ], - "romanized": [ - "Laura" - ] + "localized": ["Laura"], + "romanized": ["Laura"] }, { "id": "N-PL-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Julia" - ], - "romanized": [ - "Julia" - ] + "localized": ["Julia"], + "romanized": ["Julia"] }, { "id": "N-PL-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Oliwia" - ], - "romanized": [ - "Oliwia" - ] + "localized": ["Oliwia"], + "romanized": ["Oliwia"] }, { "id": "N-PL-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Alicja" - ], - "romanized": [ - "Alicja" - ] + "localized": ["Alicja"], + "romanized": ["Alicja"] }, { "id": "N-PL-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Lena" - ], - "romanized": [ - "Lena" - ] + "localized": ["Lena"], + "romanized": ["Lena"] }, { "id": "N-PL-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Pola" - ], - "romanized": [ - "Pola" - ] + "localized": ["Pola"], + "romanized": ["Pola"] }, { "id": "N-PL-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Antoni" - ], - "romanized": [ - "Antoni" - ] + "localized": ["Antoni"], + "romanized": ["Antoni"] }, { "id": "N-PL-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Jan" - ], - "romanized": [ - "Jan" - ] + "localized": ["Jan"], + "romanized": ["Jan"] }, { "id": "N-PL-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Aleksander" - ], - "romanized": [ - "Aleksander" - ] + "localized": ["Aleksander"], + "romanized": ["Aleksander"] }, { "id": "N-PL-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Franciszek" - ], - "romanized": [ - "Franciszek" - ] + "localized": ["Franciszek"], + "romanized": ["Franciszek"] }, { "id": "N-PL-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Nikodem" - ], - "romanized": [ - "Nikodem" - ] + "localized": ["Nikodem"], + "romanized": ["Nikodem"] }, { "id": "N-PL-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Jakub" - ], - "romanized": [ - "Jakub" - ] + "localized": ["Jakub"], + "romanized": ["Jakub"] }, { "id": "N-PL-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Leon" - ], - "romanized": [ - "Leon" - ] + "localized": ["Leon"], + "romanized": ["Leon"] }, { "id": "N-PL-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Stanisław" - ], - "romanized": [ - "Stanisław" - ] + "localized": ["Stanisław"], + "romanized": ["Stanisław"] }, { "id": "N-PL-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Mikołaj" - ], - "romanized": [ - "Mikołaj" - ] + "localized": ["Mikołaj"], + "romanized": ["Mikołaj"] }, { "id": "N-PL-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Szymon" - ], - "romanized": [ - "Szymon" - ] + "localized": ["Szymon"], + "romanized": ["Szymon"] } ] } @@ -20249,221 +13181,141 @@ "id": "N-PR-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Valentina" - ], - "romanized": [ - "Valentina" - ] + "localized": ["Valentina"], + "romanized": ["Valentina"] }, { "id": "N-PR-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-PR-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Victoria" - ], - "romanized": [ - "Victoria" - ] + "localized": ["Victoria"], + "romanized": ["Victoria"] }, { "id": "N-PR-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Luna" - ], - "romanized": [ - "Luna" - ] + "localized": ["Luna"], + "romanized": ["Luna"] }, { "id": "N-PR-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Aurora" - ], - "romanized": [ - "Aurora" - ] + "localized": ["Aurora"], + "romanized": ["Aurora"] }, { "id": "N-PR-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Amaia" - ], - "romanized": [ - "Amaia" - ] + "localized": ["Amaia"], + "romanized": ["Amaia"] }, { "id": "N-PR-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Catalina" - ], - "romanized": [ - "Catalina" - ] + "localized": ["Catalina"], + "romanized": ["Catalina"] }, { "id": "N-PR-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Mía" - ], - "romanized": [ - "Mía" - ] + "localized": ["Mía"], + "romanized": ["Mía"] }, { "id": "N-PR-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Milena" - ], - "romanized": [ - "Milena" - ] + "localized": ["Milena"], + "romanized": ["Milena"] }, { "id": "N-PR-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Gianna" - ], - "romanized": [ - "Gianna" - ] + "localized": ["Gianna"], + "romanized": ["Gianna"] }, { "id": "N-PR-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-PR-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Thiago" - ], - "romanized": [ - "Thiago" - ] + "localized": ["Thiago"], + "romanized": ["Thiago"] }, { "id": "N-PR-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-PR-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Mateo" - ], - "romanized": [ - "Mateo" - ] + "localized": ["Mateo"], + "romanized": ["Mateo"] }, { "id": "N-PR-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Sebastián" - ], - "romanized": [ - "Sebastián" - ] + "localized": ["Sebastián"], + "romanized": ["Sebastián"] }, { "id": "N-PR-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-PR-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Dylan" - ], - "romanized": [ - "Dylan" - ] + "localized": ["Dylan"], + "romanized": ["Dylan"] }, { "id": "N-PR-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Ian" - ], - "romanized": [ - "Ian" - ] + "localized": ["Ian"], + "romanized": ["Ian"] }, { "id": "N-PR-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Nicolás" - ], - "romanized": [ - "Nicolás" - ] + "localized": ["Nicolás"], + "romanized": ["Nicolás"] }, { "id": "N-PR-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Ethan" - ], - "romanized": [ - "Ethan" - ] + "localized": ["Ethan"], + "romanized": ["Ethan"] } ] } @@ -20478,221 +13330,141 @@ "id": "N-PT-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Maria" - ], - "romanized": [ - "Maria" - ] + "localized": ["Maria"], + "romanized": ["Maria"] }, { "id": "N-PT-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Alice" - ], - "romanized": [ - "Alice" - ] + "localized": ["Alice"], + "romanized": ["Alice"] }, { "id": "N-PT-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Leonor" - ], - "romanized": [ - "Leonor" - ] + "localized": ["Leonor"], + "romanized": ["Leonor"] }, { "id": "N-PT-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Matilde" - ], - "romanized": [ - "Matilde" - ] + "localized": ["Matilde"], + "romanized": ["Matilde"] }, { "id": "N-PT-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Benedita" - ], - "romanized": [ - "Benedita" - ] + "localized": ["Benedita"], + "romanized": ["Benedita"] }, { "id": "N-PT-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Carolina" - ], - "romanized": [ - "Carolina" - ] + "localized": ["Carolina"], + "romanized": ["Carolina"] }, { "id": "N-PT-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Beatriz" - ], - "romanized": [ - "Beatriz" - ] + "localized": ["Beatriz"], + "romanized": ["Beatriz"] }, { "id": "N-PT-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Margarida" - ], - "romanized": [ - "Margarida" - ] + "localized": ["Margarida"], + "romanized": ["Margarida"] }, { "id": "N-PT-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Francisca" - ], - "romanized": [ - "Francisca" - ] + "localized": ["Francisca"], + "romanized": ["Francisca"] }, { "id": "N-PT-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Camila" - ], - "romanized": [ - "Camila" - ] + "localized": ["Camila"], + "romanized": ["Camila"] }, { "id": "N-PT-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Francisco" - ], - "romanized": [ - "Francisco" - ] + "localized": ["Francisco"], + "romanized": ["Francisco"] }, { "id": "N-PT-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Afonso" - ], - "romanized": [ - "Afonso" - ] + "localized": ["Afonso"], + "romanized": ["Afonso"] }, { "id": "N-PT-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "João" - ], - "romanized": [ - "João" - ] + "localized": ["João"], + "romanized": ["João"] }, { "id": "N-PT-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Tomás" - ], - "romanized": [ - "Tomás" - ] + "localized": ["Tomás"], + "romanized": ["Tomás"] }, { "id": "N-PT-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Duarte" - ], - "romanized": [ - "Duarte" - ] + "localized": ["Duarte"], + "romanized": ["Duarte"] }, { "id": "N-PT-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Lourenço" - ], - "romanized": [ - "Lourenço" - ] + "localized": ["Lourenço"], + "romanized": ["Lourenço"] }, { "id": "N-PT-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Santiago" - ], - "romanized": [ - "Santiago" - ] + "localized": ["Santiago"], + "romanized": ["Santiago"] }, { "id": "N-PT-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Martim" - ], - "romanized": [ - "Martim" - ] + "localized": ["Martim"], + "romanized": ["Martim"] }, { "id": "N-PT-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Miguel" - ], - "romanized": [ - "Miguel" - ] + "localized": ["Miguel"], + "romanized": ["Miguel"] }, { "id": "N-PT-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Gabriel" - ], - "romanized": [ - "Gabriel" - ] + "localized": ["Gabriel"], + "romanized": ["Gabriel"] } ] } @@ -20707,221 +13479,141 @@ "id": "N-PY-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "María" - ], - "romanized": [ - "María" - ] + "localized": ["María"], + "romanized": ["María"] }, { "id": "N-PY-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Elizabeth" - ], - "romanized": [ - "Elizabeth" - ] + "localized": ["Elizabeth"], + "romanized": ["Elizabeth"] }, { "id": "N-PY-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Beatriz" - ], - "romanized": [ - "Beatriz" - ] + "localized": ["Beatriz"], + "romanized": ["Beatriz"] }, { "id": "N-PY-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Ramona" - ], - "romanized": [ - "Ramona" - ] + "localized": ["Ramona"], + "romanized": ["Ramona"] }, { "id": "N-PY-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Liz" - ], - "romanized": [ - "Liz" - ] + "localized": ["Liz"], + "romanized": ["Liz"] }, { "id": "N-PY-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Concepción" - ], - "romanized": [ - "Concepción" - ] + "localized": ["Concepción"], + "romanized": ["Concepción"] }, { "id": "N-PY-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Carolina" - ], - "romanized": [ - "Carolina" - ] + "localized": ["Carolina"], + "romanized": ["Carolina"] }, { "id": "N-PY-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Mabel" - ], - "romanized": [ - "Mabel" - ] + "localized": ["Mabel"], + "romanized": ["Mabel"] }, { "id": "N-PY-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Raquel" - ], - "romanized": [ - "Raquel" - ] + "localized": ["Raquel"], + "romanized": ["Raquel"] }, { "id": "N-PY-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Noemí" - ], - "romanized": [ - "Noemí" - ] + "localized": ["Noemí"], + "romanized": ["Noemí"] }, { "id": "N-PY-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Ramón" - ], - "romanized": [ - "Ramón" - ] + "localized": ["Ramón"], + "romanized": ["Ramón"] }, { "id": "N-PY-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Juan" - ], - "romanized": [ - "Juan" - ] + "localized": ["Juan"], + "romanized": ["Juan"] }, { "id": "N-PY-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "José" - ], - "romanized": [ - "José" - ] + "localized": ["José"], + "romanized": ["José"] }, { "id": "N-PY-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Antonio" - ], - "romanized": [ - "Antonio" - ] + "localized": ["Antonio"], + "romanized": ["Antonio"] }, { "id": "N-PY-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Carlos" - ], - "romanized": [ - "Carlos" - ] + "localized": ["Carlos"], + "romanized": ["Carlos"] }, { "id": "N-PY-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Daniel" - ], - "romanized": [ - "Daniel" - ] + "localized": ["Daniel"], + "romanized": ["Daniel"] }, { "id": "N-PY-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Luis" - ], - "romanized": [ - "Luis" - ] + "localized": ["Luis"], + "romanized": ["Luis"] }, { "id": "N-PY-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Javier" - ], - "romanized": [ - "Javier" - ] + "localized": ["Javier"], + "romanized": ["Javier"] }, { "id": "N-PY-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "David" - ], - "romanized": [ - "David" - ] + "localized": ["David"], + "romanized": ["David"] }, { "id": "N-PY-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "César" - ], - "romanized": [ - "César" - ] + "localized": ["César"], + "romanized": ["César"] } ] } @@ -20936,221 +13628,141 @@ "id": "N-RO-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-RO-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-RO-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Anastasia" - ], - "romanized": [ - "Anastasia" - ] + "localized": ["Anastasia"], + "romanized": ["Anastasia"] }, { "id": "N-RO-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Maria" - ], - "romanized": [ - "Maria" - ] + "localized": ["Maria"], + "romanized": ["Maria"] }, { "id": "N-RO-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Victoria" - ], - "romanized": [ - "Victoria" - ] + "localized": ["Victoria"], + "romanized": ["Victoria"] }, { "id": "N-RO-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Daria" - ], - "romanized": [ - "Daria" - ] + "localized": ["Daria"], + "romanized": ["Daria"] }, { "id": "N-RO-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Eva" - ], - "romanized": [ - "Eva" - ] + "localized": ["Eva"], + "romanized": ["Eva"] }, { "id": "N-RO-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Alexandra" - ], - "romanized": [ - "Alexandra" - ] + "localized": ["Alexandra"], + "romanized": ["Alexandra"] }, { "id": "N-RO-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Evelina" - ], - "romanized": [ - "Evelina" - ] + "localized": ["Evelina"], + "romanized": ["Evelina"] }, { "id": "N-RO-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Andreea" - ], - "romanized": [ - "Andreea" - ] + "localized": ["Andreea"], + "romanized": ["Andreea"] }, { "id": "N-RO-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "David" - ], - "romanized": [ - "David" - ] + "localized": ["David"], + "romanized": ["David"] }, { "id": "N-RO-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Matei" - ], - "romanized": [ - "Matei" - ] + "localized": ["Matei"], + "romanized": ["Matei"] }, { "id": "N-RO-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Bogdan" - ], - "romanized": [ - "Bogdan" - ] + "localized": ["Bogdan"], + "romanized": ["Bogdan"] }, { "id": "N-RO-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Maxim" - ], - "romanized": [ - "Maxim" - ] + "localized": ["Maxim"], + "romanized": ["Maxim"] }, { "id": "N-RO-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Alexandru" - ], - "romanized": [ - "Alexandru" - ] + "localized": ["Alexandru"], + "romanized": ["Alexandru"] }, { "id": "N-RO-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Damian" - ], - "romanized": [ - "Damian" - ] + "localized": ["Damian"], + "romanized": ["Damian"] }, { "id": "N-RO-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Daniel" - ], - "romanized": [ - "Daniel" - ] + "localized": ["Daniel"], + "romanized": ["Daniel"] }, { "id": "N-RO-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Artiom" - ], - "romanized": [ - "Artiom" - ] + "localized": ["Artiom"], + "romanized": ["Artiom"] }, { "id": "N-RO-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Ion" - ], - "romanized": [ - "Ion" - ] + "localized": ["Ion"], + "romanized": ["Ion"] }, { "id": "N-RO-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Gabriel" - ], - "romanized": [ - "Gabriel" - ] + "localized": ["Gabriel"], + "romanized": ["Gabriel"] } ] } @@ -21165,221 +13777,141 @@ "id": "O-RS-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Милица" - ], - "romanized": [ - "Milica" - ] + "localized": ["Милица"], + "romanized": ["Milica"] }, { "id": "O-RS-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Јелена" - ], - "romanized": [ - "Jelena" - ] + "localized": ["Јелена"], + "romanized": ["Jelena"] }, { "id": "O-RS-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Марија" - ], - "romanized": [ - "Marija" - ] + "localized": ["Марија"], + "romanized": ["Marija"] }, { "id": "O-RS-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Мирјана" - ], - "romanized": [ - "Mirjana" - ] + "localized": ["Мирјана"], + "romanized": ["Mirjana"] }, { "id": "O-RS-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Драгана" - ], - "romanized": [ - "Dragana" - ] + "localized": ["Драгана"], + "romanized": ["Dragana"] }, { "id": "O-RS-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Снежана" - ], - "romanized": [ - "Snežana" - ] + "localized": ["Снежана"], + "romanized": ["Snežana"] }, { "id": "O-RS-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Љиљана" - ], - "romanized": [ - "Ljiljana" - ] + "localized": ["Љиљана"], + "romanized": ["Ljiljana"] }, { "id": "O-RS-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Ивана" - ], - "romanized": [ - "Ivana" - ] + "localized": ["Ивана"], + "romanized": ["Ivana"] }, { "id": "O-RS-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Ана" - ], - "romanized": [ - "Ana" - ] + "localized": ["Ана"], + "romanized": ["Ana"] }, { "id": "O-RS-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Гордана" - ], - "romanized": [ - "Gordana" - ] + "localized": ["Гордана"], + "romanized": ["Gordana"] }, { "id": "O-RS-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Драган" - ], - "romanized": [ - "Dragan" - ] + "localized": ["Драган"], + "romanized": ["Dragan"] }, { "id": "O-RS-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Милан" - ], - "romanized": [ - "Milan" - ] + "localized": ["Милан"], + "romanized": ["Milan"] }, { "id": "O-RS-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Александар" - ], - "romanized": [ - "Aleksandar" - ] + "localized": ["Александар"], + "romanized": ["Aleksandar"] }, { "id": "O-RS-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Зоран" - ], - "romanized": [ - "Zoran" - ] + "localized": ["Зоран"], + "romanized": ["Zoran"] }, { "id": "O-RS-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Никола" - ], - "romanized": [ - "Nikola" - ] + "localized": ["Никола"], + "romanized": ["Nikola"] }, { "id": "O-RS-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Милош" - ], - "romanized": [ - "Miloš" - ] + "localized": ["Милош"], + "romanized": ["Miloš"] }, { "id": "O-RS-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Марко" - ], - "romanized": [ - "Marko" - ] + "localized": ["Марко"], + "romanized": ["Marko"] }, { "id": "O-RS-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Горан" - ], - "romanized": [ - "Goran" - ] + "localized": ["Горан"], + "romanized": ["Goran"] }, { "id": "O-RS-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Душан" - ], - "romanized": [ - "Dušan" - ] + "localized": ["Душан"], + "romanized": ["Dušan"] }, { "id": "O-RS-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Дејан" - ], - "romanized": [ - "Dejan" - ] + "localized": ["Дејан"], + "romanized": ["Dejan"] } ] } @@ -21394,221 +13926,141 @@ "id": "O-RU-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Анастасия" - ], - "romanized": [ - "Anastasia" - ] + "localized": ["Анастасия"], + "romanized": ["Anastasia"] }, { "id": "O-RU-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Елена" - ], - "romanized": [ - "Yelena" - ] + "localized": ["Елена"], + "romanized": ["Yelena"] }, { "id": "O-RU-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Ольга" - ], - "romanized": [ - "Olga" - ] + "localized": ["Ольга"], + "romanized": ["Olga"] }, { "id": "O-RU-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Наталья" - ], - "romanized": [ - "Natalia" - ] + "localized": ["Наталья"], + "romanized": ["Natalia"] }, { "id": "O-RU-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Екатерина" - ], - "romanized": [ - "Yekaterina" - ] + "localized": ["Екатерина"], + "romanized": ["Yekaterina"] }, { "id": "O-RU-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Анна" - ], - "romanized": [ - "Anna" - ] + "localized": ["Анна"], + "romanized": ["Anna"] }, { "id": "O-RU-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Татьяна" - ], - "romanized": [ - "Tatiana" - ] + "localized": ["Татьяна"], + "romanized": ["Tatiana"] }, { "id": "O-RU-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Мария" - ], - "romanized": [ - "Maria" - ] + "localized": ["Мария"], + "romanized": ["Maria"] }, { "id": "O-RU-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Ирина" - ], - "romanized": [ - "Irina" - ] + "localized": ["Ирина"], + "romanized": ["Irina"] }, { "id": "O-RU-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Юлия" - ], - "romanized": [ - "Yulia" - ] + "localized": ["Юлия"], + "romanized": ["Yulia"] }, { "id": "O-RU-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Александр" - ], - "romanized": [ - "Alexander" - ] + "localized": ["Александр"], + "romanized": ["Alexander"] }, { "id": "O-RU-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Сергей" - ], - "romanized": [ - "Sergei" - ] + "localized": ["Сергей"], + "romanized": ["Sergei"] }, { "id": "O-RU-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Дмитрий" - ], - "romanized": [ - "Dmitry" - ] + "localized": ["Дмитрий"], + "romanized": ["Dmitry"] }, { "id": "O-RU-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Андрей" - ], - "romanized": [ - "Andrei" - ] + "localized": ["Андрей"], + "romanized": ["Andrei"] }, { "id": "O-RU-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Алексей" - ], - "romanized": [ - "Alexey" - ] + "localized": ["Алексей"], + "romanized": ["Alexey"] }, { "id": "O-RU-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Максим" - ], - "romanized": [ - "Maxim" - ] + "localized": ["Максим"], + "romanized": ["Maxim"] }, { "id": "O-RU-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Евгений" - ], - "romanized": [ - "Evgeny" - ] + "localized": ["Евгений"], + "romanized": ["Evgeny"] }, { "id": "O-RU-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Иван" - ], - "romanized": [ - "Ivan" - ] + "localized": ["Иван"], + "romanized": ["Ivan"] }, { "id": "O-RU-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Михаил" - ], - "romanized": [ - "Mikhail" - ] + "localized": ["Михаил"], + "romanized": ["Mikhail"] }, { "id": "O-RU-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Артём" - ], - "romanized": [ - "Artyom" - ] + "localized": ["Артём"], + "romanized": ["Artyom"] } ] }, @@ -21621,221 +14073,141 @@ "id": "O-RU-2-F-1", "rank": 1, "gender": "F", - "localized": [ - "София" - ], - "romanized": [ - "Sofiya" - ] + "localized": ["София"], + "romanized": ["Sofiya"] }, { "id": "O-RU-2-F-2", "rank": 2, "gender": "F", - "localized": [ - "Мария" - ], - "romanized": [ - "Mariya" - ] + "localized": ["Мария"], + "romanized": ["Mariya"] }, { "id": "O-RU-2-F-3", "rank": 3, "gender": "F", - "localized": [ - "Анна" - ], - "romanized": [ - "Anna" - ] + "localized": ["Анна"], + "romanized": ["Anna"] }, { "id": "O-RU-2-F-4", "rank": 4, "gender": "F", - "localized": [ - "Алиса" - ], - "romanized": [ - "Alisa" - ] + "localized": ["Алиса"], + "romanized": ["Alisa"] }, { "id": "O-RU-2-F-5", "rank": 5, "gender": "F", - "localized": [ - "Ева" - ], - "romanized": [ - "Eva" - ] + "localized": ["Ева"], + "romanized": ["Eva"] }, { "id": "O-RU-2-F-6", "rank": 6, "gender": "F", - "localized": [ - "Виктория" - ], - "romanized": [ - "Viktoriya" - ] + "localized": ["Виктория"], + "romanized": ["Viktoriya"] }, { "id": "O-RU-2-F-7", "rank": 7, "gender": "F", - "localized": [ - "Полина" - ], - "romanized": [ - "Polina" - ] + "localized": ["Полина"], + "romanized": ["Polina"] }, { "id": "O-RU-2-F-8", "rank": 8, "gender": "F", - "localized": [ - "Александра" - ], - "romanized": [ - "Alexandra" - ] + "localized": ["Александра"], + "romanized": ["Alexandra"] }, { "id": "O-RU-2-F-9", "rank": 9, "gender": "F", - "localized": [ - "Елизавета" - ], - "romanized": [ - "Elizaveta" - ] + "localized": ["Елизавета"], + "romanized": ["Elizaveta"] }, { "id": "O-RU-2-F-10", "rank": 10, "gender": "F", - "localized": [ - "Варвара" - ], - "romanized": [ - "Varvara" - ] + "localized": ["Варвара"], + "romanized": ["Varvara"] }, { "id": "O-RU-2-M-1", "rank": 1, "gender": "M", - "localized": [ - "Александр" - ], - "romanized": [ - "Alexander" - ] + "localized": ["Александр"], + "romanized": ["Alexander"] }, { "id": "O-RU-2-M-2", "rank": 2, "gender": "M", - "localized": [ - "Михаил" - ], - "romanized": [ - "Mikhail" - ] + "localized": ["Михаил"], + "romanized": ["Mikhail"] }, { "id": "O-RU-2-M-3", "rank": 3, "gender": "M", - "localized": [ - "Максим" - ], - "romanized": [ - "Maxim" - ] + "localized": ["Максим"], + "romanized": ["Maxim"] }, { "id": "O-RU-2-M-4", "rank": 4, "gender": "M", - "localized": [ - "Лев" - ], - "romanized": [ - "Lev" - ] + "localized": ["Лев"], + "romanized": ["Lev"] }, { "id": "O-RU-2-M-5", "rank": 5, "gender": "M", - "localized": [ - "Артём" - ], - "romanized": [ - "Artyom" - ] + "localized": ["Артём"], + "romanized": ["Artyom"] }, { "id": "O-RU-2-M-6", "rank": 6, "gender": "M", - "localized": [ - "Марк" - ], - "romanized": [ - "Mark" - ] + "localized": ["Марк"], + "romanized": ["Mark"] }, { "id": "O-RU-2-M-7", "rank": 7, "gender": "M", - "localized": [ - "Иван" - ], - "romanized": [ - "Ivan" - ] + "localized": ["Иван"], + "romanized": ["Ivan"] }, { "id": "O-RU-2-M-8", "rank": 8, "gender": "M", - "localized": [ - "Дмитрий" - ], - "romanized": [ - "Dmitry" - ] + "localized": ["Дмитрий"], + "romanized": ["Dmitry"] }, { "id": "O-RU-2-M-9", "rank": 9, "gender": "M", - "localized": [ - "Матвей" - ], - "romanized": [ - "Matvey" - ] + "localized": ["Матвей"], + "romanized": ["Matvey"] }, { "id": "O-RU-2-M-10", "rank": 10, "gender": "M", - "localized": [ - "Даниил" - ], - "romanized": [ - "Daniil" - ] + "localized": ["Даниил"], + "romanized": ["Daniil"] } ] } @@ -21850,199 +14222,127 @@ "id": "N-SA-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sara" - ], - "romanized": [ - "Sara" - ] + "localized": ["Sara"], + "romanized": ["Sara"] }, { "id": "N-SA-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Latifa" - ], - "romanized": [ - "Latifa" - ] + "localized": ["Latifa"], + "romanized": ["Latifa"] }, { "id": "N-SA-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Nora" - ], - "romanized": [ - "Nora" - ] + "localized": ["Nora"], + "romanized": ["Nora"] }, { "id": "N-SA-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Hessa" - ], - "romanized": [ - "Hessa" - ] + "localized": ["Hessa"], + "romanized": ["Hessa"] }, { "id": "N-SA-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Maysoun" - ], - "romanized": [ - "Maysoun" - ] + "localized": ["Maysoun"], + "romanized": ["Maysoun"] }, { "id": "N-SA-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Maha" - ], - "romanized": [ - "Maha" - ] + "localized": ["Maha"], + "romanized": ["Maha"] }, { "id": "N-SA-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Nouf" - ], - "romanized": [ - "Nouf" - ] + "localized": ["Nouf"], + "romanized": ["Nouf"] }, { "id": "N-SA-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Noor" - ], - "romanized": [ - "Noor" - ] + "localized": ["Noor"], + "romanized": ["Noor"] }, { "id": "N-SA-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Reema" - ], - "romanized": [ - "Reema" - ] + "localized": ["Reema"], + "romanized": ["Reema"] }, { "id": "N-SA-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Alanoud" - ], - "romanized": [ - "Alanoud" - ] + "localized": ["Alanoud"], + "romanized": ["Alanoud"] }, { "id": "N-SA-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mohammad" - ], - "romanized": [ - "Mohammad" - ] + "localized": ["Mohammad"], + "romanized": ["Mohammad"] }, { "id": "N-SA-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Fahd" - ], - "romanized": [ - "Fahd" - ] + "localized": ["Fahd"], + "romanized": ["Fahd"] }, { "id": "N-SA-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Abdullah" - ], - "romanized": [ - "Abdullah" - ] + "localized": ["Abdullah"], + "romanized": ["Abdullah"] }, { "id": "N-SA-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Abdulrahman" - ], - "romanized": [ - "Abdulrahman" - ] + "localized": ["Abdulrahman"], + "romanized": ["Abdulrahman"] }, { "id": "N-SA-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Turki" - ], - "romanized": [ - "Turki" - ] + "localized": ["Turki"], + "romanized": ["Turki"] }, { "id": "N-SA-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Bandar" - ], - "romanized": [ - "Bandar" - ] + "localized": ["Bandar"], + "romanized": ["Bandar"] }, { "id": "N-SA-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Omar" - ], - "romanized": [ - "Omar" - ] + "localized": ["Omar"], + "romanized": ["Omar"] }, { "id": "N-SA-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] } ] } @@ -22057,265 +14357,169 @@ "id": "N-SI-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Ema" - ], - "romanized": [ - "Ema" - ] + "localized": ["Ema"], + "romanized": ["Ema"] }, { "id": "N-SI-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Zala" - ], - "romanized": [ - "Zala" - ] + "localized": ["Zala"], + "romanized": ["Zala"] }, { "id": "N-SI-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-SI-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Julija" - ], - "romanized": [ - "Julija" - ] + "localized": ["Julija"], + "romanized": ["Julija"] }, { "id": "N-SI-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Hana" - ], - "romanized": [ - "Hana" - ] + "localized": ["Hana"], + "romanized": ["Hana"] }, { "id": "N-SI-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Sofija" - ], - "romanized": [ - "Sofija" - ] + "localized": ["Sofija"], + "romanized": ["Sofija"] }, { "id": "N-SI-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Ajda" - ], - "romanized": [ - "Ajda" - ] + "localized": ["Ajda"], + "romanized": ["Ajda"] }, { "id": "N-SI-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Vita" - ], - "romanized": [ - "Vita" - ] + "localized": ["Vita"], + "romanized": ["Vita"] }, { "id": "N-SI-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Lana" - ], - "romanized": [ - "Lana" - ] + "localized": ["Lana"], + "romanized": ["Lana"] }, { "id": "N-SI-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Neža" - ], - "romanized": [ - "Neža" - ] + "localized": ["Neža"], + "romanized": ["Neža"] }, { "id": "N-SI-1-F-11", "rank": 11, "gender": "F", - "localized": [ - "Nika" - ], - "romanized": [ - "Nika" - ] + "localized": ["Nika"], + "romanized": ["Nika"] }, { "id": "N-SI-1-F-12", "rank": 12, "gender": "F", - "localized": [ - "Mila" - ], - "romanized": [ - "Mila" - ] + "localized": ["Mila"], + "romanized": ["Mila"] }, { "id": "N-SI-1-F-13", "rank": 13, "gender": "F", - "localized": [ - "Sara" - ], - "romanized": [ - "Sara" - ] + "localized": ["Sara"], + "romanized": ["Sara"] }, { "id": "N-SI-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Filip" - ], - "romanized": [ - "Filip" - ] + "localized": ["Filip"], + "romanized": ["Filip"] }, { "id": "N-SI-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Luka" - ], - "romanized": [ - "Luka" - ] + "localized": ["Luka"], + "romanized": ["Luka"] }, { "id": "N-SI-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Nik" - ], - "romanized": [ - "Nik" - ] + "localized": ["Nik"], + "romanized": ["Nik"] }, { "id": "N-SI-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Mark" - ], - "romanized": [ - "Mark" - ] + "localized": ["Mark"], + "romanized": ["Mark"] }, { "id": "N-SI-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Jakob" - ], - "romanized": [ - "Jakob" - ] + "localized": ["Jakob"], + "romanized": ["Jakob"] }, { "id": "N-SI-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-SI-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Lan" - ], - "romanized": [ - "Lan" - ] + "localized": ["Lan"], + "romanized": ["Lan"] }, { "id": "N-SI-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Oskar" - ], - "romanized": [ - "Oskar" - ] + "localized": ["Oskar"], + "romanized": ["Oskar"] }, { "id": "N-SI-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Tim" - ], - "romanized": [ - "Tim" - ] + "localized": ["Tim"], + "romanized": ["Tim"] }, { "id": "N-SI-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Lovro" - ], - "romanized": [ - "Lovro" - ] + "localized": ["Lovro"], + "romanized": ["Lovro"] }, { "id": "N-SI-1-M-11", "rank": 11, "gender": "M", - "localized": [ - "Žan" - ], - "romanized": [ - "Žan" - ] + "localized": ["Žan"], + "romanized": ["Žan"] } ] } @@ -22330,221 +14534,141 @@ "id": "N-SK-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-SK-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Eliška" - ], - "romanized": [ - "Eliška" - ] + "localized": ["Eliška"], + "romanized": ["Eliška"] }, { "id": "N-SK-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Nina" - ], - "romanized": [ - "Nina" - ] + "localized": ["Nina"], + "romanized": ["Nina"] }, { "id": "N-SK-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Ema" - ], - "romanized": [ - "Ema" - ] + "localized": ["Ema"], + "romanized": ["Ema"] }, { "id": "N-SK-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Viktória" - ], - "romanized": [ - "Viktória" - ] + "localized": ["Viktória"], + "romanized": ["Viktória"] }, { "id": "N-SK-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Natália" - ], - "romanized": [ - "Natália" - ] + "localized": ["Natália"], + "romanized": ["Natália"] }, { "id": "N-SK-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Nela" - ], - "romanized": [ - "Nela" - ] + "localized": ["Nela"], + "romanized": ["Nela"] }, { "id": "N-SK-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Sára" - ], - "romanized": [ - "Sára" - ] + "localized": ["Sára"], + "romanized": ["Sára"] }, { "id": "N-SK-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-SK-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-SK-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Jakub" - ], - "romanized": [ - "Jakub" - ] + "localized": ["Jakub"], + "romanized": ["Jakub"] }, { "id": "N-SK-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Samuel" - ], - "romanized": [ - "Samuel" - ] + "localized": ["Samuel"], + "romanized": ["Samuel"] }, { "id": "N-SK-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Adam" - ], - "romanized": [ - "Adam" - ] + "localized": ["Adam"], + "romanized": ["Adam"] }, { "id": "N-SK-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Michal" - ], - "romanized": [ - "Michal" - ] + "localized": ["Michal"], + "romanized": ["Michal"] }, { "id": "N-SK-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] }, { "id": "N-SK-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Filip" - ], - "romanized": [ - "Filip" - ] + "localized": ["Filip"], + "romanized": ["Filip"] }, { "id": "N-SK-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Tomáš" - ], - "romanized": [ - "Tomáš" - ] + "localized": ["Tomáš"], + "romanized": ["Tomáš"] }, { "id": "N-SK-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Martin" - ], - "romanized": [ - "Martin" - ] + "localized": ["Martin"], + "romanized": ["Martin"] }, { "id": "N-SK-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Matej" - ], - "romanized": [ - "Matej" - ] + "localized": ["Matej"], + "romanized": ["Matej"] }, { "id": "N-SK-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Richard" - ], - "romanized": [ - "Richard" - ] + "localized": ["Richard"], + "romanized": ["Richard"] } ] } @@ -22559,56 +14683,36 @@ "id": "N-SM-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Aurora" - ], - "romanized": [ - "Aurora" - ] + "localized": ["Aurora"], + "romanized": ["Aurora"] }, { "id": "N-SM-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Sofia" - ], - "romanized": [ - "Sofia" - ] + "localized": ["Sofia"], + "romanized": ["Sofia"] }, { "id": "N-SM-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Tommaso" - ], - "romanized": [ - "Tommaso" - ] + "localized": ["Tommaso"], + "romanized": ["Tommaso"] }, { "id": "N-SM-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Edoardo" - ], - "romanized": [ - "Edoardo" - ] + "localized": ["Edoardo"], + "romanized": ["Edoardo"] }, { "id": "N-SM-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Leonardo" - ], - "romanized": [ - "Leonardo" - ] + "localized": ["Leonardo"], + "romanized": ["Leonardo"] } ] } @@ -22623,221 +14727,141 @@ "id": "N-SV-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Astrid" - ], - "romanized": [ - "Astrid" - ] + "localized": ["Astrid"], + "romanized": ["Astrid"] }, { "id": "N-SV-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Maja" - ], - "romanized": [ - "Maja" - ] + "localized": ["Maja"], + "romanized": ["Maja"] }, { "id": "N-SV-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Alma" - ], - "romanized": [ - "Alma" - ] + "localized": ["Alma"], + "romanized": ["Alma"] }, { "id": "N-SV-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Vera" - ], - "romanized": [ - "Vera" - ] + "localized": ["Vera"], + "romanized": ["Vera"] }, { "id": "N-SV-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Freja" - ], - "romanized": [ - "Freja" - ] + "localized": ["Freja"], + "romanized": ["Freja"] }, { "id": "N-SV-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Leah" - ], - "romanized": [ - "Leah" - ] + "localized": ["Leah"], + "romanized": ["Leah"] }, { "id": "N-SV-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Ella" - ], - "romanized": [ - "Ella" - ] + "localized": ["Ella"], + "romanized": ["Ella"] }, { "id": "N-SV-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Alice" - ], - "romanized": [ - "Alice" - ] + "localized": ["Alice"], + "romanized": ["Alice"] }, { "id": "N-SV-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Selma" - ], - "romanized": [ - "Selma" - ] + "localized": ["Selma"], + "romanized": ["Selma"] }, { "id": "N-SV-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Lilly" - ], - "romanized": [ - "Lilly" - ] + "localized": ["Lilly"], + "romanized": ["Lilly"] }, { "id": "N-SV-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "William" - ], - "romanized": [ - "William" - ] + "localized": ["William"], + "romanized": ["William"] }, { "id": "N-SV-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-SV-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-SV-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Hugo" - ], - "romanized": [ - "Hugo" - ] + "localized": ["Hugo"], + "romanized": ["Hugo"] }, { "id": "N-SV-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] }, { "id": "N-SV-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-SV-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Nils" - ], - "romanized": [ - "Nils" - ] + "localized": ["Nils"], + "romanized": ["Nils"] }, { "id": "N-SV-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Matteo" - ], - "romanized": [ - "Matteo" - ] + "localized": ["Matteo"], + "romanized": ["Matteo"] }, { "id": "N-SV-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Valter" - ], - "romanized": [ - "Valter" - ] + "localized": ["Valter"], + "romanized": ["Valter"] }, { "id": "N-SV-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "August" - ], - "romanized": [ - "August" - ] + "localized": ["August"], + "romanized": ["August"] } ] } @@ -22852,56 +14876,36 @@ "id": "N-TH-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Somchai" - ], - "romanized": [ - "Somchai" - ] + "localized": ["Somchai"], + "romanized": ["Somchai"] }, { "id": "N-TH-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Somsak" - ], - "romanized": [ - "Somsak" - ] + "localized": ["Somsak"], + "romanized": ["Somsak"] }, { "id": "N-TH-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Somporn" - ], - "romanized": [ - "Somporn" - ] + "localized": ["Somporn"], + "romanized": ["Somporn"] }, { "id": "N-TH-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Somboon" - ], - "romanized": [ - "Somboon" - ] + "localized": ["Somboon"], + "romanized": ["Somboon"] }, { "id": "N-TH-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Prasert" - ], - "romanized": [ - "Prasert" - ] + "localized": ["Prasert"], + "romanized": ["Prasert"] } ] } @@ -22916,111 +14920,71 @@ "id": "N-TJ-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Sumayah" - ], - "romanized": [ - "Sumayah" - ] + "localized": ["Sumayah"], + "romanized": ["Sumayah"] }, { "id": "N-TJ-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Asiya" - ], - "romanized": [ - "Asiya" - ] + "localized": ["Asiya"], + "romanized": ["Asiya"] }, { "id": "N-TJ-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Oisha" - ], - "romanized": [ - "Oisha" - ] + "localized": ["Oisha"], + "romanized": ["Oisha"] }, { "id": "N-TJ-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Googoosh" - ], - "romanized": [ - "Googoosh" - ] + "localized": ["Googoosh"], + "romanized": ["Googoosh"] }, { "id": "N-TJ-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Anohito" - ], - "romanized": [ - "Anohito" - ] + "localized": ["Anohito"], + "romanized": ["Anohito"] }, { "id": "N-TJ-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Indira" - ], - "romanized": [ - "Indira" - ] + "localized": ["Indira"], + "romanized": ["Indira"] }, { "id": "N-TJ-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Muhammad" - ], - "romanized": [ - "Muhammad" - ] + "localized": ["Muhammad"], + "romanized": ["Muhammad"] }, { "id": "N-TJ-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Yusuf" - ], - "romanized": [ - "Yusuf" - ] + "localized": ["Yusuf"], + "romanized": ["Yusuf"] }, { "id": "N-TJ-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Abdullo" - ], - "romanized": [ - "Abdullo" - ] + "localized": ["Abdullo"], + "romanized": ["Abdullo"] }, { "id": "N-TJ-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Abubakr" - ], - "romanized": [ - "Abubakr" - ] + "localized": ["Abubakr"], + "romanized": ["Abubakr"] } ] } @@ -23035,78 +14999,50 @@ "id": "N-TN-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Mariam" - ], - "romanized": [ - "Mariam" - ] + "localized": ["Mariam"], + "romanized": ["Mariam"] }, { "id": "N-TN-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Shayma" - ], - "romanized": [ - "Shayma" - ] + "localized": ["Shayma"], + "romanized": ["Shayma"] }, { "id": "N-TN-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Khawla" - ], - "romanized": [ - "Khawla" - ] + "localized": ["Khawla"], + "romanized": ["Khawla"] }, { "id": "N-TN-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mehdi" - ], - "romanized": [ - "Mehdi" - ] + "localized": ["Mehdi"], + "romanized": ["Mehdi"] }, { "id": "N-TN-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Youssef" - ], - "romanized": [ - "Youssef" - ] + "localized": ["Youssef"], + "romanized": ["Youssef"] }, { "id": "N-TN-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Aziz" - ], - "romanized": [ - "Aziz" - ] + "localized": ["Aziz"], + "romanized": ["Aziz"] }, { "id": "N-TN-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Karim" - ], - "romanized": [ - "Karim" - ] + "localized": ["Karim"], + "romanized": ["Karim"] } ] } @@ -23121,441 +15057,281 @@ "id": "N-TR-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Fatma" - ], - "romanized": [ - "Fatma" - ] + "localized": ["Fatma"], + "romanized": ["Fatma"] }, { "id": "N-TR-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Ayşe" - ], - "romanized": [ - "Ayşe" - ] + "localized": ["Ayşe"], + "romanized": ["Ayşe"] }, { "id": "N-TR-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Emine" - ], - "romanized": [ - "Emine" - ] + "localized": ["Emine"], + "romanized": ["Emine"] }, { "id": "N-TR-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Hatice" - ], - "romanized": [ - "Hatice" - ] + "localized": ["Hatice"], + "romanized": ["Hatice"] }, { "id": "N-TR-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Zeynep" - ], - "romanized": [ - "Zeynep" - ] + "localized": ["Zeynep"], + "romanized": ["Zeynep"] }, { "id": "N-TR-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Elif" - ], - "romanized": [ - "Elif" - ] + "localized": ["Elif"], + "romanized": ["Elif"] }, { "id": "N-TR-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Meryem" - ], - "romanized": [ - "Meryem" - ] + "localized": ["Meryem"], + "romanized": ["Meryem"] }, { "id": "N-TR-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Şerife" - ], - "romanized": [ - "Şerife" - ] + "localized": ["Şerife"], + "romanized": ["Şerife"] }, { "id": "N-TR-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Zehra" - ], - "romanized": [ - "Zehra" - ] + "localized": ["Zehra"], + "romanized": ["Zehra"] }, { "id": "N-TR-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Sultan" - ], - "romanized": [ - "Sultan" - ] + "localized": ["Sultan"], + "romanized": ["Sultan"] }, { "id": "N-TR-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Mehmet" - ], - "romanized": [ - "Mehmet" - ] + "localized": ["Mehmet"], + "romanized": ["Mehmet"] }, { "id": "N-TR-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Mustafa" - ], - "romanized": [ - "Mustafa" - ] + "localized": ["Mustafa"], + "romanized": ["Mustafa"] }, { "id": "N-TR-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Ahmet" - ], - "romanized": [ - "Ahmet" - ] + "localized": ["Ahmet"], + "romanized": ["Ahmet"] }, { "id": "N-TR-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ] + "localized": ["Ali"], + "romanized": ["Ali"] }, { "id": "N-TR-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Hüseyin" - ], - "romanized": [ - "Hüseyin" - ] + "localized": ["Hüseyin"], + "romanized": ["Hüseyin"] }, { "id": "N-TR-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Hasan" - ], - "romanized": [ - "Hasan" - ] + "localized": ["Hasan"], + "romanized": ["Hasan"] }, { "id": "N-TR-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Ibrahim" - ], - "romanized": [ - "Ibrahim" - ] + "localized": ["Ibrahim"], + "romanized": ["Ibrahim"] }, { "id": "N-TR-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "İsmail" - ], - "romanized": [ - "İsmail" - ] + "localized": ["İsmail"], + "romanized": ["İsmail"] }, { "id": "N-TR-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Osman" - ], - "romanized": [ - "Osman" - ] + "localized": ["Osman"], + "romanized": ["Osman"] }, { "id": "N-TR-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Yusuf" - ], - "romanized": [ - "Yusuf" - ] + "localized": ["Yusuf"], + "romanized": ["Yusuf"] }, { "id": "N-TR-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Zeynep" - ], - "romanized": [ - "Zeynep" - ] + "localized": ["Zeynep"], + "romanized": ["Zeynep"] }, { "id": "N-TR-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Elif" - ], - "romanized": [ - "Elif" - ] + "localized": ["Elif"], + "romanized": ["Elif"] }, { "id": "N-TR-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Asel" - ], - "romanized": [ - "Asel" - ] + "localized": ["Asel"], + "romanized": ["Asel"] }, { "id": "N-TR-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Asya" - ], - "romanized": [ - "Asya" - ] + "localized": ["Asya"], + "romanized": ["Asya"] }, { "id": "N-TR-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Defne" - ], - "romanized": [ - "Defne" - ] + "localized": ["Defne"], + "romanized": ["Defne"] }, { "id": "N-TR-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Nehir" - ], - "romanized": [ - "Nehir" - ] + "localized": ["Nehir"], + "romanized": ["Nehir"] }, { "id": "N-TR-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Azra" - ], - "romanized": [ - "Azra" - ] + "localized": ["Azra"], + "romanized": ["Azra"] }, { "id": "N-TR-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Zümra" - ], - "romanized": [ - "Zümra" - ] + "localized": ["Zümra"], + "romanized": ["Zümra"] }, { "id": "N-TR-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Eylül" - ], - "romanized": [ - "Eylül" - ] + "localized": ["Eylül"], + "romanized": ["Eylül"] }, { "id": "N-TR-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Ecrin" - ], - "romanized": [ - "Ecrin" - ] + "localized": ["Ecrin"], + "romanized": ["Ecrin"] }, { "id": "N-TR-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Yusuf" - ], - "romanized": [ - "Yusuf" - ] + "localized": ["Yusuf"], + "romanized": ["Yusuf"] }, { "id": "N-TR-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Alparslan" - ], - "romanized": [ - "Alparslan" - ] + "localized": ["Alparslan"], + "romanized": ["Alparslan"] }, { "id": "N-TR-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Miraç" - ], - "romanized": [ - "Miraç" - ] + "localized": ["Miraç"], + "romanized": ["Miraç"] }, { "id": "N-TR-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Ömer Asaf" - ], - "romanized": [ - "Ömer Asaf" - ] + "localized": ["Ömer Asaf"], + "romanized": ["Ömer Asaf"] }, { "id": "N-TR-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Eymen" - ], - "romanized": [ - "Eymen" - ] + "localized": ["Eymen"], + "romanized": ["Eymen"] }, { "id": "N-TR-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Göktug" - ], - "romanized": [ - "Göktug" - ] + "localized": ["Göktug"], + "romanized": ["Göktug"] }, { "id": "N-TR-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Ömer" - ], - "romanized": [ - "Ömer" - ] + "localized": ["Ömer"], + "romanized": ["Ömer"] }, { "id": "N-TR-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Mustafa" - ], - "romanized": [ - "Mustafa" - ] + "localized": ["Mustafa"], + "romanized": ["Mustafa"] }, { "id": "N-TR-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Aras" - ], - "romanized": [ - "Aras" - ] + "localized": ["Aras"], + "romanized": ["Aras"] }, { "id": "N-TR-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Ali Asaf" - ], - "romanized": [ - "Ali Asaf" - ] + "localized": ["Ali Asaf"], + "romanized": ["Ali Asaf"] } ] } @@ -23570,210 +15346,134 @@ "id": "N-UA-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Anna" - ], - "romanized": [ - "Anna" - ] + "localized": ["Anna"], + "romanized": ["Anna"] }, { "id": "N-UA-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Anastasiya" - ], - "romanized": [ - "Anastasiya" - ] + "localized": ["Anastasiya"], + "romanized": ["Anastasiya"] }, { "id": "N-UA-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Veronika" - ], - "romanized": [ - "Veronika" - ] + "localized": ["Veronika"], + "romanized": ["Veronika"] }, { "id": "N-UA-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Sofiya" - ], - "romanized": [ - "Sofiya" - ] + "localized": ["Sofiya"], + "romanized": ["Sofiya"] }, { "id": "N-UA-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Oleksandra" - ], - "romanized": [ - "Oleksandra" - ] + "localized": ["Oleksandra"], + "romanized": ["Oleksandra"] }, { "id": "N-UA-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Mariya" - ], - "romanized": [ - "Mariya" - ] + "localized": ["Mariya"], + "romanized": ["Mariya"] }, { "id": "N-UA-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Viktoriya" - ], - "romanized": [ - "Viktoriya" - ] + "localized": ["Viktoriya"], + "romanized": ["Viktoriya"] }, { "id": "N-UA-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Milana" - ], - "romanized": [ - "Milana" - ] + "localized": ["Milana"], + "romanized": ["Milana"] }, { "id": "N-UA-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Yeva" - ], - "romanized": [ - "Yeva" - ] + "localized": ["Yeva"], + "romanized": ["Yeva"] }, { "id": "N-UA-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Solomiya" - ], - "romanized": [ - "Solomiya" - ] + "localized": ["Solomiya"], + "romanized": ["Solomiya"] }, { "id": "N-UA-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Artem" - ], - "romanized": [ - "Artem" - ] + "localized": ["Artem"], + "romanized": ["Artem"] }, { "id": "N-UA-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Dmytro" - ], - "romanized": [ - "Dmytro" - ] + "localized": ["Dmytro"], + "romanized": ["Dmytro"] }, { "id": "N-UA-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Ivan" - ], - "romanized": [ - "Ivan" - ] + "localized": ["Ivan"], + "romanized": ["Ivan"] }, { "id": "N-UA-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Maksym" - ], - "romanized": [ - "Maksym" - ] + "localized": ["Maksym"], + "romanized": ["Maksym"] }, { "id": "N-UA-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Mykhaylo" - ], - "romanized": [ - "Mykhaylo" - ] + "localized": ["Mykhaylo"], + "romanized": ["Mykhaylo"] }, { "id": "N-UA-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Danylo" - ], - "romanized": [ - "Danylo" - ] + "localized": ["Danylo"], + "romanized": ["Danylo"] }, { "id": "N-UA-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Vladyslav" - ], - "romanized": [ - "Vladyslav" - ] + "localized": ["Vladyslav"], + "romanized": ["Vladyslav"] }, { "id": "N-UA-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Oleksandr" - ], - "romanized": [ - "Oleksandr" - ] + "localized": ["Oleksandr"], + "romanized": ["Oleksandr"] }, { "id": "N-UA-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Andriy" - ], - "romanized": [ - "Andriy" - ] + "localized": ["Andriy"], + "romanized": ["Andriy"] } ] } @@ -23788,441 +15488,281 @@ "id": "N-US-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Mary" - ], - "romanized": [ - "Mary" - ] + "localized": ["Mary"], + "romanized": ["Mary"] }, { "id": "N-US-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Patricia" - ], - "romanized": [ - "Patricia" - ] + "localized": ["Patricia"], + "romanized": ["Patricia"] }, { "id": "N-US-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Linda" - ], - "romanized": [ - "Linda" - ] + "localized": ["Linda"], + "romanized": ["Linda"] }, { "id": "N-US-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Barbara" - ], - "romanized": [ - "Barbara" - ] + "localized": ["Barbara"], + "romanized": ["Barbara"] }, { "id": "N-US-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Elizabeth" - ], - "romanized": [ - "Elizabeth" - ] + "localized": ["Elizabeth"], + "romanized": ["Elizabeth"] }, { "id": "N-US-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Jennifer" - ], - "romanized": [ - "Jennifer" - ] + "localized": ["Jennifer"], + "romanized": ["Jennifer"] }, { "id": "N-US-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Maria" - ], - "romanized": [ - "Maria" - ] + "localized": ["Maria"], + "romanized": ["Maria"] }, { "id": "N-US-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Susan" - ], - "romanized": [ - "Susan" - ] + "localized": ["Susan"], + "romanized": ["Susan"] }, { "id": "N-US-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Margaret" - ], - "romanized": [ - "Margaret" - ] + "localized": ["Margaret"], + "romanized": ["Margaret"] }, { "id": "N-US-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Dorothy" - ], - "romanized": [ - "Dorothy" - ] + "localized": ["Dorothy"], + "romanized": ["Dorothy"] }, { "id": "N-US-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "James" - ], - "romanized": [ - "James" - ] + "localized": ["James"], + "romanized": ["James"] }, { "id": "N-US-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "John" - ], - "romanized": [ - "John" - ] + "localized": ["John"], + "romanized": ["John"] }, { "id": "N-US-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Robert" - ], - "romanized": [ - "Robert" - ] + "localized": ["Robert"], + "romanized": ["Robert"] }, { "id": "N-US-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Michael" - ], - "romanized": [ - "Michael" - ] + "localized": ["Michael"], + "romanized": ["Michael"] }, { "id": "N-US-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "William" - ], - "romanized": [ - "William" - ] + "localized": ["William"], + "romanized": ["William"] }, { "id": "N-US-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "David" - ], - "romanized": [ - "David" - ] + "localized": ["David"], + "romanized": ["David"] }, { "id": "N-US-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Richard" - ], - "romanized": [ - "Richard" - ] + "localized": ["Richard"], + "romanized": ["Richard"] }, { "id": "N-US-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Charles" - ], - "romanized": [ - "Charles" - ] + "localized": ["Charles"], + "romanized": ["Charles"] }, { "id": "N-US-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Joseph" - ], - "romanized": [ - "Joseph" - ] + "localized": ["Joseph"], + "romanized": ["Joseph"] }, { "id": "N-US-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Thomas" - ], - "romanized": [ - "Thomas" - ] + "localized": ["Thomas"], + "romanized": ["Thomas"] }, { "id": "N-US-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Olivia" - ], - "romanized": [ - "Olivia" - ] + "localized": ["Olivia"], + "romanized": ["Olivia"] }, { "id": "N-US-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-US-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Charlotte" - ], - "romanized": [ - "Charlotte" - ] + "localized": ["Charlotte"], + "romanized": ["Charlotte"] }, { "id": "N-US-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Amelia" - ], - "romanized": [ - "Amelia" - ] + "localized": ["Amelia"], + "romanized": ["Amelia"] }, { "id": "N-US-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Sophia" - ], - "romanized": [ - "Sophia" - ] + "localized": ["Sophia"], + "romanized": ["Sophia"] }, { "id": "N-US-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-US-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Ava" - ], - "romanized": [ - "Ava" - ] + "localized": ["Ava"], + "romanized": ["Ava"] }, { "id": "N-US-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Mia" - ], - "romanized": [ - "Mia" - ] + "localized": ["Mia"], + "romanized": ["Mia"] }, { "id": "N-US-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Evelyn" - ], - "romanized": [ - "Evelyn" - ] + "localized": ["Evelyn"], + "romanized": ["Evelyn"] }, { "id": "N-US-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Luna" - ], - "romanized": [ - "Luna" - ] + "localized": ["Luna"], + "romanized": ["Luna"] }, { "id": "N-US-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Liam" - ], - "romanized": [ - "Liam" - ] + "localized": ["Liam"], + "romanized": ["Liam"] }, { "id": "N-US-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Noah" - ], - "romanized": [ - "Noah" - ] + "localized": ["Noah"], + "romanized": ["Noah"] }, { "id": "N-US-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Oliver" - ], - "romanized": [ - "Oliver" - ] + "localized": ["Oliver"], + "romanized": ["Oliver"] }, { "id": "N-US-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "James" - ], - "romanized": [ - "James" - ] + "localized": ["James"], + "romanized": ["James"] }, { "id": "N-US-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Elijah" - ], - "romanized": [ - "Elijah" - ] + "localized": ["Elijah"], + "romanized": ["Elijah"] }, { "id": "N-US-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "William" - ], - "romanized": [ - "William" - ] + "localized": ["William"], + "romanized": ["William"] }, { "id": "N-US-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Henry" - ], - "romanized": [ - "Henry" - ] + "localized": ["Henry"], + "romanized": ["Henry"] }, { "id": "N-US-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Lucas" - ], - "romanized": [ - "Lucas" - ] + "localized": ["Lucas"], + "romanized": ["Lucas"] }, { "id": "N-US-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Benjamin" - ], - "romanized": [ - "Benjamin" - ] + "localized": ["Benjamin"], + "romanized": ["Benjamin"] }, { "id": "N-US-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Theodore" - ], - "romanized": [ - "Theodore" - ] + "localized": ["Theodore"], + "romanized": ["Theodore"] } ] } @@ -24237,111 +15777,71 @@ "id": "N-UY-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "María" - ], - "romanized": [ - "María" - ] + "localized": ["María"], + "romanized": ["María"] }, { "id": "N-UY-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Maria" - ], - "romanized": [ - "Maria" - ] + "localized": ["Maria"], + "romanized": ["Maria"] }, { "id": "N-UY-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-UY-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Valentina" - ], - "romanized": [ - "Valentina" - ] + "localized": ["Valentina"], + "romanized": ["Valentina"] }, { "id": "N-UY-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Emma" - ], - "romanized": [ - "Emma" - ] + "localized": ["Emma"], + "romanized": ["Emma"] }, { "id": "N-UY-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Martina" - ], - "romanized": [ - "Martina" - ] + "localized": ["Martina"], + "romanized": ["Martina"] }, { "id": "N-UY-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Catalina" - ], - "romanized": [ - "Catalina" - ] + "localized": ["Catalina"], + "romanized": ["Catalina"] }, { "id": "N-UY-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Juan" - ], - "romanized": [ - "Juan" - ] + "localized": ["Juan"], + "romanized": ["Juan"] }, { "id": "N-UY-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Benjamín" - ], - "romanized": [ - "Benjamín" - ] + "localized": ["Benjamín"], + "romanized": ["Benjamín"] }, { "id": "N-UY-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Mateo" - ], - "romanized": [ - "Mateo" - ] + "localized": ["Mateo"], + "romanized": ["Mateo"] } ] } @@ -24356,221 +15856,141 @@ "id": "N-VE-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Camila" - ], - "romanized": [ - "Camila" - ] + "localized": ["Camila"], + "romanized": ["Camila"] }, { "id": "N-VE-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Isabella" - ], - "romanized": [ - "Isabella" - ] + "localized": ["Isabella"], + "romanized": ["Isabella"] }, { "id": "N-VE-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Sofía" - ], - "romanized": [ - "Sofía" - ] + "localized": ["Sofía"], + "romanized": ["Sofía"] }, { "id": "N-VE-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Victoria" - ], - "romanized": [ - "Victoria" - ] + "localized": ["Victoria"], + "romanized": ["Victoria"] }, { "id": "N-VE-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Valentina" - ], - "romanized": [ - "Valentina" - ] + "localized": ["Valentina"], + "romanized": ["Valentina"] }, { "id": "N-VE-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Valeria" - ], - "romanized": [ - "Valeria" - ] + "localized": ["Valeria"], + "romanized": ["Valeria"] }, { "id": "N-VE-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Nicole" - ], - "romanized": [ - "Nicole" - ] + "localized": ["Nicole"], + "romanized": ["Nicole"] }, { "id": "N-VE-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Samantha" - ], - "romanized": [ - "Samantha" - ] + "localized": ["Samantha"], + "romanized": ["Samantha"] }, { "id": "N-VE-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Mariana" - ], - "romanized": [ - "Mariana" - ] + "localized": ["Mariana"], + "romanized": ["Mariana"] }, { "id": "N-VE-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Antonella" - ], - "romanized": [ - "Antonella" - ] + "localized": ["Antonella"], + "romanized": ["Antonella"] }, { "id": "N-VE-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Sebastián" - ], - "romanized": [ - "Sebastián" - ] + "localized": ["Sebastián"], + "romanized": ["Sebastián"] }, { "id": "N-VE-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Santiago" - ], - "romanized": [ - "Santiago" - ] + "localized": ["Santiago"], + "romanized": ["Santiago"] }, { "id": "N-VE-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Samuel" - ], - "romanized": [ - "Samuel" - ] + "localized": ["Samuel"], + "romanized": ["Samuel"] }, { "id": "N-VE-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Diego" - ], - "romanized": [ - "Diego" - ] + "localized": ["Diego"], + "romanized": ["Diego"] }, { "id": "N-VE-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Gabriel" - ], - "romanized": [ - "Gabriel" - ] + "localized": ["Gabriel"], + "romanized": ["Gabriel"] }, { "id": "N-VE-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Alejandro" - ], - "romanized": [ - "Alejandro" - ] + "localized": ["Alejandro"], + "romanized": ["Alejandro"] }, { "id": "N-VE-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Diego Alejandro" - ], - "romanized": [ - "Diego Alejandro" - ] + "localized": ["Diego Alejandro"], + "romanized": ["Diego Alejandro"] }, { "id": "N-VE-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Daniel Alejandro" - ], - "romanized": [ - "Daniel Alejandro" - ] + "localized": ["Daniel Alejandro"], + "romanized": ["Daniel Alejandro"] }, { "id": "N-VE-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "David" - ], - "romanized": [ - "David" - ] + "localized": ["David"], + "romanized": ["David"] }, { "id": "N-VE-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Juan Andrés" - ], - "romanized": [ - "Juan Andrés" - ] + "localized": ["Juan Andrés"], + "romanized": ["Juan Andrés"] } ] } @@ -24585,221 +16005,141 @@ "id": "N-ZA-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Melokuhle" - ], - "romanized": [ - "Melokuhle" - ] + "localized": ["Melokuhle"], + "romanized": ["Melokuhle"] }, { "id": "N-ZA-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Omphile" - ], - "romanized": [ - "Omphile" - ] + "localized": ["Omphile"], + "romanized": ["Omphile"] }, { "id": "N-ZA-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Iminathi" - ], - "romanized": [ - "Iminathi" - ] + "localized": ["Iminathi"], + "romanized": ["Iminathi"] }, { "id": "N-ZA-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Lisakhanya" - ], - "romanized": [ - "Lisakhanya" - ] + "localized": ["Lisakhanya"], + "romanized": ["Lisakhanya"] }, { "id": "N-ZA-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Lethabo" - ], - "romanized": [ - "Lethabo" - ] + "localized": ["Lethabo"], + "romanized": ["Lethabo"] }, { "id": "N-ZA-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Amahle" - ], - "romanized": [ - "Amahle" - ] + "localized": ["Amahle"], + "romanized": ["Amahle"] }, { "id": "N-ZA-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Lesedi" - ], - "romanized": [ - "Lesedi" - ] + "localized": ["Lesedi"], + "romanized": ["Lesedi"] }, { "id": "N-ZA-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Rethabile" - ], - "romanized": [ - "Rethabile" - ] + "localized": ["Rethabile"], + "romanized": ["Rethabile"] }, { "id": "N-ZA-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Lethokuhle" - ], - "romanized": [ - "Lethokuhle" - ] + "localized": ["Lethokuhle"], + "romanized": ["Lethokuhle"] }, { "id": "N-ZA-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Asemahle" - ], - "romanized": [ - "Asemahle" - ] + "localized": ["Asemahle"], + "romanized": ["Asemahle"] }, { "id": "N-ZA-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Lethabo" - ], - "romanized": [ - "Lethabo" - ] + "localized": ["Lethabo"], + "romanized": ["Lethabo"] }, { "id": "N-ZA-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Lubanzi" - ], - "romanized": [ - "Lubanzi" - ] + "localized": ["Lubanzi"], + "romanized": ["Lubanzi"] }, { "id": "N-ZA-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Melokuhle" - ], - "romanized": [ - "Melokuhle" - ] + "localized": ["Melokuhle"], + "romanized": ["Melokuhle"] }, { "id": "N-ZA-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Junior" - ], - "romanized": [ - "Junior" - ] + "localized": ["Junior"], + "romanized": ["Junior"] }, { "id": "N-ZA-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Lethokuhle" - ], - "romanized": [ - "Lethokuhle" - ] + "localized": ["Lethokuhle"], + "romanized": ["Lethokuhle"] }, { "id": "N-ZA-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Siphosethu" - ], - "romanized": [ - "Siphosethu" - ] + "localized": ["Siphosethu"], + "romanized": ["Siphosethu"] }, { "id": "N-ZA-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Omphile" - ], - "romanized": [ - "Omphile" - ] + "localized": ["Omphile"], + "romanized": ["Omphile"] }, { "id": "N-ZA-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Lwandle" - ], - "romanized": [ - "Lwandle" - ] + "localized": ["Lwandle"], + "romanized": ["Lwandle"] }, { "id": "N-ZA-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Banele" - ], - "romanized": [ - "Banele" - ] + "localized": ["Banele"], + "romanized": ["Banele"] }, { "id": "N-ZA-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Ofentse" - ], - "romanized": [ - "Ofentse" - ] + "localized": ["Ofentse"], + "romanized": ["Ofentse"] } ] } @@ -24814,232 +16154,148 @@ "id": "O-BG-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Виктория" - ], - "romanized": [ - "Viktoria" - ] + "localized": ["Виктория"], + "romanized": ["Viktoria"] }, { "id": "O-BG-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Мария" - ], - "romanized": [ - "Maria" - ] + "localized": ["Мария"], + "romanized": ["Maria"] }, { "id": "O-BG-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Никол" - ], - "romanized": [ - "Nikol" - ] + "localized": ["Никол"], + "romanized": ["Nikol"] }, { "id": "O-BG-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Рая" - ], - "romanized": [ - "Raya" - ] + "localized": ["Рая"], + "romanized": ["Raya"] }, { "id": "O-BG-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "София" - ], - "romanized": [ - "Sofia" - ] + "localized": ["София"], + "romanized": ["Sofia"] }, { "id": "O-BG-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Йоана" - ], - "romanized": [ - "Yoana" - ] + "localized": ["Йоана"], + "romanized": ["Yoana"] }, { "id": "O-BG-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Дария" - ], - "romanized": [ - "Dragana" - ] + "localized": ["Дария"], + "romanized": ["Dragana"] }, { "id": "O-BG-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Габриела" - ], - "romanized": [ - "Gabriela" - ] + "localized": ["Габриела"], + "romanized": ["Gabriela"] }, { "id": "O-BG-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Александра" - ], - "romanized": [ - "Aleksandra" - ] + "localized": ["Александра"], + "romanized": ["Aleksandra"] }, { "id": "O-BG-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Симона" - ], - "romanized": [ - "Simona" - ] + "localized": ["Симона"], + "romanized": ["Simona"] }, { "id": "O-BG-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Александър" - ], - "romanized": [ - "Aleksandar" - ] + "localized": ["Александър"], + "romanized": ["Aleksandar"] }, { "id": "O-BG-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Георги" - ], - "romanized": [ - "Georgi" - ] + "localized": ["Георги"], + "romanized": ["Georgi"] }, { "id": "O-BG-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Мартин" - ], - "romanized": [ - "Martin" - ] + "localized": ["Мартин"], + "romanized": ["Martin"] }, { "id": "O-BG-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Калоян" - ], - "romanized": [ - "Kaloyan" - ] + "localized": ["Калоян"], + "romanized": ["Kaloyan"] }, { "id": "O-BG-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Борис" - ], - "romanized": [ - "Boris" - ] + "localized": ["Борис"], + "romanized": ["Boris"] }, { "id": "O-BG-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Димитър" - ], - "romanized": [ - "Dimitar" - ] + "localized": ["Димитър"], + "romanized": ["Dimitar"] }, { "id": "O-BG-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Теодор" - ], - "romanized": [ - "Teodor" - ] + "localized": ["Теодор"], + "romanized": ["Teodor"] }, { "id": "O-BG-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Даниел" - ], - "romanized": [ - "Daniel" - ] + "localized": ["Даниел"], + "romanized": ["Daniel"] }, { "id": "O-BG-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Иван" - ], - "romanized": [ - "Ivan" - ] + "localized": ["Иван"], + "romanized": ["Ivan"] }, { "id": "O-BG-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Никола" - ], - "romanized": [ - "Nikola" - ] + "localized": ["Никола"], + "romanized": ["Nikola"] }, { "id": "O-BG-1-M-11", "rank": 11, "gender": "M", - "localized": [ - "Виктор" - ], - "romanized": [ - "Viktor" - ] + "localized": ["Виктор"], + "romanized": ["Viktor"] } ] } @@ -25054,221 +16310,141 @@ "id": "O-CN-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "若汐" - ], - "romanized": [ - "Ruòxī" - ] + "localized": ["若汐"], + "romanized": ["Ruòxī"] }, { "id": "O-CN-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "一诺" - ], - "romanized": [ - "Yīnuò" - ] + "localized": ["一诺"], + "romanized": ["Yīnuò"] }, { "id": "O-CN-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "艺涵" - ], - "romanized": [ - "Yìhán" - ] + "localized": ["艺涵"], + "romanized": ["Yìhán"] }, { "id": "O-CN-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "依诺" - ], - "romanized": [ - "Yīnuò" - ] + "localized": ["依诺"], + "romanized": ["Yīnuò"] }, { "id": "O-CN-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "梓涵" - ], - "romanized": [ - "Zǐhán" - ] + "localized": ["梓涵"], + "romanized": ["Zǐhán"] }, { "id": "O-CN-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "苡沫" - ], - "romanized": [ - "Yǐmò" - ] + "localized": ["苡沫"], + "romanized": ["Yǐmò"] }, { "id": "O-CN-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "雨桐" - ], - "romanized": [ - "Yǔtóng" - ] + "localized": ["雨桐"], + "romanized": ["Yǔtóng"] }, { "id": "O-CN-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "欣怡" - ], - "romanized": [ - "Xīnyí" - ] + "localized": ["欣怡"], + "romanized": ["Xīnyí"] }, { "id": "O-CN-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "语桐" - ], - "romanized": [ - "Yǔtóng" - ] + "localized": ["语桐"], + "romanized": ["Yǔtóng"] }, { "id": "O-CN-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "语汐" - ], - "romanized": [ - "Yǔxī" - ] + "localized": ["语汐"], + "romanized": ["Yǔxī"] }, { "id": "O-CN-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "沐宸" - ], - "romanized": [ - "Mùchén" - ] + "localized": ["沐宸"], + "romanized": ["Mùchén"] }, { "id": "O-CN-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "浩宇" - ], - "romanized": [ - "Hàoyǔ" - ] + "localized": ["浩宇"], + "romanized": ["Hàoyǔ"] }, { "id": "O-CN-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "沐辰" - ], - "romanized": [ - "Mùchén" - ] + "localized": ["沐辰"], + "romanized": ["Mùchén"] }, { "id": "O-CN-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "茗泽" - ], - "romanized": [ - "Míngzé" - ] + "localized": ["茗泽"], + "romanized": ["Míngzé"] }, { "id": "O-CN-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "奕辰" - ], - "romanized": [ - "Yìchén" - ] + "localized": ["奕辰"], + "romanized": ["Yìchén"] }, { "id": "O-CN-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "宇泽" - ], - "romanized": [ - "Yǔzé" - ] + "localized": ["宇泽"], + "romanized": ["Yǔzé"] }, { "id": "O-CN-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "浩然" - ], - "romanized": [ - "Hàorán" - ] + "localized": ["浩然"], + "romanized": ["Hàorán"] }, { "id": "O-CN-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "奕泽" - ], - "romanized": [ - "Yìzé" - ] + "localized": ["奕泽"], + "romanized": ["Yìzé"] }, { "id": "O-CN-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "宇轩" - ], - "romanized": [ - "Yǔxuān" - ] + "localized": ["宇轩"], + "romanized": ["Yǔxuān"] }, { "id": "O-CN-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "沐阳" - ], - "romanized": [ - "Mùyáng" - ] + "localized": ["沐阳"], + "romanized": ["Mùyáng"] } ] } @@ -25283,221 +16459,141 @@ "id": "O-CY-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Μαρία" - ], - "romanized": [ - "Maria" - ] + "localized": ["Μαρία"], + "romanized": ["Maria"] }, { "id": "O-CY-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Ελένη" - ], - "romanized": [ - "Eleni" - ] + "localized": ["Ελένη"], + "romanized": ["Eleni"] }, { "id": "O-CY-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Ανδρούλα" - ], - "romanized": [ - "Androula" - ] + "localized": ["Ανδρούλα"], + "romanized": ["Androula"] }, { "id": "O-CY-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Γεωργία" - ], - "romanized": [ - "Georgia" - ] + "localized": ["Γεωργία"], + "romanized": ["Georgia"] }, { "id": "O-CY-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Παναγιώτα" - ], - "romanized": [ - "Panagiota" - ] + "localized": ["Παναγιώτα"], + "romanized": ["Panagiota"] }, { "id": "O-CY-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Άννα" - ], - "romanized": [ - "Anna" - ] + "localized": ["Άννα"], + "romanized": ["Anna"] }, { "id": "O-CY-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Χριστίνα" - ], - "romanized": [ - "Christina" - ] + "localized": ["Χριστίνα"], + "romanized": ["Christina"] }, { "id": "O-CY-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Κατερίνα" - ], - "romanized": [ - "Katerina" - ] + "localized": ["Κατερίνα"], + "romanized": ["Katerina"] }, { "id": "O-CY-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Ιωάννα" - ], - "romanized": [ - "Ioanna" - ] + "localized": ["Ιωάννα"], + "romanized": ["Ioanna"] }, { "id": "O-CY-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Κυριακή" - ], - "romanized": [ - "Kyriaki" - ] + "localized": ["Κυριακή"], + "romanized": ["Kyriaki"] }, { "id": "O-CY-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Ανδρέας" - ], - "romanized": [ - "Andreas" - ] + "localized": ["Ανδρέας"], + "romanized": ["Andreas"] }, { "id": "O-CY-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Γεώργιος" - ], - "romanized": [ - "Georgios" - ] + "localized": ["Γεώργιος"], + "romanized": ["Georgios"] }, { "id": "O-CY-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Κωνσταντίνος" - ], - "romanized": [ - "Konstantinos" - ] + "localized": ["Κωνσταντίνος"], + "romanized": ["Konstantinos"] }, { "id": "O-CY-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Χρήστος" - ], - "romanized": [ - "Christos" - ] + "localized": ["Χρήστος"], + "romanized": ["Christos"] }, { "id": "O-CY-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Νικόλαος" - ], - "romanized": [ - "Nikolaos" - ] + "localized": ["Νικόλαος"], + "romanized": ["Nikolaos"] }, { "id": "O-CY-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Μιχάλης" - ], - "romanized": [ - "Michalis" - ] + "localized": ["Μιχάλης"], + "romanized": ["Michalis"] }, { "id": "O-CY-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Παναγιώτης" - ], - "romanized": [ - "Panagiotis" - ] + "localized": ["Παναγιώτης"], + "romanized": ["Panagiotis"] }, { "id": "O-CY-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Ιωάννης" - ], - "romanized": [ - "Ioannis" - ] + "localized": ["Ιωάννης"], + "romanized": ["Ioannis"] }, { "id": "O-CY-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Μάριος" - ], - "romanized": [ - "Marios" - ] + "localized": ["Μάριος"], + "romanized": ["Marios"] }, { "id": "O-CY-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Δημήτριος" - ], - "romanized": [ - "Dimitrios" - ] + "localized": ["Δημήτριος"], + "romanized": ["Dimitrios"] } ] } @@ -25512,221 +16608,141 @@ "id": "O-GE-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "მარიამი" - ], - "romanized": [ - "Mariami" - ] + "localized": ["მარიამი"], + "romanized": ["Mariami"] }, { "id": "O-GE-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "ნინო" - ], - "romanized": [ - "Nino" - ] + "localized": ["ნინო"], + "romanized": ["Nino"] }, { "id": "O-GE-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "ელენე" - ], - "romanized": [ - "Elene" - ] + "localized": ["ელენე"], + "romanized": ["Elene"] }, { "id": "O-GE-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "ბარბარე" - ], - "romanized": [ - "Barbare" - ] + "localized": ["ბარბარე"], + "romanized": ["Barbare"] }, { "id": "O-GE-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "ლილე" - ], - "romanized": [ - "Lile" - ] + "localized": ["ლილე"], + "romanized": ["Lile"] }, { "id": "O-GE-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "ანასტასია" - ], - "romanized": [ - "Anastasia" - ] + "localized": ["ანასტასია"], + "romanized": ["Anastasia"] }, { "id": "O-GE-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "ნია" - ], - "romanized": [ - "Nia" - ] + "localized": ["ნია"], + "romanized": ["Nia"] }, { "id": "O-GE-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "ნუცა" - ], - "romanized": [ - "Nutsa" - ] + "localized": ["ნუცა"], + "romanized": ["Nutsa"] }, { "id": "O-GE-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "სესილი" - ], - "romanized": [ - "Sesili" - ] + "localized": ["სესილი"], + "romanized": ["Sesili"] }, { "id": "O-GE-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "ანა" - ], - "romanized": [ - "Ana" - ] + "localized": ["ანა"], + "romanized": ["Ana"] }, { "id": "O-GE-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "გაბრიელი" - ], - "romanized": [ - "Gabriel" - ] + "localized": ["გაბრიელი"], + "romanized": ["Gabriel"] }, { "id": "O-GE-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "ანდრია" - ], - "romanized": [ - "Andria" - ] + "localized": ["ანდრია"], + "romanized": ["Andria"] }, { "id": "O-GE-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "გიორგი" - ], - "romanized": [ - "Giorgi" - ] + "localized": ["გიორგი"], + "romanized": ["Giorgi"] }, { "id": "O-GE-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "დავითი" - ], - "romanized": [ - "Davit" - ] + "localized": ["დავითი"], + "romanized": ["Davit"] }, { "id": "O-GE-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "ალექსანდრე" - ], - "romanized": [ - "Aleksandre" - ] + "localized": ["ალექსანდრე"], + "romanized": ["Aleksandre"] }, { "id": "O-GE-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "ნიკოლოზი" - ], - "romanized": [ - "Nikoloz" - ] + "localized": ["ნიკოლოზი"], + "romanized": ["Nikoloz"] }, { "id": "O-GE-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "დემეტრე" - ], - "romanized": [ - "Demetre" - ] + "localized": ["დემეტრე"], + "romanized": ["Demetre"] }, { "id": "O-GE-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "ლუკა" - ], - "romanized": [ - "Luka" - ] + "localized": ["ლუკა"], + "romanized": ["Luka"] }, { "id": "O-GE-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "დანიელ" - ], - "romanized": [ - "Daniel" - ] + "localized": ["დანიელ"], + "romanized": ["Daniel"] }, { "id": "O-GE-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "მათე" - ], - "romanized": [ - "Gabor" - ] + "localized": ["მათე"], + "romanized": ["Gabor"] } ] } @@ -25741,232 +16757,148 @@ "id": "O-GR-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Μαρία" - ], - "romanized": [ - "Maria" - ] + "localized": ["Μαρία"], + "romanized": ["Maria"] }, { "id": "O-GR-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Ελένη" - ], - "romanized": [ - "Eleni" - ] + "localized": ["Ελένη"], + "romanized": ["Eleni"] }, { "id": "O-GR-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Αικατερίνη" - ], - "romanized": [ - "Aikaterini" - ] + "localized": ["Αικατερίνη"], + "romanized": ["Aikaterini"] }, { "id": "O-GR-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Βασιλική" - ], - "romanized": [ - "Vasiliki" - ] + "localized": ["Βασιλική"], + "romanized": ["Vasiliki"] }, { "id": "O-GR-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Σοφία" - ], - "romanized": [ - "Sophia" - ] + "localized": ["Σοφία"], + "romanized": ["Sophia"] }, { "id": "O-GR-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Αγγελική" - ], - "romanized": [ - "Angeliki" - ] + "localized": ["Αγγελική"], + "romanized": ["Angeliki"] }, { "id": "O-GR-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Giorgia" - ], - "romanized": [ - "Georgia" - ] + "localized": ["Giorgia"], + "romanized": ["Georgia"] }, { "id": "O-GR-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Γεωργία" - ], - "romanized": [ - "Gogo" - ] + "localized": ["Γεωργία"], + "romanized": ["Gogo"] }, { "id": "O-GR-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Δήμητρα" - ], - "romanized": [ - "Dimitra" - ] + "localized": ["Δήμητρα"], + "romanized": ["Dimitra"] }, { "id": "O-GR-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Κωνσταντίνα" - ], - "romanized": [ - "Konstantina" - ] + "localized": ["Κωνσταντίνα"], + "romanized": ["Konstantina"] }, { "id": "O-GR-1-F-11", "rank": 11, "gender": "F", - "localized": [ - "Παρασκευή" - ], - "romanized": [ - "Paraskevi" - ] + "localized": ["Παρασκευή"], + "romanized": ["Paraskevi"] }, { "id": "O-GR-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Γεώργιος" - ], - "romanized": [ - "Georgios" - ] + "localized": ["Γεώργιος"], + "romanized": ["Georgios"] }, { "id": "O-GR-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Ιωάννης" - ], - "romanized": [ - "Ioannis" - ] + "localized": ["Ιωάννης"], + "romanized": ["Ioannis"] }, { "id": "O-GR-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Κωνσταντίνος" - ], - "romanized": [ - "Konstantinos" - ] + "localized": ["Κωνσταντίνος"], + "romanized": ["Konstantinos"] }, { "id": "O-GR-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Δημήτριος" - ], - "romanized": [ - "Dimitrios" - ] + "localized": ["Δημήτριος"], + "romanized": ["Dimitrios"] }, { "id": "O-GR-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Νικόλαος" - ], - "romanized": [ - "Nikolaos" - ] + "localized": ["Νικόλαος"], + "romanized": ["Nikolaos"] }, { "id": "O-GR-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Παναγιώτης" - ], - "romanized": [ - "Panagiotis" - ] + "localized": ["Παναγιώτης"], + "romanized": ["Panagiotis"] }, { "id": "O-GR-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Βασίλειος" - ], - "romanized": [ - "Vasileios" - ] + "localized": ["Βασίλειος"], + "romanized": ["Vasileios"] }, { "id": "O-GR-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Χρήστος" - ], - "romanized": [ - "Christos" - ] + "localized": ["Χρήστος"], + "romanized": ["Christos"] }, { "id": "O-GR-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Αθανάσιος" - ], - "romanized": [ - "Athanasios" - ] + "localized": ["Αθανάσιος"], + "romanized": ["Athanasios"] }, { "id": "O-GR-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Μιχαήλ" - ], - "romanized": [ - "Michail" - ] + "localized": ["Μιχαήλ"], + "romanized": ["Michail"] } ] } @@ -25981,221 +16913,141 @@ "id": "O-KG-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Салиха" - ], - "romanized": [ - "Saliha" - ] + "localized": ["Салиха"], + "romanized": ["Saliha"] }, { "id": "O-KG-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Раяна" - ], - "romanized": [ - "Rayana" - ] + "localized": ["Раяна"], + "romanized": ["Rayana"] }, { "id": "O-KG-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Амина" - ], - "romanized": [ - "Amina" - ] + "localized": ["Амина"], + "romanized": ["Amina"] }, { "id": "O-KG-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Фатима" - ], - "romanized": [ - "Fátima" - ] + "localized": ["Фатима"], + "romanized": ["Fátima"] }, { "id": "O-KG-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Айлин" - ], - "romanized": [ - "Aylin" - ] + "localized": ["Айлин"], + "romanized": ["Aylin"] }, { "id": "O-KG-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Алия" - ], - "romanized": [ - "Aliya" - ] + "localized": ["Алия"], + "romanized": ["Aliya"] }, { "id": "O-KG-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Сафия" - ], - "romanized": [ - "Safiya" - ] + "localized": ["Сафия"], + "romanized": ["Safiya"] }, { "id": "O-KG-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Аруузат" - ], - "romanized": [ - "Aruuzat" - ] + "localized": ["Аруузат"], + "romanized": ["Aruuzat"] }, { "id": "O-KG-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Хадича" - ], - "romanized": [ - "Hadicha" - ] + "localized": ["Хадича"], + "romanized": ["Hadicha"] }, { "id": "O-KG-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Арууке" - ], - "romanized": [ - "Aruuke" - ] + "localized": ["Арууке"], + "romanized": ["Aruuke"] }, { "id": "O-KG-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Мухаммад" - ], - "romanized": [ - "Muhammad" - ] + "localized": ["Мухаммад"], + "romanized": ["Muhammad"] }, { "id": "O-KG-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Умар" - ], - "romanized": [ - "Umar" - ] + "localized": ["Умар"], + "romanized": ["Umar"] }, { "id": "O-KG-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Али" - ], - "romanized": [ - "Ali" - ] + "localized": ["Али"], + "romanized": ["Ali"] }, { "id": "O-KG-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Амир" - ], - "romanized": [ - "Amir" - ] + "localized": ["Амир"], + "romanized": ["Amir"] }, { "id": "O-KG-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Билал" - ], - "romanized": [ - "Bilal" - ] + "localized": ["Билал"], + "romanized": ["Bilal"] }, { "id": "O-KG-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Алихан" - ], - "romanized": [ - "Alikhan" - ] + "localized": ["Алихан"], + "romanized": ["Alikhan"] }, { "id": "O-KG-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Алинур" - ], - "romanized": [ - "Alinur" - ] + "localized": ["Алинур"], + "romanized": ["Alinur"] }, { "id": "O-KG-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Нурислам" - ], - "romanized": [ - "Nurislam" - ] + "localized": ["Нурислам"], + "romanized": ["Nurislam"] }, { "id": "O-KG-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Эмир" - ], - "romanized": [ - "Emir" - ] + "localized": ["Эмир"], + "romanized": ["Emir"] }, { "id": "O-KG-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Усман" - ], - "romanized": [ - "Usman" - ] + "localized": ["Усман"], + "romanized": ["Usman"] } ] } @@ -26210,221 +17062,141 @@ "id": "O-KR-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "지안" - ], - "romanized": [ - "Ji-an" - ] + "localized": ["지안"], + "romanized": ["Ji-an"] }, { "id": "O-KR-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "하윤" - ], - "romanized": [ - "Ha-yoon" - ] + "localized": ["하윤"], + "romanized": ["Ha-yoon"] }, { "id": "O-KR-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "서아" - ], - "romanized": [ - "Seo-ah" - ] + "localized": ["서아"], + "romanized": ["Seo-ah"] }, { "id": "O-KR-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "하은" - ], - "romanized": [ - "Ha-eun" - ] + "localized": ["하은"], + "romanized": ["Ha-eun"] }, { "id": "O-KR-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "서윤" - ], - "romanized": [ - "Seo-yun" - ] + "localized": ["서윤"], + "romanized": ["Seo-yun"] }, { "id": "O-KR-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "하린" - ], - "romanized": [ - "Ha-rin" - ] + "localized": ["하린"], + "romanized": ["Ha-rin"] }, { "id": "O-KR-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "지유" - ], - "romanized": [ - "Ji-yoo" - ] + "localized": ["지유"], + "romanized": ["Ji-yoo"] }, { "id": "O-KR-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "지우" - ], - "romanized": [ - "Ji-woo" - ] + "localized": ["지우"], + "romanized": ["Ji-woo"] }, { "id": "O-KR-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "수아" - ], - "romanized": [ - "Soo-ah" - ] + "localized": ["수아"], + "romanized": ["Soo-ah"] }, { "id": "O-KR-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "지아" - ], - "romanized": [ - "Ji-a" - ] + "localized": ["지아"], + "romanized": ["Ji-a"] }, { "id": "O-KR-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "서준" - ], - "romanized": [ - "Seo-jun" - ] + "localized": ["서준"], + "romanized": ["Seo-jun"] }, { "id": "O-KR-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "하준" - ], - "romanized": [ - "Ha-joon" - ] + "localized": ["하준"], + "romanized": ["Ha-joon"] }, { "id": "O-KR-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "도윤" - ], - "romanized": [ - "Do-yun" - ] + "localized": ["도윤"], + "romanized": ["Do-yun"] }, { "id": "O-KR-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "은우" - ], - "romanized": [ - "Eun-woo" - ] + "localized": ["은우"], + "romanized": ["Eun-woo"] }, { "id": "O-KR-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "시우" - ], - "romanized": [ - "Si-woo" - ] + "localized": ["시우"], + "romanized": ["Si-woo"] }, { "id": "O-KR-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "지호" - ], - "romanized": [ - "Ji-ho" - ] + "localized": ["지호"], + "romanized": ["Ji-ho"] }, { "id": "O-KR-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "예준" - ], - "romanized": [ - "Ye-jun" - ] + "localized": ["예준"], + "romanized": ["Ye-jun"] }, { "id": "O-KR-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "유준" - ], - "romanized": [ - "Yu-jun" - ] + "localized": ["유준"], + "romanized": ["Yu-jun"] }, { "id": "O-KR-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "주원" - ], - "romanized": [ - "Ju-won" - ] + "localized": ["주원"], + "romanized": ["Ju-won"] }, { "id": "O-KR-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "민준" - ], - "romanized": [ - "Min-jun" - ] + "localized": ["민준"], + "romanized": ["Min-jun"] } ] } @@ -26439,221 +17211,141 @@ "id": "O-KZ-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "Медина" - ], - "romanized": [ - "Mädïna" - ] + "localized": ["Медина"], + "romanized": ["Mädïna"] }, { "id": "O-KZ-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "Айлин" - ], - "romanized": [ - "Aylin" - ] + "localized": ["Айлин"], + "romanized": ["Aylin"] }, { "id": "O-KZ-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "Асылым" - ], - "romanized": [ - "Asilim" - ] + "localized": ["Асылым"], + "romanized": ["Asilim"] }, { "id": "O-KZ-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "Айша" - ], - "romanized": [ - "Ayşa" - ] + "localized": ["Айша"], + "romanized": ["Ayşa"] }, { "id": "O-KZ-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "Раяна" - ], - "romanized": [ - "Rayana" - ] + "localized": ["Раяна"], + "romanized": ["Rayana"] }, { "id": "O-KZ-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "Аяла" - ], - "romanized": [ - "Ayala" - ] + "localized": ["Аяла"], + "romanized": ["Ayala"] }, { "id": "O-KZ-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "Айзере" - ], - "romanized": [ - "Ayzere" - ] + "localized": ["Айзере"], + "romanized": ["Ayzere"] }, { "id": "O-KZ-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "Амина" - ], - "romanized": [ - "Amina" - ] + "localized": ["Амина"], + "romanized": ["Amina"] }, { "id": "O-KZ-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "Томирис" - ], - "romanized": [ - "Tomyris" - ] + "localized": ["Томирис"], + "romanized": ["Tomyris"] }, { "id": "O-KZ-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "Айым" - ], - "romanized": [ - "Ayim" - ] + "localized": ["Айым"], + "romanized": ["Ayim"] }, { "id": "O-KZ-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "Алихан" - ], - "romanized": [ - "Alikhan" - ] + "localized": ["Алихан"], + "romanized": ["Alikhan"] }, { "id": "O-KZ-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "Айсұлтан" - ], - "romanized": [ - "Aisultan" - ] + "localized": ["Айсұлтан"], + "romanized": ["Aisultan"] }, { "id": "O-KZ-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "Нұрислам" - ], - "romanized": [ - "Nurislam" - ] + "localized": ["Нұрислам"], + "romanized": ["Nurislam"] }, { "id": "O-KZ-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "Алдияр" - ], - "romanized": [ - "Aldiyar" - ] + "localized": ["Алдияр"], + "romanized": ["Aldiyar"] }, { "id": "O-KZ-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "Амир" - ], - "romanized": [ - "Amir" - ] + "localized": ["Амир"], + "romanized": ["Amir"] }, { "id": "O-KZ-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "Алинұр" - ], - "romanized": [ - "Alinur" - ] + "localized": ["Алинұр"], + "romanized": ["Alinur"] }, { "id": "O-KZ-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "Әли" - ], - "romanized": [ - "Ali" - ] + "localized": ["Әли"], + "romanized": ["Ali"] }, { "id": "O-KZ-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "Омар" - ], - "romanized": [ - "Omar" - ] + "localized": ["Омар"], + "romanized": ["Omar"] }, { "id": "O-KZ-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "Рамада́н" - ], - "romanized": [ - "Ramazan" - ] + "localized": ["Рамада́н"], + "romanized": ["Ramazan"] }, { "id": "O-KZ-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "Мұхаммед" - ], - "romanized": [ - "Muhammed" - ] + "localized": ["Мұхаммед"], + "romanized": ["Muhammed"] } ] } @@ -26668,221 +17360,141 @@ "id": "O-TW-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "淑芬" - ], - "romanized": [ - "Shu-fen" - ] + "localized": ["淑芬"], + "romanized": ["Shu-fen"] }, { "id": "O-TW-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "淑惠" - ], - "romanized": [ - "Shu-hui" - ] + "localized": ["淑惠"], + "romanized": ["Shu-hui"] }, { "id": "O-TW-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "美玲" - ], - "romanized": [ - "Mei-ling" - ] + "localized": ["美玲"], + "romanized": ["Mei-ling"] }, { "id": "O-TW-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "雅婷" - ], - "romanized": [ - "Ya-ting" - ] + "localized": ["雅婷"], + "romanized": ["Ya-ting"] }, { "id": "O-TW-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "美惠" - ], - "romanized": [ - "Mei-hui" - ] + "localized": ["美惠"], + "romanized": ["Mei-hui"] }, { "id": "O-TW-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "麗華" - ], - "romanized": [ - "Li-hua" - ] + "localized": ["麗華"], + "romanized": ["Li-hua"] }, { "id": "O-TW-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "淑娟" - ], - "romanized": [ - "Shu-chuan" - ] + "localized": ["淑娟"], + "romanized": ["Shu-chuan"] }, { "id": "O-TW-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "淑貞" - ], - "romanized": [ - "Shu-chen" - ] + "localized": ["淑貞"], + "romanized": ["Shu-chen"] }, { "id": "O-TW-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "怡君" - ], - "romanized": [ - "I-chun" - ] + "localized": ["怡君"], + "romanized": ["I-chun"] }, { "id": "O-TW-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "淑華" - ], - "romanized": [ - "Shu-hua" - ] + "localized": ["淑華"], + "romanized": ["Shu-hua"] }, { "id": "O-TW-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "家豪" - ], - "romanized": [ - "Chia-hao" - ] + "localized": ["家豪"], + "romanized": ["Chia-hao"] }, { "id": "O-TW-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "志明" - ], - "romanized": [ - "Chih-ming" - ] + "localized": ["志明"], + "romanized": ["Chih-ming"] }, { "id": "O-TW-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "俊傑" - ], - "romanized": [ - "Chun-chieh" - ] + "localized": ["俊傑"], + "romanized": ["Chun-chieh"] }, { "id": "O-TW-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "建宏" - ], - "romanized": [ - "Chien-hung" - ] + "localized": ["建宏"], + "romanized": ["Chien-hung"] }, { "id": "O-TW-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "俊宏" - ], - "romanized": [ - "Chun-hung" - ] + "localized": ["俊宏"], + "romanized": ["Chun-hung"] }, { "id": "O-TW-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "志豪" - ], - "romanized": [ - "Chih-hao" - ] + "localized": ["志豪"], + "romanized": ["Chih-hao"] }, { "id": "O-TW-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "志偉" - ], - "romanized": [ - "Chih-wei" - ] + "localized": ["志偉"], + "romanized": ["Chih-wei"] }, { "id": "O-TW-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "文雄" - ], - "romanized": [ - "Wen-Hsiung" - ] + "localized": ["文雄"], + "romanized": ["Wen-Hsiung"] }, { "id": "O-TW-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "金龍" - ], - "romanized": [ - "Chin-lung" - ] + "localized": ["金龍"], + "romanized": ["Chin-lung"] }, { "id": "O-TW-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "志強" - ], - "romanized": [ - "Chih-chiang" - ] + "localized": ["志強"], + "romanized": ["Chih-chiang"] } ] } @@ -26897,270 +17509,162 @@ "id": "M-JP-1-M-1", "rank": 1, "gender": "M", - "localized": [ - "蒼" - ], - "romanized": [ - "Ao", - "Sō", - "Aoi" - ] + "localized": ["蒼"], + "romanized": ["Ao", "Sō", "Aoi"] }, { "id": "M-JP-1-M-2", "rank": 2, "gender": "M", - "localized": [ - "凪" - ], - "romanized": [ - "Nagi", - "Nagisa" - ] + "localized": ["凪"], + "romanized": ["Nagi", "Nagisa"] }, { "id": "M-JP-1-M-3", "rank": 3, "gender": "M", - "localized": [ - "蓮" - ], - "romanized": [ - "Ren" - ] + "localized": ["蓮"], + "romanized": ["Ren"] }, { "id": "M-JP-1-M-4", "rank": 4, "gender": "M", - "localized": [ - "陽翔" - ], - "romanized": [ - "Hinato", - "Haruto" - ] + "localized": ["陽翔"], + "romanized": ["Hinato", "Haruto"] }, { "id": "M-JP-1-M-5", "rank": 5, "gender": "M", - "localized": [ - "湊" - ], - "romanized": [ - "Minato" - ] + "localized": ["湊"], + "romanized": ["Minato"] }, { "id": "M-JP-1-M-6", "rank": 6, "gender": "M", - "localized": [ - "颯真" - ], - "romanized": [ - "Sōma", - "Fūma" - ] + "localized": ["颯真"], + "romanized": ["Sōma", "Fūma"] }, { "id": "M-JP-1-M-7", "rank": 7, "gender": "M", - "localized": [ - "碧" - ], - "romanized": [ - "Ao", - "Aoi" - ] + "localized": ["碧"], + "romanized": ["Ao", "Aoi"] }, { "id": "M-JP-1-M-8", "rank": 8, "gender": "M", - "localized": [ - "樹" - ], - "romanized": [ - "Itsuki", - "Tatsuki" - ] + "localized": ["樹"], + "romanized": ["Itsuki", "Tatsuki"] }, { "id": "M-JP-1-M-9", "rank": 9, "gender": "M", - "localized": [ - "大和" - ], - "romanized": [ - "Yamato" - ] + "localized": ["大和"], + "romanized": ["Yamato"] }, { "id": "M-JP-1-M-10", "rank": 10, "gender": "M", - "localized": [ - "悠真" - ], - "romanized": [ - "Yūma", - "Haruma" - ] + "localized": ["悠真"], + "romanized": ["Yūma", "Haruma"] }, { "id": "M-JP-1-M-11", "rank": 11, "gender": "M", - "localized": [ - "暖" - ], - "romanized": [ - "Haru", - "Dan" - ] + "localized": ["暖"], + "romanized": ["Haru", "Dan"] }, { "id": "M-JP-1-F-1", "rank": 1, "gender": "F", - "localized": [ - "陽葵" - ], - "romanized": [ - "Hinata", - "Hina", - "Himari" - ] + "localized": ["陽葵"], + "romanized": ["Hinata", "Hina", "Himari"] }, { "id": "M-JP-1-F-2", "rank": 2, "gender": "F", - "localized": [ - "凛" - ], - "romanized": [ - "Rin" - ] + "localized": ["凛"], + "romanized": ["Rin"] }, { "id": "M-JP-1-F-3", "rank": 3, "gender": "F", - "localized": [ - "詩" - ], - "romanized": [ - "Uta" - ] + "localized": ["詩"], + "romanized": ["Uta"] }, { "id": "M-JP-1-F-4", "rank": 4, "gender": "F", - "localized": [ - "陽菜" - ], - "romanized": [ - "Hina", - "Haruna" - ] + "localized": ["陽菜"], + "romanized": ["Hina", "Haruna"] }, { "id": "M-JP-1-F-5", "rank": 5, "gender": "F", - "localized": [ - "結菜" - ], - "romanized": [ - "Yuna", - "Yuina", - "Yūna" - ] + "localized": ["結菜"], + "romanized": ["Yuna", "Yuina", "Yūna"] }, { "id": "M-JP-1-F-6", "rank": 6, "gender": "F", - "localized": [ - "杏" - ], - "romanized": [ - "An", - "Anzu" - ] + "localized": ["杏"], + "romanized": ["An", "Anzu"] }, { "id": "M-JP-1-F-7", "rank": 7, "gender": "F", - "localized": [ - "澪" - ], - "romanized": [ - "Mio", - "Rei" - ] + "localized": ["澪"], + "romanized": ["Mio", "Rei"] }, { "id": "M-JP-1-F-8", "rank": 8, "gender": "F", - "localized": [ - "結愛" - ], - "romanized": [ - "Yua" - ] + "localized": ["結愛"], + "romanized": ["Yua"] }, { "id": "M-JP-1-F-9", "rank": 9, "gender": "F", - "localized": [ - "芽依" - ], - "romanized": [ - "Mei" - ] + "localized": ["芽依"], + "romanized": ["Mei"] }, { "id": "M-JP-1-F-10", "rank": 10, "gender": "F", - "localized": [ - "莉子" - ], - "romanized": [ - "Riko" - ] + "localized": ["莉子"], + "romanized": ["Riko"] }, { "id": "M-JP-1-F-11", "rank": 11, "gender": "F", - "localized": [ - "さくら" - ], - "romanized": [ - "Sakura" - ] + "localized": ["さくら"], + "romanized": ["Sakura"] }, { "id": "M-JP-1-F-12", "rank": 12, "gender": "F", - "localized": [ - "咲茉" - ], - "romanized": [ - "Ema" - ] + "localized": ["咲茉"], + "romanized": ["Ema"] } ] } diff --git a/tooling/pipeline/includes/biergarten_pipeline_orchestrator.h b/tooling/pipeline/includes/biergarten_pipeline_orchestrator.h index 89dbc648..ff0f7210 100644 --- a/tooling/pipeline/includes/biergarten_pipeline_orchestrator.h +++ b/tooling/pipeline/includes/biergarten_pipeline_orchestrator.h @@ -24,98 +24,98 @@ * Handles location loading, city enrichment, and brewery/user generation. */ class BiergartenPipelineOrchestrator { - public: - /** - * @brief Constructs the orchestrator with injected pipeline dependencies. - * - * @param logger Sink for pipeline diagnostics. - * @param context_service Provides regional context for locations. - * @param generator Implementation (Llama or Mock) for brewery/user - * generation. - * @param exporter Database backend for persisting generated records. - * @param curated_data_service Loads curated location, persona, and name - * data used to seed generation. - * @param postal_code_service Resolves a postal code for a city from its - * curated postal-code data. - * @param application_options CLI configuration and paths. - */ - BiergartenPipelineOrchestrator( - std::shared_ptr logger, - std::unique_ptr context_service, - std::unique_ptr generator, - std::unique_ptr exporter, - std::unique_ptr curated_data_service, - std::unique_ptr postal_code_service, - const ApplicationOptions& application_options); + public: + /** + * @brief Constructs the orchestrator with injected pipeline dependencies. + * + * @param logger Sink for pipeline diagnostics. + * @param context_service Provides regional context for locations. + * @param generator Implementation (Llama or Mock) for brewery/user + * generation. + * @param exporter Database backend for persisting generated records. + * @param curated_data_service Loads curated location, persona, and name + * data used to seed generation. + * @param postal_code_service Resolves a postal code for a city from its + * curated postal-code data. + * @param application_options CLI configuration and paths. + */ + BiergartenPipelineOrchestrator( + std::shared_ptr logger, + std::unique_ptr context_service, + std::unique_ptr generator, + std::unique_ptr exporter, + std::unique_ptr curated_data_service, + std::unique_ptr postal_code_service, + const ApplicationOptions& application_options); - /** - * @brief Run the data generation pipeline. - * - * Performs the following steps: - * 1. Load curated locations from JSON - * 2. Resolve context for each city using the injected context service - * 3. Generate brewery and user data for sampled cities - * - * @note STRUCTURAL CONCURRENCY REQUIREMENT: - * When transitioned to a multithreaded design, this method MUST - * structurally enforce that all deployed worker threads are joined before - * returning (e.g. by using std::jthread or a structured concurrency - * primitive). This ensures workers do not attempt to log to a closed - * channel during application teardown. - * - * @return true if successful, false if not - */ - bool Run(); + /** + * @brief Run the data generation pipeline. + * + * Performs the following steps: + * 1. Load curated locations from JSON + * 2. Resolve context for each city using the injected context service + * 3. Generate brewery and user data for sampled cities + * + * @note STRUCTURAL CONCURRENCY REQUIREMENT: + * When transitioned to a multithreaded design, this method MUST + * structurally enforce that all deployed worker threads are joined before + * returning (e.g. by using std::jthread or a structured concurrency + * primitive). This ensures workers do not attempt to log to a closed + * channel during application teardown. + * + * @return true if successful, false if not + */ + bool Run(); - private: - std::shared_ptr logger_; - std::unique_ptr context_service_; + private: + std::shared_ptr logger_; + std::unique_ptr context_service_; - /** - * @brief Generator implementation selected at the composition root (Llama - * or Mock). - */ - std::unique_ptr generator_; + /** + * @brief Generator implementation selected at the composition root (Llama + * or Mock). + */ + std::unique_ptr generator_; - /** - * @brief Storage backend for generated brewery and user records. - */ - std::unique_ptr exporter_; - std::unique_ptr curated_data_service_; - std::unique_ptr postal_code_service_; + /** + * @brief Storage backend for generated brewery and user records. + */ + std::unique_ptr exporter_; + std::unique_ptr curated_data_service_; + std::unique_ptr postal_code_service_; - ApplicationOptions application_options_; + ApplicationOptions application_options_; - /** - * @brief Load locations from JSON and sample cities. - * - * @return Vector of locations randomly sampled per - * PipelineOptions::location_count. - */ - std::vector QueryLocations(); + /** + * @brief Load locations from JSON and sample cities. + * + * @return Vector of locations randomly sampled per + * PipelineOptions::location_count. + */ + std::vector QueryLocations(); - /** - * @brief Generate breweries for enriched cities. - * - * @param cities Span of enriched city data. - */ - void GenerateBreweries(std::span cities); + /** + * @brief Generate breweries for enriched cities. + * + * @param cities Span of enriched city data. + */ + void GenerateBreweries(std::span cities); - /** - * @brief Generate users grounded in sampled names and personas for - * enriched cities. - * - * @param cities Span of enriched city data. - */ - void GenerateUsers(std::span cities); + /** + * @brief Generate users grounded in sampled names and personas for + * enriched cities. + * + * @param cities Span of enriched city data. + */ + void GenerateUsers(std::span cities); - /** - * @brief Log the generated brewery and user results. - */ - void LogResults() const; + /** + * @brief Log the generated brewery and user results. + */ + void LogResults() const; - std::vector generated_breweries_; - std::vector generated_users_; + std::vector generated_breweries_; + std::vector generated_users_; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_BIERGARTEN_PIPELINE_ORCHESTRATOR_H_ diff --git a/tooling/pipeline/includes/concurrency/bounded_channel.h b/tooling/pipeline/includes/concurrency/bounded_channel.h index 0c5c2e06..71dda2cf 100644 --- a/tooling/pipeline/includes/concurrency/bounded_channel.h +++ b/tooling/pipeline/includes/concurrency/bounded_channel.h @@ -26,45 +26,45 @@ */ template class BoundedChannel { - // Internal state — all access must be guarded by mutex_. + // Internal state — all access must be guarded by mutex_. - std::queue queue_; + std::queue queue_; - std::mutex mutex_; + std::mutex mutex_; - std::condition_variable not_full_; + std::condition_variable not_full_; - std::condition_variable not_empty_; + std::condition_variable not_empty_; - std::size_t capacity_; + std::size_t capacity_; - bool closed_ = false; + bool closed_ = false; - public: - /** - * @brief Construct a bounded channel with the given capacity. - * @param capacity Maximum number of items the channel may hold. - */ - explicit BoundedChannel(std::size_t capacity) : capacity_(capacity) {} + public: + /** + * @brief Construct a bounded channel with the given capacity. + * @param capacity Maximum number of items the channel may hold. + */ + explicit BoundedChannel(std::size_t capacity) : capacity_(capacity) {} - /** - * @brief Send an item into the channel. Blocks when the channel is full. - * @param item Move-only item to enqueue. - */ - void Send(T item); + /** + * @brief Send an item into the channel. Blocks when the channel is full. + * @param item Move-only item to enqueue. + */ + void Send(T item); - /** - * @brief Receive an item from the channel. Blocks when the channel is - * empty. - * @return std::optional containing the item, or std::nullopt when the - * channel is closed and drained. - */ - std::optional Receive(); + /** + * @brief Receive an item from the channel. Blocks when the channel is + * empty. + * @return std::optional containing the item, or std::nullopt when the + * channel is closed and drained. + */ + std::optional Receive(); - /** - * @brief Close the channel and unblock all waiting threads. Idempotent. - */ - void Close(); + /** + * @brief Close the channel and unblock all waiting threads. Idempotent. + */ + void Close(); }; // Include the template implementation diff --git a/tooling/pipeline/includes/data_generation/data_generator.h b/tooling/pipeline/includes/data_generation/data_generator.h index 1f74713a..c150277e 100644 --- a/tooling/pipeline/includes/data_generation/data_generator.h +++ b/tooling/pipeline/includes/data_generation/data_generator.h @@ -14,28 +14,28 @@ * @brief Interface for data generator implementations. */ class DataGenerator { - public: - virtual ~DataGenerator() = default; + public: + virtual ~DataGenerator() = default; - /** - * @brief Generates brewery data for a location. - * - * @param city Enriched city the brewery is associated with. - * @return Brewery generation result. - */ - virtual BreweryResult GenerateBrewery(const EnrichedCity& city) = 0; + /** + * @brief Generates brewery data for a location. + * + * @param city Enriched city the brewery is associated with. + * @return Brewery generation result. + */ + virtual BreweryResult GenerateBrewery(const EnrichedCity& city) = 0; - /** - * @brief Generates a user profile grounded in a sampled name and persona. - * - * @param city Enriched city the user is associated with. - * @param persona Persona archetype grounding the generated bio. - * @param name Sampled first/last name (and gender) - * @return User generation result. - */ - virtual UserResult GenerateUser(const EnrichedCity& city, - const UserPersona& persona, - const Name& name) = 0; + /** + * @brief Generates a user profile grounded in a sampled name and persona. + * + * @param city Enriched city the user is associated with. + * @param persona Persona archetype grounding the generated bio. + * @param name Sampled first/last name (and gender) + * @return User generation result. + */ + virtual UserResult GenerateUser(const EnrichedCity& city, + const UserPersona& persona, + const Name& name) = 0; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_DATA_GENERATION_DATA_GENERATOR_H_ diff --git a/tooling/pipeline/includes/data_generation/llama_generator.h b/tooling/pipeline/includes/data_generation/llama_generator.h index c0754ddd..0c732976 100644 --- a/tooling/pipeline/includes/data_generation/llama_generator.h +++ b/tooling/pipeline/includes/data_generation/llama_generator.h @@ -26,110 +26,112 @@ struct llama_context; * @brief Data generator implementation backed by llama.cpp. */ class LlamaGenerator final : public DataGenerator { - public: - /** - * @brief Constructs a generator using parsed application options and loads - * the configured model immediately. - * - * @param options Parsed application options. - * @param model_path Filesystem path to GGUF model assets. - * @param prompt_formatter Formatter that produces model-specific prompts. - * @param prompt_directory Directory service for loading named prompt files. - */ - LlamaGenerator(const ApplicationOptions& options, - const std::string& model_path, std::shared_ptr logger, - std::unique_ptr prompt_formatter, - std::unique_ptr prompt_directory); + public: + /** + * @brief Constructs a generator using parsed application options and loads + * the configured model immediately. + * + * @param options Parsed application options. + * @param model_path Filesystem path to GGUF model assets. + * @param prompt_formatter Formatter that produces model-specific prompts. + * @param prompt_directory Directory service for loading named prompt files. + */ + LlamaGenerator(const ApplicationOptions& options, + const std::string& model_path, + std::shared_ptr logger, + std::unique_ptr prompt_formatter, + std::unique_ptr prompt_directory); - ~LlamaGenerator() override; + ~LlamaGenerator() override; - LlamaGenerator(const LlamaGenerator&) = delete; - LlamaGenerator& operator=(const LlamaGenerator&) = delete; - LlamaGenerator(LlamaGenerator&&) = delete; - LlamaGenerator& operator=(LlamaGenerator&&) = delete; + LlamaGenerator(const LlamaGenerator&) = delete; + LlamaGenerator& operator=(const LlamaGenerator&) = delete; + LlamaGenerator(LlamaGenerator&&) = delete; + LlamaGenerator& operator=(LlamaGenerator&&) = delete; - /** - * @brief Generates brewery data for a specific location. - * - * @param location City object. - * @param region_context Additional regional context. - * @return Generated brewery result. - */ - BreweryResult GenerateBrewery(const EnrichedCity&) override; + /** + * @brief Generates brewery data for a specific location. + * + * @param location City object. + * @param region_context Additional regional context. + * @return Generated brewery result. + */ + BreweryResult GenerateBrewery(const EnrichedCity&) override; - /** - * @brief Generates a user profile grounded in a sampled name and persona. - * - * @param city Enriched city the user is associated with. - * @param persona Persona archetype grounding the generated bio. - * @param name Sampled first/last name -- not LLM-invented. - * @return Generated user profile. - */ - UserResult GenerateUser(const EnrichedCity& city, const UserPersona& persona, - const Name& name) override; + /** + * @brief Generates a user profile grounded in a sampled name and persona. + * + * @param city Enriched city the user is associated with. + * @param persona Persona archetype grounding the generated bio. + * @param name Sampled first/last name -- not LLM-invented. + * @return Generated user profile. + */ + UserResult GenerateUser(const EnrichedCity& city, const UserPersona& persona, + const Name& name) override; - private: - static constexpr int32_t kDefaultMaxTokens = 10000; - static constexpr float kDefaultSamplingTopP = 0.95F; - static constexpr uint32_t kDefaultSamplingTopK = 64; - static constexpr uint32_t kDefaultContextSize = 8192; + private: + static constexpr int32_t kDefaultMaxTokens = 10000; + static constexpr float kDefaultSamplingTopP = 0.95F; + static constexpr uint32_t kDefaultSamplingTopK = 64; + static constexpr uint32_t kDefaultContextSize = 8192; - struct ModelDeleter { - void operator()(llama_model* model) const noexcept; - }; - struct ContextDeleter { - void operator()(llama_context* context) const noexcept; - }; + struct ModelDeleter { + void operator()(llama_model* model) const noexcept; + }; + struct ContextDeleter { + void operator()(llama_context* context) const noexcept; + }; - using ModelHandle = std::unique_ptr; - using ContextHandle = std::unique_ptr; + using ModelHandle = std::unique_ptr; + using ContextHandle = std::unique_ptr; - /** - * @brief Loads model and prepares inference context. - * - * @param model_path Filesystem path to GGUF model. - */ - void Load(const std::string& model_path); + /** + * @brief Loads model and prepares inference context. + * + * @param model_path Filesystem path to GGUF model. + */ + void Load(const std::string& model_path); - /** - * @brief Infers text from separate system and user prompts. - * - * This helps chat-capable models preserve system-role behavior instead of - * concatenating system text into user input. - * - * @param system_prompt System role prompt. - * @param prompt User prompt. - * @param max_tokens Maximum tokens to generate. - * @param grammar Optional GBNF grammar constraining generated output. - * @return Generated text. - */ - std::string Infer(const std::string& system_prompt, const std::string& prompt, - int max_tokens = kDefaultMaxTokens, - std::string_view grammar = {}); + /** + * @brief Infers text from separate system and user prompts. + * + * This helps chat-capable models preserve system-role behavior instead of + * concatenating system text into user input. + * + * @param system_prompt System role prompt. + * @param prompt User prompt. + * @param max_tokens Maximum tokens to generate. + * @param grammar Optional GBNF grammar constraining generated output. + * @return Generated text. + */ + std::string Infer(const std::string& system_prompt, + const std::string& prompt, + int max_tokens = kDefaultMaxTokens, + std::string_view grammar = {}); - /** - * @brief Runs inference on an already-formatted prompt. - * - * @param formatted_prompt Prompt preformatted for model chat template. - * @param max_tokens Maximum tokens to generate. - * @param grammar Optional GBNF grammar constraining generated output. - * @return Generated text. - */ - std::string InferFormatted(const std::string& formatted_prompt, - int max_tokens = kDefaultMaxTokens, - std::string_view grammar = {}); + /** + * @brief Runs inference on an already-formatted prompt. + * + * @param formatted_prompt Prompt preformatted for model chat template. + * @param max_tokens Maximum tokens to generate. + * @param grammar Optional GBNF grammar constraining generated output. + * @return Generated text. + */ + std::string InferFormatted(const std::string& formatted_prompt, + int max_tokens = kDefaultMaxTokens, + std::string_view grammar = {}); - ModelHandle model_; - ContextHandle context_; - float sampling_temperature_ = 1.0F; - float sampling_top_p_ = kDefaultSamplingTopP; - uint32_t sampling_top_k_ = kDefaultSamplingTopK; - std::mt19937 rng_; - uint32_t n_ctx_ = kDefaultContextSize; - int n_gpu_layers_ = 0; - std::shared_ptr logger_; - std::unique_ptr prompt_formatter_; - std::unique_ptr prompt_directory_; + ModelHandle model_; + ContextHandle context_; + float sampling_temperature_ = 1.0F; + float sampling_top_p_ = kDefaultSamplingTopP; + uint32_t sampling_top_k_ = kDefaultSamplingTopK; + std::mt19937 rng_; + uint32_t n_ctx_ = kDefaultContextSize; + int n_gpu_layers_ = 0; + std::shared_ptr logger_; + std::unique_ptr prompt_formatter_; + std::unique_ptr prompt_directory_; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_DATA_GENERATION_LLAMA_GENERATOR_H_ diff --git a/tooling/pipeline/includes/data_generation/mock_generator.h b/tooling/pipeline/includes/data_generation/mock_generator.h index 7d090372..3c208c3d 100644 --- a/tooling/pipeline/includes/data_generation/mock_generator.h +++ b/tooling/pipeline/includes/data_generation/mock_generator.h @@ -16,128 +16,129 @@ * @brief Mock generator used for deterministic, model-free outputs. */ class MockGenerator final : public DataGenerator { - public: - /** - * @brief Generates deterministic brewery data for a location. - * - * @param enriched_city - * @return Generated brewery result. - */ + public: + /** + * @brief Generates deterministic brewery data for a location. + * + * @param enriched_city + * @return Generated brewery result. + */ - BreweryResult GenerateBrewery(const EnrichedCity& enriched_city) override; - /** - * @brief Generates deterministic user data grounded in a sampled name and - * persona. + BreweryResult GenerateBrewery(const EnrichedCity& enriched_city) override; + /** + * @brief Generates deterministic user data grounded in a sampled name and + * persona. - * @return Generated user result. - */ - UserResult GenerateUser(const EnrichedCity& city, const UserPersona& persona, - const Name& name) override; + * @return Generated user result. + */ + UserResult GenerateUser(const EnrichedCity& city, const UserPersona& persona, + const Name& name) override; - private: - /** - * @brief Combines two strings into a stable hash value. - * - * @param location City and country names. - * @return Deterministic hash value. - */ - static size_t DeterministicHash(const City& location); + private: + /** + * @brief Combines two strings into a stable hash value. + * + * @param location City and country names. + * @return Deterministic hash value. + */ + static size_t DeterministicHash(const City& location); - /** - * @brief Combines city, persona, and name into a stable hash value. - * - * @param location City and country names. - * @param persona Persona archetype. - * @param name Sampled first/last name. - * @return Deterministic hash value. - */ - static size_t DeterministicHash(const City& location, - const UserPersona& persona, const Name& name); + /** + * @brief Combines city, persona, and name into a stable hash value. + * + * @param location City and country names. + * @param persona Persona archetype. + * @param name Sampled first/last name. + * @return Deterministic hash value. + */ + static size_t DeterministicHash(const City& location, + const UserPersona& persona, + const Name& name); - // Hash stride constants for deterministic distribution across fixed-size - // arrays. These coprime strides spread hash values uniformly without - // clustering, ensuring diverse output across different hash inputs. - static constexpr size_t kNounHashStride = 7; - static constexpr size_t kDescriptionHashStride = 13; - static constexpr size_t kBioHashStride = 11; - static constexpr size_t kActivityWeightHashStride = 17; - static constexpr size_t kActivityWeightHashRange = 1000; + // Hash stride constants for deterministic distribution across fixed-size + // arrays. These coprime strides spread hash values uniformly without + // clustering, ensuring diverse output across different hash inputs. + static constexpr size_t kNounHashStride = 7; + static constexpr size_t kDescriptionHashStride = 13; + static constexpr size_t kBioHashStride = 11; + static constexpr size_t kActivityWeightHashStride = 17; + static constexpr size_t kActivityWeightHashRange = 1000; - static constexpr std::array kBreweryAdjectives = { - "Craft", "Heritage", "Local", "Artisan", "Pioneer", "Golden", - "Modern", "Classic", "Summit", "Northern", "Riverstone", "Barrel", - "Hinterland", "Harbor", "Wild", "Granite", "Copper", "Maple"}; + static constexpr std::array kBreweryAdjectives = { + "Craft", "Heritage", "Local", "Artisan", "Pioneer", "Golden", + "Modern", "Classic", "Summit", "Northern", "Riverstone", "Barrel", + "Hinterland", "Harbor", "Wild", "Granite", "Copper", "Maple"}; - static constexpr std::array kBreweryNouns = { - "Brewing Co.", "Brewery", "Bier Haus", "Taproom", "Works", - "House", "Fermentery", "Ale Co.", "Cellars", "Collective", - "Project", "Foundry", "Malthouse", "Public House", "Co-op", - "Lab", "Beer Hall", "Guild"}; + static constexpr std::array kBreweryNouns = { + "Brewing Co.", "Brewery", "Bier Haus", "Taproom", "Works", + "House", "Fermentery", "Ale Co.", "Cellars", "Collective", + "Project", "Foundry", "Malthouse", "Public House", "Co-op", + "Lab", "Beer Hall", "Guild"}; - static constexpr std::array kBreweryDescriptions = { - "Handcrafted pale ales and seasonal IPAs with local ingredients.", - "Traditional lagers and experimental sours in small batches.", - "Award-winning stouts and wildly hoppy blonde ales.", - "Craft brewery specializing in Belgian-style triples and dark " - "porters.", - "Modern brewery blending tradition with bold experimental flavors.", - "Neighborhood-focused taproom pouring crisp pilsners and citrusy " - "pale " - "ales.", - "Small-batch brewery known for barrel-aged releases and smoky " - "lagers.", - "Independent brewhouse pairing farmhouse ales with rotating food " - "pop-ups.", - "Community brewpub making balanced bitters, saisons, and hazy IPAs.", - "Experimental nanobrewery exploring local yeast and regional " - "grains.", - "Family-run brewery producing smooth amber ales and robust porters.", - "Urban brewery crafting clean lagers and bright, fruit-forward " - "sours.", - "Riverfront brewhouse featuring oak-matured ales and seasonal " - "blends.", - "Modern taproom focused on sessionable lagers and classic pub " - "styles.", - "Brewery rooted in tradition with a lineup of malty reds and crisp " - "lagers.", - "Creative brewery offering rotating collaborations and limited " - "draft-only " - "pours.", - "Locally inspired brewery serving approachable ales with bold hop " - "character.", - "Destination taproom known for balanced IPAs and cocoa-rich " - "stouts."}; + static constexpr std::array kBreweryDescriptions = { + "Handcrafted pale ales and seasonal IPAs with local ingredients.", + "Traditional lagers and experimental sours in small batches.", + "Award-winning stouts and wildly hoppy blonde ales.", + "Craft brewery specializing in Belgian-style triples and dark " + "porters.", + "Modern brewery blending tradition with bold experimental flavors.", + "Neighborhood-focused taproom pouring crisp pilsners and citrusy " + "pale " + "ales.", + "Small-batch brewery known for barrel-aged releases and smoky " + "lagers.", + "Independent brewhouse pairing farmhouse ales with rotating food " + "pop-ups.", + "Community brewpub making balanced bitters, saisons, and hazy IPAs.", + "Experimental nanobrewery exploring local yeast and regional " + "grains.", + "Family-run brewery producing smooth amber ales and robust porters.", + "Urban brewery crafting clean lagers and bright, fruit-forward " + "sours.", + "Riverfront brewhouse featuring oak-matured ales and seasonal " + "blends.", + "Modern taproom focused on sessionable lagers and classic pub " + "styles.", + "Brewery rooted in tradition with a lineup of malty reds and crisp " + "lagers.", + "Creative brewery offering rotating collaborations and limited " + "draft-only " + "pours.", + "Locally inspired brewery serving approachable ales with bold hop " + "character.", + "Destination taproom known for balanced IPAs and cocoa-rich " + "stouts."}; - static constexpr std::array kUsernames = { - "hopseeker", "malttrail", "yeastwhisper", "lagerlane", - "barrelbound", "foamfinder", "taphunter", "graingeist", - "brewscout", "aleatlas", "caskcompass", "hopsandmaps", - "mashpilot", "pintnomad", "fermentfriend", "stoutsignal", - "sessionwander", "kettlekeeper"}; + static constexpr std::array kUsernames = { + "hopseeker", "malttrail", "yeastwhisper", "lagerlane", + "barrelbound", "foamfinder", "taphunter", "graingeist", + "brewscout", "aleatlas", "caskcompass", "hopsandmaps", + "mashpilot", "pintnomad", "fermentfriend", "stoutsignal", + "sessionwander", "kettlekeeper"}; - static constexpr std::array kBios = { - "Always chasing balanced IPAs and crisp lagers across local taprooms.", - "Weekend brewery explorer with a soft spot for dark, roasty stouts.", - "Documenting tiny brewpubs, fresh pours, and unforgettable beer " - "gardens.", - "Fan of farmhouse ales, food pairings, and long tasting flights.", - "Collecting favorite pilsners one city at a time.", - "Hops-first drinker who still saves room for classic malt-forward " - "styles.", - "Finding hidden tap lists and sharing the best seasonal releases.", - "Brewery road-tripper focused on local ingredients and clean " - "fermentation.", - "Always comparing house lagers and ranking patio pint vibes.", - "Curious about yeast strains, barrel programs, and cellar experiments.", - "Believes every neighborhood deserves a great community taproom.", - "Looking for session beers that taste great from first sip to last.", - "Belgian ale enthusiast who never skips a new saison.", - "Hazy IPA critic with deep respect for a perfectly clear pilsner.", - "Visits breweries for the stories, stays for the flagship pours.", - "Craft beer fan mapping tasting notes and favorite brew routes.", - "Always ready to trade recommendations for underrated local breweries.", - "Keeping a running list of must-try collab releases and tap " - "takeovers."}; + static constexpr std::array kBios = { + "Always chasing balanced IPAs and crisp lagers across local taprooms.", + "Weekend brewery explorer with a soft spot for dark, roasty stouts.", + "Documenting tiny brewpubs, fresh pours, and unforgettable beer " + "gardens.", + "Fan of farmhouse ales, food pairings, and long tasting flights.", + "Collecting favorite pilsners one city at a time.", + "Hops-first drinker who still saves room for classic malt-forward " + "styles.", + "Finding hidden tap lists and sharing the best seasonal releases.", + "Brewery road-tripper focused on local ingredients and clean " + "fermentation.", + "Always comparing house lagers and ranking patio pint vibes.", + "Curious about yeast strains, barrel programs, and cellar experiments.", + "Believes every neighborhood deserves a great community taproom.", + "Looking for session beers that taste great from first sip to last.", + "Belgian ale enthusiast who never skips a new saison.", + "Hazy IPA critic with deep respect for a perfectly clear pilsner.", + "Visits breweries for the stories, stays for the flagship pours.", + "Craft beer fan mapping tasting notes and favorite brew routes.", + "Always ready to trade recommendations for underrated local breweries.", + "Keeping a running list of must-try collab releases and tap " + "takeovers."}; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_DATA_GENERATION_MOCK_GENERATOR_H_ diff --git a/tooling/pipeline/includes/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.h b/tooling/pipeline/includes/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.h index c96180b0..5ae4f681 100644 --- a/tooling/pipeline/includes/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.h +++ b/tooling/pipeline/includes/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.h @@ -7,12 +7,13 @@ #include "data_generation/prompt_formatting/prompt_formatter.h" class Gemma4JinjaPromptFormatter final : public IPromptFormatter { - public: - Gemma4JinjaPromptFormatter() = default; - ~Gemma4JinjaPromptFormatter() override = default; + public: + Gemma4JinjaPromptFormatter() = default; + ~Gemma4JinjaPromptFormatter() override = default; - [[nodiscard]] std::string Format(std::string_view system_prompt, - std::string_view user_prompt) const override; + [[nodiscard]] std::string Format( + std::string_view system_prompt, + std::string_view user_prompt) const override; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_DATA_GENERATION_PROMPT_FORMATTING_GEMMA4_JINJA_PROMPT_FORMATTER_H_ diff --git a/tooling/pipeline/includes/data_generation/prompt_formatting/prompt_formatter.h b/tooling/pipeline/includes/data_generation/prompt_formatting/prompt_formatter.h index ffcfad12..c8f6fbae 100644 --- a/tooling/pipeline/includes/data_generation/prompt_formatting/prompt_formatter.h +++ b/tooling/pipeline/includes/data_generation/prompt_formatting/prompt_formatter.h @@ -5,16 +5,16 @@ #include class IPromptFormatter { - public: - IPromptFormatter() = default; - IPromptFormatter(const IPromptFormatter&) = delete; - IPromptFormatter& operator=(const IPromptFormatter&) = delete; - IPromptFormatter(IPromptFormatter&&) = delete; - IPromptFormatter& operator=(IPromptFormatter&&) = delete; - virtual ~IPromptFormatter() = default; + public: + IPromptFormatter() = default; + IPromptFormatter(const IPromptFormatter&) = delete; + IPromptFormatter& operator=(const IPromptFormatter&) = delete; + IPromptFormatter(IPromptFormatter&&) = delete; + IPromptFormatter& operator=(IPromptFormatter&&) = delete; + virtual ~IPromptFormatter() = default; - [[nodiscard]] virtual std::string Format( - std::string_view system_prompt, std::string_view user_prompt) const = 0; + [[nodiscard]] virtual std::string Format( + std::string_view system_prompt, std::string_view user_prompt) const = 0; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_DATA_GENERATION_PROMPT_FORMATTING_PROMPT_FORMATTER_H_ diff --git a/tooling/pipeline/includes/data_model/generated_models.h b/tooling/pipeline/includes/data_model/generated_models.h index e47def6e..c2e62377 100644 --- a/tooling/pipeline/includes/data_model/generated_models.h +++ b/tooling/pipeline/includes/data_model/generated_models.h @@ -17,64 +17,64 @@ * @brief Generated brewery payload. */ struct BreweryResult { - /** - * @brief Brewery display name in English. - */ - std::string name_en; + /** + * @brief Brewery display name in English. + */ + std::string name_en; - /** - * @brief Brewery description text in English. - */ - std::string description_en; + /** + * @brief Brewery description text in English. + */ + std::string description_en; - /** - * @brief Brewery display name in the local language. - */ - std::string name_local; + /** + * @brief Brewery display name in the local language. + */ + std::string name_local; - /** - * @brief Brewery description text in the local language. - */ - std::string description_local; + /** + * @brief Brewery description text in the local language. + */ + std::string description_local; }; /** * @brief Generated user profile payload. */ struct UserResult { - /** - * @brief First (given) name, copied from the sampled Name -- not - * LLM-invented. - */ - std::string first_name{}; + /** + * @brief First (given) name, copied from the sampled Name -- not + * LLM-invented. + */ + std::string first_name{}; - /** - * @brief Last (family) name, copied from the sampled Name -- not - * LLM-invented. - */ - std::string last_name{}; + /** + * @brief Last (family) name, copied from the sampled Name -- not + * LLM-invented. + */ + std::string last_name{}; - /** - * @brief Gender associated with the sampled first name, copied from the - * sampled Name -- not LLM-invented. - */ - std::string gender{}; + /** + * @brief Gender associated with the sampled first name, copied from the + * sampled Name -- not LLM-invented. + */ + std::string gender{}; - /** - * @brief Username handle. - */ - std::string username{}; + /** + * @brief Username handle. + */ + std::string username{}; - /** - * @brief Short user biography. - */ - std::string bio{}; + /** + * @brief Short user biography. + */ + std::string bio{}; - /** - * @brief Relative check-in/activity weight for this user, used to drive - * a J-curve activity profile in later pipeline phases. - */ - float activity_weight{}; + /** + * @brief Relative check-in/activity weight for this user, used to drive + * a J-curve activity profile in later pipeline phases. + */ + float activity_weight{}; }; // Pipeline Data Models @@ -83,8 +83,8 @@ struct UserResult { * @brief Enriched city data with Wikipedia context. */ struct EnrichedCity { - City location; - std::string region_context{}; + City location; + std::string region_context{}; }; /** @@ -92,8 +92,8 @@ struct EnrichedCity { * from that city's curated postal-code examples. */ struct BreweryAddress { - City city; - std::string postal_code{}; + City city; + std::string postal_code{}; }; /** @@ -101,16 +101,16 @@ struct BreweryAddress { * postal code selected from that city's curated postal-code examples. */ struct UserAddress { - City city; - std::string postal_code{}; + City city; + std::string postal_code{}; }; /** * @brief Helper struct to store generated brewery data. */ struct BreweryRecord { - BreweryAddress address; - BreweryResult brewery; + BreweryAddress address; + BreweryResult brewery; }; /** @@ -121,10 +121,10 @@ struct BreweryRecord { * consumer can register real accounts from the pipeline's SQLite export. */ struct UserRecord { - UserAddress address; - UserResult user; - std::string email{}; - std::string date_of_birth{}; + UserAddress address; + UserResult user; + std::string email{}; + std::string date_of_birth{}; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_DATA_MODEL_GENERATED_MODELS_H_ diff --git a/tooling/pipeline/includes/data_model/models.h b/tooling/pipeline/includes/data_model/models.h index 25e7b976..3705e134 100644 --- a/tooling/pipeline/includes/data_model/models.h +++ b/tooling/pipeline/includes/data_model/models.h @@ -28,54 +28,54 @@ namespace prog_opts = boost::program_options; * `postal_code` object in the locations dataset. */ struct PostalCodeSpec { - /** - * @brief Permissive country-wide postal-code format regex, used as the - * validation fallback for a selected example. - */ - std::string country_format_regex{}; + /** + * @brief Permissive country-wide postal-code format regex, used as the + * validation fallback for a selected example. + */ + std::string country_format_regex{}; - /** - * @brief City-specific postal-code regexes (more precise than the country - * format). - */ - std::vector city_regexes{}; + /** + * @brief City-specific postal-code regexes (more precise than the country + * format). + */ + std::vector city_regexes{}; - /** - * @brief Concrete example postal codes for this city. The postal code - * service selects from these rather than synthesizing codes. - */ - std::vector examples{}; + /** + * @brief Concrete example postal codes for this city. The postal code + * service selects from these rather than synthesizing codes. + */ + std::vector examples{}; }; /** * @brief Canonical city record for city-level generation. */ struct City { - std::string city{}; - std::string state_province{}; + std::string city{}; + std::string state_province{}; - /** - * @brief ISO 3166-2 subdivision code. - */ - std::string iso3166_2{}; + /** + * @brief ISO 3166-2 subdivision code. + */ + std::string iso3166_2{}; - std::string country{}; + std::string country{}; - /** - * @brief ISO 3166-1 country code. - */ - std::string iso3166_1{}; + /** + * @brief ISO 3166-1 country code. + */ + std::string iso3166_1{}; - /** - * @brief Local language codes in priority order. - */ - std::vector local_languages{}; + /** + * @brief Local language codes in priority order. + */ + std::vector local_languages{}; - /** - * @brief Postal-code metadata (format regex, city regexes, and concrete - * examples) sourced directly from the curated locations dataset. - */ - PostalCodeSpec postal_code{}; + /** + * @brief Postal-code metadata (format regex, city regexes, and concrete + * examples) sourced directly from the curated locations dataset. + */ + PostalCodeSpec postal_code{}; }; // Name / Persona Models @@ -86,44 +86,44 @@ struct City { * Produced by the SampleName() helper in generate_users.cc. */ struct Name { - std::string first_name{}; - std::string last_name{}; + std::string first_name{}; + std::string last_name{}; - /** - * @brief Gender associated with the sampled forename (e.g. "M", "F"), as - * reported by the source dataset. - */ - std::string gender{}; + /** + * @brief Gender associated with the sampled forename (e.g. "M", "F"), as + * reported by the source dataset. + */ + std::string gender{}; }; /** * @brief A single forename entry from the names-by-country fixture data. */ struct ForenameEntry { - /** - * @brief Romanized forename. - */ - std::string name{}; + /** + * @brief Romanized forename. + */ + std::string name{}; - /** - * @brief Gender associated with this forename, as reported by the source - * dataset (e.g. "M", "F"). - */ - std::string gender{}; + /** + * @brief Gender associated with this forename, as reported by the source + * dataset (e.g. "M", "F"). + */ + std::string gender{}; - bool operator==(const ForenameEntry& other) const { - return name == other.name && gender == other.gender; - } + bool operator==(const ForenameEntry& other) const { + return name == other.name && gender == other.gender; + } }; namespace std { template <> struct hash { - size_t operator()(const ForenameEntry& entry) const noexcept { - const size_t name_hash = std::hash{}(entry.name); - const size_t gender_hash = std::hash{}(entry.gender); - return name_hash ^ (gender_hash << 1); - } + size_t operator()(const ForenameEntry& entry) const noexcept { + const size_t name_hash = std::hash{}(entry.name); + const size_t gender_hash = std::hash{}(entry.gender); + return name_hash ^ (gender_hash << 1); + } }; } // namespace std @@ -131,20 +131,20 @@ struct hash { * @brief A persona archetype used to ground LLM-generated user bios. */ struct UserPersona { - /** - * @brief Persona display name (e.g. "Hophead Explorer"). - */ - std::string name{}; + /** + * @brief Persona display name (e.g. "Hophead Explorer"). + */ + std::string name{}; - /** - * @brief Short description of the persona's interests and voice. - */ - std::string description{}; + /** + * @brief Short description of the persona's interests and voice. + */ + std::string description{}; - /** - * @brief Beer styles this persona gravitates toward. - */ - std::vector style_affinities{}; + /** + * @brief Beer styles this persona gravitates toward. + */ + std::vector style_affinities{}; }; // Configuration Models @@ -153,88 +153,88 @@ struct UserPersona { * @brief LLM sampling parameters. */ struct SamplingOptions { - /** - * @brief LLM sampling temperature (higher = more random). - */ - float temperature = 1.0F; + /** + * @brief LLM sampling temperature (higher = more random). + */ + float temperature = 1.0F; - /** - * @brief LLM nucleus sampling top-p parameter. - */ - float top_p = 0.95F; + /** + * @brief LLM nucleus sampling top-p parameter. + */ + float top_p = 0.95F; - /** - * @brief LLM top-k sampling parameter. - */ - uint32_t top_k = 64; + /** + * @brief LLM top-k sampling parameter. + */ + uint32_t top_k = 64; - /** - * @brief Context window size (tokens). - */ - uint32_t n_ctx = 8192; + /** + * @brief Context window size (tokens). + */ + uint32_t n_ctx = 8192; - /** - * @brief Random seed (-1 for random, otherwise non-negative). - */ - int seed = -1; + /** + * @brief Random seed (-1 for random, otherwise non-negative). + */ + int seed = -1; - /** - * @brief Number of layers to offload to GPU. - */ - int n_gpu_layers = 0; + /** + * @brief Number of layers to offload to GPU. + */ + int n_gpu_layers = 0; }; /** * @brief Configuration for the LLM generator component. */ struct GeneratorOptions { - /** - * @brief Path to the LLM model file (gguf format). - */ - std::filesystem::path model_path; + /** + * @brief Path to the LLM model file (gguf format). + */ + std::filesystem::path model_path; - /** - * @brief Use mocked generator instead of actual LLM inference. - */ - bool use_mocked = false; + /** + * @brief Use mocked generator instead of actual LLM inference. + */ + bool use_mocked = false; - /** - * @brief Specific sampling parameters for this generator. - * If nullopt, the application should use global defaults. - */ - std::optional sampling; + /** + * @brief Specific sampling parameters for this generator. + * If nullopt, the application should use global defaults. + */ + std::optional sampling; }; /** * @brief Configuration for the pipeline execution and output. */ struct PipelineOptions { - /** - * @brief Directory for generated artifacts. - */ - std::filesystem::path output_path; + /** + * @brief Directory for generated artifacts. + */ + std::filesystem::path output_path; - /** - * @brief Directory that contains named prompt files (e.g. - * BREWERY_GENERATION.md). - */ - std::filesystem::path prompt_dir; + /** + * @brief Directory that contains named prompt files (e.g. + * BREWERY_GENERATION.md). + */ + std::filesystem::path prompt_dir; - std::filesystem::path log_path; + std::filesystem::path log_path; - /** - * @brief Number of locations to sample from the dataset - * More locations -> more users/more breweries - */ - uint32_t location_count; + /** + * @brief Number of locations to sample from the dataset + * More locations -> more users/more breweries + */ + uint32_t location_count; }; /** * @brief Root configuration object for the Biergarten pipeline. */ struct ApplicationOptions { - GeneratorOptions generator; - PipelineOptions pipeline; + GeneratorOptions generator; + PipelineOptions pipeline; }; // Function Declarations diff --git a/tooling/pipeline/includes/json_handling/pretty_print.h b/tooling/pipeline/includes/json_handling/pretty_print.h index 3d148c31..c3a4368f 100644 --- a/tooling/pipeline/includes/json_handling/pretty_print.h +++ b/tooling/pipeline/includes/json_handling/pretty_print.h @@ -27,83 +27,84 @@ inline void PrettyPrint(std::ostream& outstream, boost::json::value const& json_val, std::string* indent = nullptr) { - std::string str; - if (indent == nullptr) { - indent = &str; - } - switch (json_val.kind()) { - case boost::json::kind::object: { - outstream << "{\n"; - indent->append(4, ' '); - auto const& obj = json_val.get_object(); - if (!obj.empty()) { - const auto* iter = obj.begin(); - for (;;) { - outstream << *indent << boost::json::serialize(iter->key()) << " : "; - PrettyPrint(outstream, iter->value(), indent); - iter = std::next(iter); - if (iter == obj.end()) { - break; - } + std::string str; + if (indent == nullptr) { + indent = &str; + } + switch (json_val.kind()) { + case boost::json::kind::object: { + outstream << "{\n"; + indent->append(4, ' '); + auto const& obj = json_val.get_object(); + if (!obj.empty()) { + const auto* iter = obj.begin(); + for (;;) { + outstream << *indent << boost::json::serialize(iter->key()) + << " : "; + PrettyPrint(outstream, iter->value(), indent); + iter = std::next(iter); + if (iter == obj.end()) { + break; + } - outstream << ",\n"; - } + outstream << ",\n"; + } + } + outstream << "\n"; + indent->resize(indent->size() - 4); + outstream << *indent << "}"; + break; } + + case boost::json::kind::array: { + outstream << "[\n"; + indent->append(4, ' '); + auto const& arr = json_val.get_array(); + if (!arr.empty()) { + const auto* iter = arr.begin(); + for (;;) { + outstream << *indent; + PrettyPrint(outstream, *iter, indent); + iter = std::next(iter); + if (iter == arr.end()) { + break; + } + outstream << ",\n"; + } + } + outstream << "\n"; + indent->resize(indent->size() - 4); + outstream << *indent << "]"; + break; + } + + case boost::json::kind::string: { + outstream << serialize(json_val.get_string()); + break; + } + + case boost::json::kind::uint64: + case boost::json::kind::int64: + case boost::json::kind::double_: + outstream << json_val; + break; + + case boost::json::kind::bool_: + if (json_val.get_bool()) { + outstream << "true"; + } else { + outstream << "false"; + } + break; + + case boost::json::kind::null: + outstream << "null"; + break; + } + + if (indent->empty()) { outstream << "\n"; - indent->resize(indent->size() - 4); - outstream << *indent << "}"; - break; - } - - case boost::json::kind::array: { - outstream << "[\n"; - indent->append(4, ' '); - auto const& arr = json_val.get_array(); - if (!arr.empty()) { - const auto* iter = arr.begin(); - for (;;) { - outstream << *indent; - PrettyPrint(outstream, *iter, indent); - iter = std::next(iter); - if (iter == arr.end()) { - break; - } - outstream << ",\n"; - } - } - outstream << "\n"; - indent->resize(indent->size() - 4); - outstream << *indent << "]"; - break; - } - - case boost::json::kind::string: { - outstream << serialize(json_val.get_string()); - break; - } - - case boost::json::kind::uint64: - case boost::json::kind::int64: - case boost::json::kind::double_: - outstream << json_val; - break; - - case boost::json::kind::bool_: - if (json_val.get_bool()) { - outstream << "true"; - } else { - outstream << "false"; - } - break; - - case boost::json::kind::null: - outstream << "null"; - break; - } - - if (indent->empty()) { - outstream << "\n"; - } + } } #endif // BIERGARTEN_PIPELINE_INCLUDES_JSON_HANDLING_PRETTY_PRINT_H_ diff --git a/tooling/pipeline/includes/llama_backend_state.h b/tooling/pipeline/includes/llama_backend_state.h index d50fa80a..d52b2f00 100644 --- a/tooling/pipeline/includes/llama_backend_state.h +++ b/tooling/pipeline/includes/llama_backend_state.h @@ -15,12 +15,12 @@ * it alive for application lifetime. */ class LlamaBackendState { - public: - LlamaBackendState() { llama_backend_init(); } - ~LlamaBackendState() { llama_backend_free(); } + public: + LlamaBackendState() { llama_backend_init(); } + ~LlamaBackendState() { llama_backend_free(); } - LlamaBackendState(const LlamaBackendState&) = delete; - LlamaBackendState& operator=(const LlamaBackendState&) = delete; + LlamaBackendState(const LlamaBackendState&) = delete; + LlamaBackendState& operator=(const LlamaBackendState&) = delete; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_LLAMA_BACKEND_STATE_H_ diff --git a/tooling/pipeline/includes/services/curated_data/curated_data_service.h b/tooling/pipeline/includes/services/curated_data/curated_data_service.h index aaadbbd9..50799b32 100644 --- a/tooling/pipeline/includes/services/curated_data/curated_data_service.h +++ b/tooling/pipeline/includes/services/curated_data/curated_data_service.h @@ -25,26 +25,26 @@ using SurnamesByCountryMap = std::unordered_map; * brewery/user generation. */ class ICuratedDataService { - public: - ICuratedDataService() = default; - virtual ~ICuratedDataService() = default; + public: + ICuratedDataService() = default; + virtual ~ICuratedDataService() = default; - ICuratedDataService(const ICuratedDataService&) = delete; - ICuratedDataService& operator=(const ICuratedDataService&) = delete; - ICuratedDataService(ICuratedDataService&&) = delete; - ICuratedDataService& operator=(ICuratedDataService&&) = delete; + ICuratedDataService(const ICuratedDataService&) = delete; + ICuratedDataService& operator=(const ICuratedDataService&) = delete; + ICuratedDataService(ICuratedDataService&&) = delete; + ICuratedDataService& operator=(ICuratedDataService&&) = delete; - /** - * @brief Loads all curated location records. - */ - virtual const LocationsList& LoadLocations() = 0; + /** + * @brief Loads all curated location records. + */ + virtual const LocationsList& LoadLocations() = 0; - /** - * @brief Loads all curated persona records. - */ - virtual const PersonasList& LoadPersonas() = 0; - virtual const ForenamesByCountryMap& LoadForenamesByCountry() = 0; - virtual const SurnamesByCountryMap& LoadSurnamesByCountry() = 0; + /** + * @brief Loads all curated persona records. + */ + virtual const PersonasList& LoadPersonas() = 0; + virtual const ForenamesByCountryMap& LoadForenamesByCountry() = 0; + virtual const SurnamesByCountryMap& LoadSurnamesByCountry() = 0; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_CURATED_DATA_CURATED_DATA_SERVICE_H_ diff --git a/tooling/pipeline/includes/services/curated_data/curated_json_data_service.h b/tooling/pipeline/includes/services/curated_data/curated_json_data_service.h index 687b881a..69fe4099 100644 --- a/tooling/pipeline/includes/services/curated_data/curated_json_data_service.h +++ b/tooling/pipeline/includes/services/curated_data/curated_json_data_service.h @@ -16,48 +16,48 @@ * CuratedJsonDataService. */ struct CuratedDataFilePaths { - std::filesystem::path locations_path; - std::filesystem::path personas_path; - std::filesystem::path forenames_path; - std::filesystem::path surnames_path; + std::filesystem::path locations_path; + std::filesystem::path personas_path; + std::filesystem::path forenames_path; + std::filesystem::path surnames_path; }; /** * @brief Loads curated location, persona, and name data from JSON files. */ class CuratedJsonDataService final : public ICuratedDataService { - struct cache { - LocationsList locations; - PersonasList personas; - ForenamesByCountryMap forenames_by_country; - SurnamesByCountryMap surnames_by_country; + struct cache { + LocationsList locations; + PersonasList personas; + ForenamesByCountryMap forenames_by_country; + SurnamesByCountryMap surnames_by_country; - cache() = default; - ~cache() = default; - }; + cache() = default; + ~cache() = default; + }; - CuratedDataFilePaths filepaths_; - cache cache_; + CuratedDataFilePaths filepaths_; + cache cache_; - public: - explicit CuratedJsonDataService(CuratedDataFilePaths filepaths); + public: + explicit CuratedJsonDataService(CuratedDataFilePaths filepaths); - /** - * @brief Parses a JSON array file and returns all location records. - */ - const LocationsList& LoadLocations() override; + /** + * @brief Parses a JSON array file and returns all location records. + */ + const LocationsList& LoadLocations() override; - /** - * @brief Parses a JSON array file and returns all persona records. - */ - const PersonasList& LoadPersonas() override; + /** + * @brief Parses a JSON array file and returns all persona records. + */ + const PersonasList& LoadPersonas() override; - const ForenamesByCountryMap& LoadForenamesByCountry() override; + const ForenamesByCountryMap& LoadForenamesByCountry() override; - /** - * @brief Parses a JSON file and returns all the forenames per country. - */ - const SurnamesByCountryMap& LoadSurnamesByCountry() override; + /** + * @brief Parses a JSON file and returns all the forenames per country. + */ + const SurnamesByCountryMap& LoadSurnamesByCountry() override; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_JSON_HANDLING_JSON_LOADER_H_ diff --git a/tooling/pipeline/includes/services/curated_data/mock_curated_data_service.h b/tooling/pipeline/includes/services/curated_data/mock_curated_data_service.h index 53aa5ef9..bf1c1be5 100644 --- a/tooling/pipeline/includes/services/curated_data/mock_curated_data_service.h +++ b/tooling/pipeline/includes/services/curated_data/mock_curated_data_service.h @@ -17,22 +17,22 @@ * place of the JSON fixture files used by JsonLoader. */ class MockCuratedDataService final : public ICuratedDataService { - public: - MockCuratedDataService(); + public: + MockCuratedDataService(); - const LocationsList& LoadLocations() override; + const LocationsList& LoadLocations() override; - const PersonasList& LoadPersonas() override; + const PersonasList& LoadPersonas() override; - const ForenamesByCountryMap& LoadForenamesByCountry() override; + const ForenamesByCountryMap& LoadForenamesByCountry() override; - const SurnamesByCountryMap& LoadSurnamesByCountry() override; + const SurnamesByCountryMap& LoadSurnamesByCountry() override; - private: - LocationsList locations_; - PersonasList personas_; - ForenamesByCountryMap forenames_by_country_; - SurnamesByCountryMap surnames_by_country_; + private: + LocationsList locations_; + PersonasList personas_; + ForenamesByCountryMap forenames_by_country_; + SurnamesByCountryMap surnames_by_country_; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_CURATED_DATA_MOCK_CURATED_DATA_SERVICE_H_ diff --git a/tooling/pipeline/includes/services/database/export_service.h b/tooling/pipeline/includes/services/database/export_service.h index 9f4d85c2..dfa9bb9b 100644 --- a/tooling/pipeline/includes/services/database/export_service.h +++ b/tooling/pipeline/includes/services/database/export_service.h @@ -14,38 +14,38 @@ * @brief Interface for services that persist generated brewery records. */ class IExportService { - public: - IExportService() = default; - virtual ~IExportService() = default; + public: + IExportService() = default; + virtual ~IExportService() = default; - IExportService(const IExportService&) = delete; - IExportService& operator=(const IExportService&) = delete; - IExportService(IExportService&&) = delete; - IExportService& operator=(IExportService&&) = delete; + IExportService(const IExportService&) = delete; + IExportService& operator=(const IExportService&) = delete; + IExportService(IExportService&&) = delete; + IExportService& operator=(IExportService&&) = delete; - /** - * @brief Prepares the export destination for a new run. - */ - virtual void Initialize() = 0; + /** + * @brief Prepares the export destination for a new run. + */ + virtual void Initialize() = 0; - /** - * @brief Persists one generated brewery record. - * - * @param brewery Generated brewery payload to store. - */ - virtual uint64_t ProcessRecord(const BreweryRecord& brewery) = 0; + /** + * @brief Persists one generated brewery record. + * + * @param brewery Generated brewery payload to store. + */ + virtual uint64_t ProcessRecord(const BreweryRecord& brewery) = 0; - /** - * @brief Persists one generated user record. - * - * @param user Generated user payload to store. - */ - virtual uint64_t ProcessRecord(const UserRecord& user) = 0; + /** + * @brief Persists one generated user record. + * + * @param user Generated user payload to store. + */ + virtual uint64_t ProcessRecord(const UserRecord& user) = 0; - /** - * @brief Finalizes the export destination. - */ - virtual void Finalize() = 0; + /** + * @brief Finalizes the export destination. + */ + virtual void Finalize() = 0; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_DATABASE_EXPORT_SERVICE_H_ diff --git a/tooling/pipeline/includes/services/database/sqlite_export_service.h b/tooling/pipeline/includes/services/database/sqlite_export_service.h index 258e0213..2eecc73b 100644 --- a/tooling/pipeline/includes/services/database/sqlite_export_service.h +++ b/tooling/pipeline/includes/services/database/sqlite_export_service.h @@ -20,54 +20,54 @@ * @brief Persists generated brewery records into a fresh SQLite database. */ class SqliteExportService final : public IExportService { - public: - explicit SqliteExportService(const ApplicationOptions& options); - ~SqliteExportService() override; + public: + explicit SqliteExportService(const ApplicationOptions& options); + ~SqliteExportService() override; - SqliteExportService(const SqliteExportService&) = delete; - SqliteExportService& operator=(const SqliteExportService&) = delete; - SqliteExportService(SqliteExportService&&) = delete; - SqliteExportService& operator=(SqliteExportService&&) = delete; + SqliteExportService(const SqliteExportService&) = delete; + SqliteExportService& operator=(const SqliteExportService&) = delete; + SqliteExportService(SqliteExportService&&) = delete; + SqliteExportService& operator=(SqliteExportService&&) = delete; - void Initialize() override; - uint64_t ProcessRecord(const BreweryRecord& brewery) override; - uint64_t ProcessRecord(const UserRecord& user) override; - void Finalize() override; + void Initialize() override; + uint64_t ProcessRecord(const BreweryRecord& brewery) override; + uint64_t ProcessRecord(const UserRecord& user) override; + void Finalize() override; - private: - using SqliteDatabaseHandle = - sqlite_export_service_internal::SqliteDatabaseHandle; - using SqliteStatementHandle = - sqlite_export_service_internal::SqliteStatementHandle; + private: + using SqliteDatabaseHandle = + sqlite_export_service_internal::SqliteDatabaseHandle; + using SqliteStatementHandle = + sqlite_export_service_internal::SqliteStatementHandle; - void InitializeSchema() const; - void PrepareStatements(); - void RollbackAndCloseNoThrow() noexcept; + void InitializeSchema() const; + void PrepareStatements(); + void RollbackAndCloseNoThrow() noexcept; - [[nodiscard]] std::filesystem::path BuildDatabasePath() const; - [[nodiscard]] static std::string BuildCityKey(const City& city); + [[nodiscard]] std::filesystem::path BuildDatabasePath() const; + [[nodiscard]] static std::string BuildCityKey(const City& city); - /** - * @brief Returns the row id for @p city, inserting it first if it has - * not already been seen during this run. - * - * Shared by both ProcessRecord() overloads so brewery and user addresses - * referencing the same city resolve to the same row. - */ - [[nodiscard]] sqlite3_int64 ResolveCityId(const City& city); + /** + * @brief Returns the row id for @p city, inserting it first if it has + * not already been seen during this run. + * + * Shared by both ProcessRecord() overloads so brewery and user addresses + * referencing the same city resolve to the same row. + */ + [[nodiscard]] sqlite3_int64 ResolveCityId(const City& city); - std::unique_ptr date_time_provider_; - std::filesystem::path output_path_; - std::string run_timestamp_utc_; - std::filesystem::path database_path_; - SqliteDatabaseHandle db_handle_; - SqliteStatementHandle insert_city_stmt_; - SqliteStatementHandle insert_brewery_stmt_; - SqliteStatementHandle insert_brewery_address_stmt_; - SqliteStatementHandle insert_user_stmt_; - SqliteStatementHandle insert_user_address_stmt_; - bool transaction_open_ = false; - std::unordered_map city_cache_; + std::unique_ptr date_time_provider_; + std::filesystem::path output_path_; + std::string run_timestamp_utc_; + std::filesystem::path database_path_; + SqliteDatabaseHandle db_handle_; + SqliteStatementHandle insert_city_stmt_; + SqliteStatementHandle insert_brewery_stmt_; + SqliteStatementHandle insert_brewery_address_stmt_; + SqliteStatementHandle insert_user_stmt_; + SqliteStatementHandle insert_user_address_stmt_; + bool transaction_open_ = false; + std::unordered_map city_cache_; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_DATABASE_SQLITE_EXPORT_SERVICE_H_ diff --git a/tooling/pipeline/includes/services/database/sqlite_handle_types.h b/tooling/pipeline/includes/services/database/sqlite_handle_types.h index a70377d7..d92eee0e 100644 --- a/tooling/pipeline/includes/services/database/sqlite_handle_types.h +++ b/tooling/pipeline/includes/services/database/sqlite_handle_types.h @@ -13,11 +13,11 @@ namespace sqlite_export_service_internal { struct SqliteDatabaseDeleter { - void operator()(sqlite3* handle) const noexcept; + void operator()(sqlite3* handle) const noexcept; }; struct SqliteStatementDeleter { - void operator()(sqlite3_stmt* statement) const noexcept; + void operator()(sqlite3_stmt* statement) const noexcept; }; using SqliteDatabaseHandle = std::unique_ptr; @@ -28,9 +28,9 @@ using SqliteStatementHandle = // N.B. indices are 1 based. template struct BoundParam { - int index; - T value; - std::string_view action; + int index; + T value; + std::string_view action; }; } // namespace sqlite_export_service_internal diff --git a/tooling/pipeline/includes/services/database/sqlite_statement_helpers.h b/tooling/pipeline/includes/services/database/sqlite_statement_helpers.h index 1cdc2365..fde53882 100644 --- a/tooling/pipeline/includes/services/database/sqlite_statement_helpers.h +++ b/tooling/pipeline/includes/services/database/sqlite_statement_helpers.h @@ -152,44 +152,44 @@ INSERT INTO user_addresses ( // sqlite3_bind_*() parameter indices are 1-based, matching the "?" // placeholder order in the SQL above. enum CityBindIndex { - kCityCityBindIndex = 1, - kCityStateProvinceBindIndex, - kCityIso31662BindIndex, - kCityCountryBindIndex, - kCityIso31661BindIndex, - kCityLanguagesBindIndex, - kCityPostalCodeCountryFormatRegexBindIndex, - kCityPostalCodeCityRegexJsonBindIndex, + kCityCityBindIndex = 1, + kCityStateProvinceBindIndex, + kCityIso31662BindIndex, + kCityCountryBindIndex, + kCityIso31661BindIndex, + kCityLanguagesBindIndex, + kCityPostalCodeCountryFormatRegexBindIndex, + kCityPostalCodeCityRegexJsonBindIndex, }; enum BreweryBindIndex { - kBreweryEnglishNameBindIndex = 1, - kBreweryEnglishDescriptionBindIndex, - kBreweryLocalNameBindIndex, - kBreweryLocalDescriptionBindIndex, + kBreweryEnglishNameBindIndex = 1, + kBreweryEnglishDescriptionBindIndex, + kBreweryLocalNameBindIndex, + kBreweryLocalDescriptionBindIndex, }; enum BreweryAddressBindIndex { - kBreweryAddressBreweryIdBindIndex = 1, - kBreweryAddressCityIdBindIndex, - kBreweryAddressPostalCodeBindIndex, + kBreweryAddressBreweryIdBindIndex = 1, + kBreweryAddressCityIdBindIndex, + kBreweryAddressPostalCodeBindIndex, }; enum UserBindIndex { - kUserFirstNameBindIndex = 1, - kUserLastNameBindIndex, - kUserGenderBindIndex, - kUserUsernameBindIndex, - kUserBioBindIndex, - kUserActivityWeightBindIndex, - kUserEmailBindIndex, - kUserDateOfBirthBindIndex, + kUserFirstNameBindIndex = 1, + kUserLastNameBindIndex, + kUserGenderBindIndex, + kUserUsernameBindIndex, + kUserBioBindIndex, + kUserActivityWeightBindIndex, + kUserEmailBindIndex, + kUserDateOfBirthBindIndex, }; enum UserAddressBindIndex { - kUserAddressUserIdBindIndex = 1, - kUserAddressCityIdBindIndex, - kUserAddressPostalCodeBindIndex, + kUserAddressUserIdBindIndex = 1, + kUserAddressCityIdBindIndex, + kUserAddressPostalCodeBindIndex, }; SqliteStatementHandle PrepareStatement(const SqliteDatabaseHandle& db_handle, diff --git a/tooling/pipeline/includes/services/datetime/date_time_provider.h b/tooling/pipeline/includes/services/datetime/date_time_provider.h index 070f4ad6..eaf5b418 100644 --- a/tooling/pipeline/includes/services/datetime/date_time_provider.h +++ b/tooling/pipeline/includes/services/datetime/date_time_provider.h @@ -20,49 +20,49 @@ * directly */ class IDateTimeProvider { - public: - virtual ~IDateTimeProvider() = default; + public: + virtual ~IDateTimeProvider() = default; - IDateTimeProvider() = default; - IDateTimeProvider(const IDateTimeProvider&) = delete; - IDateTimeProvider& operator=(const IDateTimeProvider&) = delete; - IDateTimeProvider(IDateTimeProvider&&) = delete; - IDateTimeProvider& operator=(IDateTimeProvider&&) = delete; + IDateTimeProvider() = default; + IDateTimeProvider(const IDateTimeProvider&) = delete; + IDateTimeProvider& operator=(const IDateTimeProvider&) = delete; + IDateTimeProvider(IDateTimeProvider&&) = delete; + IDateTimeProvider& operator=(IDateTimeProvider&&) = delete; - /** - * @brief Returns the current UTC timestamp in a file-safe format. - * - * @return UTC timestamp string. - */ - virtual std::string GetUtcTimestamp() = 0; + /** + * @brief Returns the current UTC timestamp in a file-safe format. + * + * @return UTC timestamp string. + */ + virtual std::string GetUtcTimestamp() = 0; }; /** * @brief Timestamp provider backed by the system clock. */ class SystemDateTimeProvider final : public IDateTimeProvider { - public: - std::string GetUtcTimestamp() override { - constexpr int kFractionalSecondWidth = 6; + public: + std::string GetUtcTimestamp() override { + constexpr int kFractionalSecondWidth = 6; - const auto now = std::chrono::system_clock::now(); - const auto now_time = std::chrono::system_clock::to_time_t(now); - const std::tm* utc_time_ptr = std::gmtime(&now_time); - if (utc_time_ptr == nullptr) { - throw std::runtime_error("Failed to format UTC timestamp"); - } + const auto now = std::chrono::system_clock::now(); + const auto now_time = std::chrono::system_clock::to_time_t(now); + const std::tm* utc_time_ptr = std::gmtime(&now_time); + if (utc_time_ptr == nullptr) { + throw std::runtime_error("Failed to format UTC timestamp"); + } - const auto fractional_seconds = - std::chrono::duration_cast( - now.time_since_epoch()) % - std::chrono::seconds(1); + const auto fractional_seconds = + std::chrono::duration_cast( + now.time_since_epoch()) % + std::chrono::seconds(1); - std::ostringstream output; - output << std::put_time(utc_time_ptr, "%Y-%m-%dT%H-%M-%S"); - output << '.' << std::setw(kFractionalSecondWidth) << std::setfill('0') - << fractional_seconds.count() << 'Z'; - return output.str(); - } + std::ostringstream output; + output << std::put_time(utc_time_ptr, "%Y-%m-%dT%H-%M-%S"); + output << '.' << std::setw(kFractionalSecondWidth) << std::setfill('0') + << fractional_seconds.count() << 'Z'; + return output.str(); + } }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_DATETIME_DATE_TIME_PROVIDER_H_ diff --git a/tooling/pipeline/includes/services/datetime/timer.h b/tooling/pipeline/includes/services/datetime/timer.h index 2fa08068..5a92a22d 100644 --- a/tooling/pipeline/includes/services/datetime/timer.h +++ b/tooling/pipeline/includes/services/datetime/timer.h @@ -8,28 +8,28 @@ * @brief Simple timer utility for measuring elapsed time. */ class Timer { - std::chrono::steady_clock::time_point start_time = - std::chrono::steady_clock::now(); + std::chrono::steady_clock::time_point start_time = + std::chrono::steady_clock::now(); - public: - Timer(const Timer&) = delete; - Timer& operator=(const Timer&) = delete; - Timer(Timer&&) = delete; - Timer& operator=(Timer&&) = delete; - Timer() = default; - ~Timer() = default; + public: + Timer(const Timer&) = delete; + Timer& operator=(const Timer&) = delete; + Timer(Timer&&) = delete; + Timer& operator=(Timer&&) = delete; + Timer() = default; + ~Timer() = default; - [[nodiscard]] int64_t Elapsed() const { - return std::chrono::duration_cast( - std::chrono::steady_clock::now() - start_time) - .count(); - } + [[nodiscard]] int64_t Elapsed() const { + return std::chrono::duration_cast( + std::chrono::steady_clock::now() - start_time) + .count(); + } - [[nodiscard]] int64_t Reset() { - auto previous_elapsed = Elapsed(); - start_time = std::chrono::steady_clock::now(); - return previous_elapsed; - } + [[nodiscard]] int64_t Reset() { + auto previous_elapsed = Elapsed(); + start_time = std::chrono::steady_clock::now(); + return previous_elapsed; + } }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_DATETIME_TIMER_H_ diff --git a/tooling/pipeline/includes/services/enrichment/enrichment_service.h b/tooling/pipeline/includes/services/enrichment/enrichment_service.h index 34aa88b0..acc9a31f 100644 --- a/tooling/pipeline/includes/services/enrichment/enrichment_service.h +++ b/tooling/pipeline/includes/services/enrichment/enrichment_service.h @@ -14,16 +14,16 @@ * @brief Interface for services that can enrich a location with context. */ class IEnrichmentService { - public: - virtual ~IEnrichmentService() = default; + public: + virtual ~IEnrichmentService() = default; - /** - * @brief Resolves contextual enrichment for a location. - * - * @param loc City to enrich. - * @return Context text, or an empty string if unavailable. - */ - virtual std::string GetLocationContext(const City& loc) = 0; + /** + * @brief Resolves contextual enrichment for a location. + * + * @param loc City to enrich. + * @return Context text, or an empty string if unavailable. + */ + virtual std::string GetLocationContext(const City& loc) = 0; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_ENRICHMENT_ENRICHMENT_SERVICE_H_ diff --git a/tooling/pipeline/includes/services/enrichment/mock_enrichment.h b/tooling/pipeline/includes/services/enrichment/mock_enrichment.h index 88bc39aa..aad75a47 100644 --- a/tooling/pipeline/includes/services/enrichment/mock_enrichment.h +++ b/tooling/pipeline/includes/services/enrichment/mock_enrichment.h @@ -14,9 +14,7 @@ * @brief Enrichment service that returns no context for any location. */ class MockEnrichmentService final : public IEnrichmentService { - public: - std::string GetLocationContext(const City& /*loc*/) override { - return {}; - } + public: + std::string GetLocationContext(const City& /*loc*/) override { return {}; } }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_ENRICHMENT_MOCK_ENRICHMENT_H_ diff --git a/tooling/pipeline/includes/services/enrichment/wikipedia_service.h b/tooling/pipeline/includes/services/enrichment/wikipedia_service.h index e33b94a9..1a6be10a 100644 --- a/tooling/pipeline/includes/services/enrichment/wikipedia_service.h +++ b/tooling/pipeline/includes/services/enrichment/wikipedia_service.h @@ -19,30 +19,30 @@ * @brief Provides Wikipedia summary lookups backed by cached raw extracts. */ class WikipediaEnrichmentService final : public IEnrichmentService { - public: - /** - * @brief Creates a new Wikipedia service with the provided web client. - */ - explicit WikipediaEnrichmentService(std::unique_ptr client, - std::shared_ptr logger); + public: + /** + * @brief Creates a new Wikipedia service with the provided web client. + */ + explicit WikipediaEnrichmentService(std::unique_ptr client, + std::shared_ptr logger); - /** - * @brief Returns the Wikipedia-derived context for a location. - */ - [[nodiscard]] std::string GetLocationContext(const City& loc) override; + /** + * @brief Returns the Wikipedia-derived context for a location. + */ + [[nodiscard]] std::string GetLocationContext(const City& loc) override; - private: - std::string FetchExtract(std::string_view query); - std::unique_ptr client_; - std::shared_ptr logger_; - /** - * @brief Cache for raw Wikipedia query extracts, keyed by query string. - * - * GetLocationContext() always queries "brewing" and reuses "beer in - * {country}" for every city in that country, so caching avoids refetching - * the same extract across locations in a run. - */ - std::unordered_map extract_cache_; + private: + std::string FetchExtract(std::string_view query); + std::unique_ptr client_; + std::shared_ptr logger_; + /** + * @brief Cache for raw Wikipedia query extracts, keyed by query string. + * + * GetLocationContext() always queries "brewing" and reuses "beer in + * {country}" for every city in that country, so caching avoids refetching + * the same extract across locations in a run. + */ + std::unordered_map extract_cache_; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_ENRICHMENT_WIKIPEDIA_SERVICE_H_ diff --git a/tooling/pipeline/includes/services/logging/log_dispatcher.h b/tooling/pipeline/includes/services/logging/log_dispatcher.h index c2104bf6..cde928d2 100644 --- a/tooling/pipeline/includes/services/logging/log_dispatcher.h +++ b/tooling/pipeline/includes/services/logging/log_dispatcher.h @@ -22,32 +22,32 @@ * and exit once the channel has been closed and drained. */ class LogDispatcher { - public: - /** - * @brief Construct a log dispatcher. - * - * @param channel Reference to the bounded channel used for log retrieval. - */ - explicit LogDispatcher(BoundedChannel& channel); + public: + /** + * @brief Construct a log dispatcher. + * + * @param channel Reference to the bounded channel used for log retrieval. + */ + explicit LogDispatcher(BoundedChannel& channel); - LogDispatcher(const LogDispatcher&) = delete; - LogDispatcher& operator=(const LogDispatcher&) = delete; - LogDispatcher(LogDispatcher&&) = delete; - LogDispatcher& operator=(LogDispatcher&&) = delete; - ~LogDispatcher() = default; + LogDispatcher(const LogDispatcher&) = delete; + LogDispatcher& operator=(const LogDispatcher&) = delete; + LogDispatcher(LogDispatcher&&) = delete; + LogDispatcher& operator=(LogDispatcher&&) = delete; + ~LogDispatcher() = default; - /** - * @brief Drain the channel and forward entries to spdlog. - * - * Intended to be called once on a dedicated thread. The loop returns after - * the channel has been closed and all queued entries have been processed. - */ - void Run(); + /** + * @brief Drain the channel and forward entries to spdlog. + * + * Intended to be called once on a dedicated thread. The loop returns after + * the channel has been closed and all queued entries have been processed. + */ + void Run(); - private: - BoundedChannel& channel_; + private: + BoundedChannel& channel_; - static spdlog::level::level_enum ToSpdlogLevel(LogLevel level); + static spdlog::level::level_enum ToSpdlogLevel(LogLevel level); }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_LOGGING_LOG_DISPATCHER_H_ diff --git a/tooling/pipeline/includes/services/logging/log_entry.h b/tooling/pipeline/includes/services/logging/log_entry.h index 11131da3..ab1eaa8f 100644 --- a/tooling/pipeline/includes/services/logging/log_entry.h +++ b/tooling/pipeline/includes/services/logging/log_entry.h @@ -20,22 +20,22 @@ * @brief Severity levels supported by the logging infra. */ enum class LogLevel { - /** - * @brief Development/debugging information. - */ - Debug, - /** - * @brief General informational messages. - */ - Info, - /** - * @brief Warning conditions. - */ - Warn, - /** - * @brief Error conditions. - */ - Error, + /** + * @brief Development/debugging information. + */ + Debug, + /** + * @brief General informational messages. + */ + Info, + /** + * @brief Warning conditions. + */ + Warn, + /** + * @brief Error conditions. + */ + Error, }; /** @@ -46,38 +46,38 @@ enum class LogLevel { * pipeline that emitted it. */ enum class PipelinePhase { - /** - * @brief Initialization and validation. - */ - Startup, - /** - * @brief City/context enrichment (e.g. Wikipedia lookups). - */ - Enrichment, - /** - * @brief User profile generation. - */ - UserGeneration, - /** - * @brief Brewery and beer data generation. - */ - BreweryAndBeerGeneration, - /** - * @brief Checkin (visit) record generation. - */ - CheckinGeneration, - /** - * @brief Rating and review generation. - */ - RatingGeneration, - /** - * @brief Follow relationship generation. - */ - FollowGeneration, - /** - * @brief Finalization and cleanup. - */ - Teardown, + /** + * @brief Initialization and validation. + */ + Startup, + /** + * @brief City/context enrichment (e.g. Wikipedia lookups). + */ + Enrichment, + /** + * @brief User profile generation. + */ + UserGeneration, + /** + * @brief Brewery and beer data generation. + */ + BreweryAndBeerGeneration, + /** + * @brief Checkin (visit) record generation. + */ + CheckinGeneration, + /** + * @brief Rating and review generation. + */ + RatingGeneration, + /** + * @brief Follow relationship generation. + */ + FollowGeneration, + /** + * @brief Finalization and cleanup. + */ + Teardown, }; /** @@ -86,9 +86,9 @@ enum class PipelinePhase { * transparently. */ struct LogDTO { - LogLevel level; - PipelinePhase phase; - std::string message; + LogLevel level; + PipelinePhase phase; + std::string message; }; /** @@ -102,35 +102,35 @@ struct LogDTO { * before the entry is dispatched. */ struct LogEntry { - /** - * @brief Timestamp when the entry was created. - */ - std::chrono::system_clock::time_point timestamp{}; + /** + * @brief Timestamp when the entry was created. + */ + std::chrono::system_clock::time_point timestamp{}; - /** - * @brief Source location where the log call was made. - */ - std::source_location origin{}; + /** + * @brief Source location where the log call was made. + */ + std::source_location origin{}; - /** - * @brief Thread responsible for emitting the log. - */ - std::thread::id thread_id{}; + /** + * @brief Thread responsible for emitting the log. + */ + std::thread::id thread_id{}; - /** - * @brief Severity level of this entry. - */ - LogLevel level; + /** + * @brief Severity level of this entry. + */ + LogLevel level; - /** - * @brief Pipeline phase associated with the entry. - */ - PipelinePhase phase; + /** + * @brief Pipeline phase associated with the entry. + */ + PipelinePhase phase; - /** - * @brief Log message text. - */ - std::string message; + /** + * @brief Log message text. + */ + std::string message; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_LOGGING_LOG_ENTRY_H_ diff --git a/tooling/pipeline/includes/services/logging/log_producer.h b/tooling/pipeline/includes/services/logging/log_producer.h index 253c016c..e7bdfe50 100644 --- a/tooling/pipeline/includes/services/logging/log_producer.h +++ b/tooling/pipeline/includes/services/logging/log_producer.h @@ -23,31 +23,31 @@ * remain valid for the lifetime of the producer. */ class LogProducer final : public ILogger { - public: - /** - * @brief Construct a channel-backed producer. - * - * @param channel Reference to the bounded channel used for log transfer. - */ - explicit LogProducer(BoundedChannel& channel); + public: + /** + * @brief Construct a channel-backed producer. + * + * @param channel Reference to the bounded channel used for log transfer. + */ + explicit LogProducer(BoundedChannel& channel); - LogProducer(const LogProducer&) = delete; - LogProducer& operator=(const LogProducer&) = delete; - LogProducer(LogProducer&&) = delete; - LogProducer& operator=(LogProducer&&) = delete; + LogProducer(const LogProducer&) = delete; + LogProducer& operator=(const LogProducer&) = delete; + LogProducer(LogProducer&&) = delete; + LogProducer& operator=(LogProducer&&) = delete; - ~LogProducer() override = default; + ~LogProducer() override = default; - /** - * @brief Queue a log message for asynchronous processing. - * - * Blocks while the channel applies backpressure. This blocking behavior - * under heavy load is an accepted trade-off for simplicity. - */ - void DoLog(LogEntry log_entry) override; + /** + * @brief Queue a log message for asynchronous processing. + * + * Blocks while the channel applies backpressure. This blocking behavior + * under heavy load is an accepted trade-off for simplicity. + */ + void DoLog(LogEntry log_entry) override; - private: - BoundedChannel& channel_; + private: + BoundedChannel& channel_; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_LOGGING_LOG_PRODUCER_H_ diff --git a/tooling/pipeline/includes/services/logging/logger.h b/tooling/pipeline/includes/services/logging/logger.h index 31505d98..e666b513 100644 --- a/tooling/pipeline/includes/services/logging/logger.h +++ b/tooling/pipeline/includes/services/logging/logger.h @@ -23,43 +23,43 @@ * by the composition root and injected into services that emit diagnostics. */ class ILogger { - public: - ILogger() = default; - ILogger(const ILogger&) = delete; - ILogger& operator=(const ILogger&) = delete; - ILogger(ILogger&&) = delete; - ILogger& operator=(ILogger&&) = delete; - virtual ~ILogger() = default; + public: + ILogger() = default; + ILogger(const ILogger&) = delete; + ILogger& operator=(const ILogger&) = delete; + ILogger(ILogger&&) = delete; + ILogger& operator=(ILogger&&) = delete; + virtual ~ILogger() = default; - /** - * @brief Submit a log message to the logging subsystem. - * - * @param payload User-provided log data (level, phase, message). - * @param origin Auto-captured source location of the call site. - */ - void Log(LogDTO payload, - std::source_location origin = std::source_location::current(), - std::chrono::system_clock::time_point timestamp = - std::chrono::system_clock::now(), - std::thread::id thread_id = std::this_thread::get_id()) { - LogEntry entry; - entry.timestamp = timestamp; - entry.thread_id = thread_id; - entry.level = payload.level; - entry.phase = payload.phase; - entry.message = std::move(payload.message); - entry.origin = origin; - DoLog(std::move(entry)); - } + /** + * @brief Submit a log message to the logging subsystem. + * + * @param payload User-provided log data (level, phase, message). + * @param origin Auto-captured source location of the call site. + */ + void Log(LogDTO payload, + std::source_location origin = std::source_location::current(), + std::chrono::system_clock::time_point timestamp = + std::chrono::system_clock::now(), + std::thread::id thread_id = std::this_thread::get_id()) { + LogEntry entry; + entry.timestamp = timestamp; + entry.thread_id = thread_id; + entry.level = payload.level; + entry.phase = payload.phase; + entry.message = std::move(payload.message); + entry.origin = origin; + DoLog(std::move(entry)); + } - protected: - /** - * @brief Underlying implementation to transport the log entry. - * - * Implementations must be thread-safe as DoLog can be called concurrently - * from multiple worker threads. - */ - virtual void DoLog(LogEntry log_entry) = 0; + protected: + /** + * @brief Underlying implementation to transport the log entry. + * + * Implementations must be thread-safe as DoLog can be called concurrently + * from multiple worker threads. + */ + virtual void DoLog(LogEntry log_entry) = 0; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_LOGGING_LOGGER_H_ diff --git a/tooling/pipeline/includes/services/postal_code/mock_postal_code_service.h b/tooling/pipeline/includes/services/postal_code/mock_postal_code_service.h index 87b05c4e..5c23e334 100644 --- a/tooling/pipeline/includes/services/postal_code/mock_postal_code_service.h +++ b/tooling/pipeline/includes/services/postal_code/mock_postal_code_service.h @@ -24,56 +24,57 @@ * example that fails validation, throws so the caller can skip the city. */ class MockPostalCodeService final : public IPostalCodeService { - public: - std::string GeneratePostalCode(const City& city) override { - const PostalCodeSpec& spec = city.postal_code; + public: + std::string GeneratePostalCode(const City& city) override { + const PostalCodeSpec& spec = city.postal_code; - if (spec.examples.empty()) { - throw std::runtime_error(std::format( - "No postal-code examples available for city '{}'", city.city)); - } - - const std::string& candidate = spec.examples.front(); - - if (!MatchesAnyPattern(candidate, spec)) { - throw std::runtime_error( - std::format("Postal code '{}' for city '{}' does not match the " - "curated postal-code regex", - candidate, city.city)); - } - - return candidate; - } - - private: - /** - * @brief Returns true if @p candidate matches any city regex, or the - * country format regex when no city regex matches. When the spec carries no - * usable regex at all, validation is skipped (returns true). - */ - static bool MatchesAnyPattern(const std::string& candidate, - const PostalCodeSpec& spec) { - bool has_pattern = false; - - for (const std::string& pattern : spec.city_regexes) { - if (pattern.empty()) { - continue; + if (spec.examples.empty()) { + throw std::runtime_error(std::format( + "No postal-code examples available for city '{}'", city.city)); } - has_pattern = true; - if (std::regex_match(candidate, std::regex(pattern))) { - return true; - } - } - if (!spec.country_format_regex.empty()) { - has_pattern = true; - if (std::regex_match(candidate, std::regex(spec.country_format_regex))) { - return true; - } - } + const std::string& candidate = spec.examples.front(); - return !has_pattern; - } + if (!MatchesAnyPattern(candidate, spec)) { + throw std::runtime_error( + std::format("Postal code '{}' for city '{}' does not match the " + "curated postal-code regex", + candidate, city.city)); + } + + return candidate; + } + + private: + /** + * @brief Returns true if @p candidate matches any city regex, or the + * country format regex when no city regex matches. When the spec carries no + * usable regex at all, validation is skipped (returns true). + */ + static bool MatchesAnyPattern(const std::string& candidate, + const PostalCodeSpec& spec) { + bool has_pattern = false; + + for (const std::string& pattern : spec.city_regexes) { + if (pattern.empty()) { + continue; + } + has_pattern = true; + if (std::regex_match(candidate, std::regex(pattern))) { + return true; + } + } + + if (!spec.country_format_regex.empty()) { + has_pattern = true; + if (std::regex_match(candidate, + std::regex(spec.country_format_regex))) { + return true; + } + } + + return !has_pattern; + } }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_POSTAL_CODE_MOCK_POSTAL_CODE_SERVICE_H_ diff --git a/tooling/pipeline/includes/services/postal_code/postal_code_service.h b/tooling/pipeline/includes/services/postal_code/postal_code_service.h index 016cf369..c040c4a7 100644 --- a/tooling/pipeline/includes/services/postal_code/postal_code_service.h +++ b/tooling/pipeline/includes/services/postal_code/postal_code_service.h @@ -14,22 +14,22 @@ * @brief Interface for services that resolve a postal code for a city. */ class IPostalCodeService { - public: - IPostalCodeService() = default; - virtual ~IPostalCodeService() = default; + public: + IPostalCodeService() = default; + virtual ~IPostalCodeService() = default; - IPostalCodeService(const IPostalCodeService&) = delete; - IPostalCodeService& operator=(const IPostalCodeService&) = delete; - IPostalCodeService(IPostalCodeService&&) = delete; - IPostalCodeService& operator=(IPostalCodeService&&) = delete; + IPostalCodeService(const IPostalCodeService&) = delete; + IPostalCodeService& operator=(const IPostalCodeService&) = delete; + IPostalCodeService(IPostalCodeService&&) = delete; + IPostalCodeService& operator=(IPostalCodeService&&) = delete; - /** - * @brief Resolves a postal code for @p city. - * - * @param city City whose curated postal-code examples supply the result. - * @return A postal code string, or an empty string if none is available. - */ - virtual std::string GeneratePostalCode(const City& city) = 0; + /** + * @brief Resolves a postal code for @p city. + * + * @param city City whose curated postal-code examples supply the result. + * @return A postal code string, or an empty string if none is available. + */ + virtual std::string GeneratePostalCode(const City& city) = 0; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_POSTAL_CODE_POSTAL_CODE_SERVICE_H_ diff --git a/tooling/pipeline/includes/services/postal_code/xeger_postal_code_service.h b/tooling/pipeline/includes/services/postal_code/xeger_postal_code_service.h index 6b38ec29..04f17d62 100644 --- a/tooling/pipeline/includes/services/postal_code/xeger_postal_code_service.h +++ b/tooling/pipeline/includes/services/postal_code/xeger_postal_code_service.h @@ -20,13 +20,13 @@ * via GenerateStringFromRegex(). */ class XegerPostalCodeService final : public IPostalCodeService { - public: - XegerPostalCodeService(); + public: + XegerPostalCodeService(); - std::string GeneratePostalCode(const City& city) override; + std::string GeneratePostalCode(const City& city) override; - private: - std::mt19937 rng_; + private: + std::mt19937 rng_; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_POSTAL_CODE_XEGER_POSTAL_CODE_SERVICE_H_ diff --git a/tooling/pipeline/includes/services/prompting/prompt_directory.h b/tooling/pipeline/includes/services/prompting/prompt_directory.h index 973c7154..0ee48bdc 100644 --- a/tooling/pipeline/includes/services/prompting/prompt_directory.h +++ b/tooling/pipeline/includes/services/prompting/prompt_directory.h @@ -24,22 +24,22 @@ * @brief Interface for loading named prompt files. */ class IPromptDirectory { - public: - IPromptDirectory() = default; - IPromptDirectory(const IPromptDirectory&) = delete; - IPromptDirectory& operator=(const IPromptDirectory&) = delete; - IPromptDirectory(IPromptDirectory&&) = delete; - IPromptDirectory& operator=(IPromptDirectory&&) = delete; - virtual ~IPromptDirectory() = default; + public: + IPromptDirectory() = default; + IPromptDirectory(const IPromptDirectory&) = delete; + IPromptDirectory& operator=(const IPromptDirectory&) = delete; + IPromptDirectory(IPromptDirectory&&) = delete; + IPromptDirectory& operator=(IPromptDirectory&&) = delete; + virtual ~IPromptDirectory() = default; - /** - * @brief Loads the prompt associated with @p key. - * - * @param key Logical prompt key, e.g. "BREWERY_GENERATION". - * @return Prompt text. - * @throws std::runtime_error if the prompt file cannot be found or read. - */ - [[nodiscard]] virtual std::string Load(std::string_view key) = 0; + /** + * @brief Loads the prompt associated with @p key. + * + * @param key Logical prompt key, e.g. "BREWERY_GENERATION". + * @return Prompt text. + * @throws std::runtime_error if the prompt file cannot be found or read. + */ + [[nodiscard]] virtual std::string Load(std::string_view key) = 0; }; /** @@ -50,33 +50,33 @@ class IPromptDirectory { * at construction time; individual file absence is reported lazily at Load(). */ class PromptDirectory final : public IPromptDirectory { - public: - /** - * @brief Constructs a PromptDirectory rooted at @p prompt_dir. - * - * @param prompt_dir Absolute or relative path to the prompt directory. - * @throws std::runtime_error if @p prompt_dir does not exist or is not a - * directory. - */ - explicit PromptDirectory(const std::filesystem::path& prompt_dir); - PromptDirectory(const std::filesystem::path& prompt_dir, - std::shared_ptr logger); + public: + /** + * @brief Constructs a PromptDirectory rooted at @p prompt_dir. + * + * @param prompt_dir Absolute or relative path to the prompt directory. + * @throws std::runtime_error if @p prompt_dir does not exist or is not a + * directory. + */ + explicit PromptDirectory(const std::filesystem::path& prompt_dir); + PromptDirectory(const std::filesystem::path& prompt_dir, + std::shared_ptr logger); - /** - * @brief Loads the prompt for @p key, caching the result. - * - * Maps @p key → /.md. - * - * @param key Logical prompt key. - * @return Prompt text. - * @throws std::runtime_error if the file does not exist or is empty. - */ - [[nodiscard]] std::string Load(std::string_view key) override; + /** + * @brief Loads the prompt for @p key, caching the result. + * + * Maps @p key → /.md. + * + * @param key Logical prompt key. + * @return Prompt text. + * @throws std::runtime_error if the file does not exist or is empty. + */ + [[nodiscard]] std::string Load(std::string_view key) override; - private: - std::filesystem::path prompt_dir_; - std::shared_ptr logger_; - std::unordered_map cache_; + private: + std::filesystem::path prompt_dir_; + std::shared_ptr logger_; + std::unordered_map cache_; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_SERVICES_PROMPTING_PROMPT_DIRECTORY_H_ diff --git a/tooling/pipeline/includes/services/xeger/xeger_internal.h b/tooling/pipeline/includes/services/xeger/xeger_internal.h index b54d29b0..d39614e0 100644 --- a/tooling/pipeline/includes/services/xeger/xeger_internal.h +++ b/tooling/pipeline/includes/services/xeger/xeger_internal.h @@ -55,33 +55,33 @@ struct Alternation; struct Repeat; struct Visitor { - virtual void Visit(const Literal&) = 0; - virtual void Visit(const AnyChar&) = 0; - virtual void Visit(const CharClass&) = 0; - virtual void Visit(const Concat&) = 0; - virtual void Visit(const Alternation&) = 0; - virtual void Visit(const Repeat&) = 0; - virtual ~Visitor() = default; + virtual void Visit(const Literal&) = 0; + virtual void Visit(const AnyChar&) = 0; + virtual void Visit(const CharClass&) = 0; + virtual void Visit(const Concat&) = 0; + virtual void Visit(const Alternation&) = 0; + virtual void Visit(const Repeat&) = 0; + virtual ~Visitor() = default; }; struct Node { - virtual void Accept(Visitor&) const = 0; - virtual ~Node() = default; + virtual void Accept(Visitor&) const = 0; + virtual ~Node() = default; }; using NodePtr = std::unique_ptr; template struct Visitable : Node { - void Accept(Visitor& visitor) const override { - visitor.Visit(static_cast(*this)); - } + void Accept(Visitor& visitor) const override { + visitor.Visit(static_cast(*this)); + } }; // One fixed character, e.g. 'a'. struct Literal : Visitable { - char ch; - explicit Literal(const char c) : ch(c) {} + char ch; + explicit Literal(const char c) : ch(c) {} }; // The "." wildcard: any single printable character. @@ -91,18 +91,18 @@ struct AnyChar : Visitable {}; // character 'x' is the range {'x', 'x'}. `negated` flips the meaning to // "any character NOT listed" (i.e. `[^...]`). struct CharClass : Visitable { - std::vector> ranges; - bool negated = false; + std::vector> ranges; + bool negated = false; }; // "Do these children one after another." struct Concat : Visitable { - std::vector parts; + std::vector parts; }; // "Pick exactly one of these options at random" -- the `|` operator. struct Alternation : Visitable { - std::vector options; + std::vector options; }; // "Repeat one child between min and max times." @@ -111,9 +111,9 @@ struct Alternation : Visitable { // a? -> min 0, max 1 // a{2,5} -> min 2, max 5 struct Repeat : Visitable { - NodePtr child; - unsigned int min = 0; - std::optional max; // std::nullopt means "no upper bound" + NodePtr child; + unsigned int min = 0; + std::optional max; // std::nullopt means "no upper bound" }; // Parser (recursive descent) @@ -125,75 +125,75 @@ struct Repeat : Visitable { // ParseAtom ::= a . [..] (..) \d class Parser { - public: - explicit Parser(std::string_view pattern); + public: + explicit Parser(std::string_view pattern); - NodePtr Parse(); + NodePtr Parse(); - private: - std::string src_; - size_t pos_ = 0; + private: + std::string src_; + size_t pos_ = 0; - // Strips anchors (leading '^' and trailing '$') as they are not needed for - // generation. - static std::string StripAnchors(std::string_view pattern); + // Strips anchors (leading '^' and trailing '$') as they are not needed for + // generation. + static std::string StripAnchors(std::string_view pattern); - [[nodiscard]] bool AtEnd() const; - [[nodiscard]] char Peek() const; - char Advance(); - bool Match(char c); - void Expect(char c); + [[nodiscard]] bool AtEnd() const; + [[nodiscard]] char Peek() const; + char Advance(); + bool Match(char c); + void Expect(char c); - // Level 1: alternation -- ( concat | concat | concat ) - NodePtr ParseAlternation(); + // Level 1: alternation -- ( concat | concat | concat ) + NodePtr ParseAlternation(); - // Level 2: concatenation -- a run of items back to back - NodePtr ParseConcat(); + // Level 2: concatenation -- a run of items back to back + NodePtr ParseConcat(); - // Level 3: an atom plus an optional quantifier - NodePtr ParseRepeat(); + // Level 3: an atom plus an optional quantifier + NodePtr ParseRepeat(); - // Curly-brace quantifiers: {n}, {n,}, {n,m} - NodePtr ParseBrace(NodePtr atom); + // Curly-brace quantifiers: {n}, {n,}, {n,m} + NodePtr ParseBrace(NodePtr atom); - // Level 4: an atom -- the smallest standalone unit - NodePtr ParseAtom(); + // Level 4: an atom -- the smallest standalone unit + NodePtr ParseAtom(); - static NodePtr MakeClass(std::vector> ranges, - bool negated); + static NodePtr MakeClass(std::vector> ranges, + bool negated); - NodePtr ParseEscape(); + NodePtr ParseEscape(); - NodePtr ParseCharClass(); + NodePtr ParseCharClass(); - // Reads one character inside [ ], turning \] \n etc. into the real - // character they represent. - char ClassChar(); + // Reads one character inside [ ], turning \] \n etc. into the real + // character they represent. + char ClassChar(); }; // Generator -- a Visitor that emits a random matching string class XegerGenerator final : public Visitor { - public: - XegerGenerator(std::mt19937& rng, int unbounded_cap); + public: + XegerGenerator(std::mt19937& rng, int unbounded_cap); - std::string Run(const Node& root); + std::string Run(const Node& root); - void Visit(const Literal& node) override; - void Visit(const AnyChar&) override; - void Visit(const CharClass& node) override; - void Visit(const Concat& node) override; - void Visit(const Alternation& node) override; - void Visit(const Repeat& node) override; + void Visit(const Literal& node) override; + void Visit(const AnyChar&) override; + void Visit(const CharClass& node) override; + void Visit(const Concat& node) override; + void Visit(const Alternation& node) override; + void Visit(const Repeat& node) override; - private: - std::mt19937& rng_; - int unbounded_cap_; - std::string out_; + private: + std::mt19937& rng_; + int unbounded_cap_; + std::string out_; - static bool InRanges(const CharClass& node, char c); + static bool InRanges(const CharClass& node, char c); - char PickFromClass(const CharClass& node); + char PickFromClass(const CharClass& node); }; } // namespace xeger_internal diff --git a/tooling/pipeline/includes/web_client/http_web_client.h b/tooling/pipeline/includes/web_client/http_web_client.h index 48306e59..2db9a277 100644 --- a/tooling/pipeline/includes/web_client/http_web_client.h +++ b/tooling/pipeline/includes/web_client/http_web_client.h @@ -25,31 +25,31 @@ * bound to a single origin at construction time. */ class HttpWebClient final : public WebClient { - public: - explicit HttpWebClient(std::shared_ptr logger) - : logger_(std::move(logger)) {} - ~HttpWebClient() override = default; + public: + explicit HttpWebClient(std::shared_ptr logger) + : logger_(std::move(logger)) {} + ~HttpWebClient() override = default; - /** - * @brief Executes a blocking HTTP/HTTPS GET request against a full URL. - * - * @param url Fully-qualified URL, e.g. - * "https://en.wikipedia.org/api/rest_v1/page/summary/Berlin" - * @return Response body on HTTP 2xx; throws std::runtime_error otherwise. - */ - std::string Get(const std::string& url) override; + /** + * @brief Executes a blocking HTTP/HTTPS GET request against a full URL. + * + * @param url Fully-qualified URL, e.g. + * "https://en.wikipedia.org/api/rest_v1/page/summary/Berlin" + * @return Response body on HTTP 2xx; throws std::runtime_error otherwise. + */ + std::string Get(const std::string& url) override; - /** - * @brief Percent-encodes a single URI component (query parameter value or - * path segment). Delegates to httplib::encode_uri_component(). - * - * @param value Raw string to encode. - * @return Percent-encoded string safe for use in a URL. - */ - std::string EncodeURL(const std::string& value) override; + /** + * @brief Percent-encodes a single URI component (query parameter value or + * path segment). Delegates to httplib::encode_uri_component(). + * + * @param value Raw string to encode. + * @return Percent-encoded string safe for use in a URL. + */ + std::string EncodeURL(const std::string& value) override; - private: - std::shared_ptr logger_; + private: + std::shared_ptr logger_; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_WEB_CLIENT_HTTP_WEB_CLIENT_H_ diff --git a/tooling/pipeline/includes/web_client/web_client.h b/tooling/pipeline/includes/web_client/web_client.h index a280b42b..7d290088 100644 --- a/tooling/pipeline/includes/web_client/web_client.h +++ b/tooling/pipeline/includes/web_client/web_client.h @@ -12,24 +12,24 @@ * @brief Abstract web client interface. */ class WebClient { - public: - virtual ~WebClient() = default; + public: + virtual ~WebClient() = default; - /** - * @brief Executes an HTTP GET request. - * - * @param url Request URL. - * @return Response body. - */ - virtual std::string Get(const std::string& url) = 0; + /** + * @brief Executes an HTTP GET request. + * + * @param url Request URL. + * @return Response body. + */ + virtual std::string Get(const std::string& url) = 0; - /** - * @brief URL-encodes a string value. - * - * @param value Raw string value. - * @return Encoded value safe for URL usage. - */ - virtual std::string EncodeURL(const std::string& value) = 0; + /** + * @brief URL-encodes a string value. + * + * @param value Raw string value. + * @return Encoded value safe for URL usage. + */ + virtual std::string EncodeURL(const std::string& value) = 0; }; #endif // BIERGARTEN_PIPELINE_INCLUDES_WEB_CLIENT_WEB_CLIENT_H_ diff --git a/tooling/pipeline/personas.json b/tooling/pipeline/personas.json index 92215f0e..2ded6b91 100644 --- a/tooling/pipeline/personas.json +++ b/tooling/pipeline/personas.json @@ -2,7 +2,12 @@ { "name": "Hophead Explorer", "description": "Chases the newest hop varieties and double-digit IBUs, tracking hazy releases and limited tap takeovers across town.", - "style_affinities": ["American IPA", "Double IPA", "New England IPA", "Black IPA"] + "style_affinities": [ + "American IPA", + "Double IPA", + "New England IPA", + "Black IPA" + ] }, { "name": "Malt & Tradition Loyalist", @@ -12,7 +17,12 @@ { "name": "Dark & Roasty Devotee", "description": "Orders the darkest beer on the board year-round, drawn to roasted malt, coffee, and chocolate notes over carbonated lightness.", - "style_affinities": ["Imperial Stout", "Robust Porter", "Baltic Porter", "Oatmeal Stout"] + "style_affinities": [ + "Imperial Stout", + "Robust Porter", + "Baltic Porter", + "Oatmeal Stout" + ] }, { "name": "Sour & Wild Forager", @@ -22,21 +32,41 @@ { "name": "Session Sipper", "description": "Values an easy-drinking pint that holds up over a long afternoon at the taproom more than raw intensity or novelty.", - "style_affinities": ["Session IPA", "Ordinary Bitter", "Cream Ale", "Blonde Ale"] + "style_affinities": [ + "Session IPA", + "Ordinary Bitter", + "Cream Ale", + "Blonde Ale" + ] }, { "name": "Belgian Abbey Pilgrim", "description": "Collects abbey and trappist releases, drawn to the dried-fruit esters and warming strength of classic Belgian ales.", - "style_affinities": ["Belgian Tripel", "Belgian Dubbel", "Belgian Quadrupel", "Trappist Single"] + "style_affinities": [ + "Belgian Tripel", + "Belgian Dubbel", + "Belgian Quadrupel", + "Trappist Single" + ] }, { "name": "Wheat & Citrus Casual", "description": "Reaches for something light, cloudy, and refreshing, usually with a citrus or coriander note, especially on a patio in summer.", - "style_affinities": ["Hefeweizen", "Witbier", "American Wheat Beer", "Berliner Weisse"] + "style_affinities": [ + "Hefeweizen", + "Witbier", + "American Wheat Beer", + "Berliner Weisse" + ] }, { "name": "Big & Boozy Connoisseur", "description": "Sips slowly from a snifter, seeking out high-ABV releases meant for aging and savoring rather than quick refreshment.", - "style_affinities": ["English Barleywine", "Wee Heavy", "Doppelbock", "Old Ale"] + "style_affinities": [ + "English Barleywine", + "Wee Heavy", + "Doppelbock", + "Old Ale" + ] } ] diff --git a/tooling/pipeline/prompts/USER_GENERATION.md b/tooling/pipeline/prompts/USER_GENERATION.md index ac031cb5..59a494ff 100644 --- a/tooling/pipeline/prompts/USER_GENERATION.md +++ b/tooling/pipeline/prompts/USER_GENERATION.md @@ -41,11 +41,11 @@ You will receive the inputs like this: ABSOLUTELY NO MARKDOWN FORMATTING. Do NOT wrap your response in json or ``` blocks. -Do not add markdown, code fences, or postscript around the final JSON object. -Do not say "Here is the JSON" or "Enjoy!". +Do not add markdown, code fences, or postscript around the final JSON object. Do +not say "Here is the JSON" or "Enjoy!". -The JSON must contain exactly three keys ("username", "bio", -"activity_weight") in that order. Do not rename or add any other keys. +The JSON must contain exactly three keys ("username", "bio", "activity_weight") +in that order. Do not rename or add any other keys. ESCAPE ALL QUOTES inside the bio field using \", or use single quotes (' ') instead. @@ -53,15 +53,15 @@ instead. DO NOT use actual line breaks (\n) inside any string. Keep the bio as one continuous string. -The bio must be between 25 and 60 words, written in first person, and must -read as something this specific person would write about themselves -- not a -generic profile blurb. +The bio must be between 25 and 60 words, written in first person, and must read +as something this specific person would write about themselves -- not a generic +profile blurb. -`activity_weight` is a number between 0 and 1 (inclusive) representing how -often this persona checks in at breweries relative to other users. Persona -archetypes implying frequent, habitual brewery visits should skew higher; -casual or occasional-visitor personas should skew lower. Do not default to -0.5 -- vary it meaningfully based on the persona description. +`activity_weight` is a number between 0 and 1 (inclusive) representing how often +this persona checks in at breweries relative to other users. Persona archetypes +implying frequent, habitual brewery visits should skew higher; casual or +occasional-visitor personas should skew lower. Do not default to 0.5 -- vary it +meaningfully based on the persona description. Expected JSON format: @@ -78,8 +78,8 @@ Expected JSON format: ### THE USERNAME: Derive the username from the given first and/or last name (e.g. lowercase, -abbreviated, or combined with a short word or number tied to the persona's -style affinities). Do not invent an unrelated handle. Do not include spaces. +abbreviated, or combined with a short word or number tied to the persona's style +affinities). Do not invent an unrelated handle. Do not include spaces. ### THE BIO: @@ -90,14 +90,14 @@ city or country naturally if it fits, but do not force it. ### VOICE & PERSPECTIVE: -Write in the first person ("I"/"my"). The tone should match the persona: -an enthusiastic explorer sounds different from a relaxed, easy-drinking -regular. Do not write in second or third person. +Write in the first person ("I"/"my"). The tone should match the persona: an +enthusiastic explorer sounds different from a relaxed, easy-drinking regular. Do +not write in second or third person. ### THE BLOCKLIST (FORBIDDEN CONCEPTS): -You absolutely cannot use the following words and phrases. Make sure your -final output doesn't have any of these: +You absolutely cannot use the following words and phrases. Make sure your final +output doesn't have any of these: - "hidden gem" - "passion" @@ -108,14 +108,14 @@ final output doesn't have any of these: #### FORBIDDEN WRITING PATTERNS -The following patterns are common AI writing pitfalls and must not appear in -the bio: +The following patterns are common AI writing pitfalls and must not appear in the +bio: - Negative parallelism constructions: "It's not X, it's Y" -- Inflated significance phrases: "stands as a testament," "plays a vital - role," "deeply rooted" -- Superficial trailing analyses: sentences ending in -ing words that add - opinion without content +- Inflated significance phrases: "stands as a testament," "plays a vital role," + "deeply rooted" +- Superficial trailing analyses: sentences ending in -ing words that add opinion + without content - Promotional travel-copy tone: "breathtaking," "must-visit," "vibrant" - Overused conjunctive transitions used as sentence openers: "Moreover," "Furthermore," "In addition" diff --git a/tooling/pipeline/src/application_options/parse_arguments.cc b/tooling/pipeline/src/application_options/parse_arguments.cc index 91bd896d..2e7fff1e 100644 --- a/tooling/pipeline/src/application_options/parse_arguments.cc +++ b/tooling/pipeline/src/application_options/parse_arguments.cc @@ -10,207 +10,212 @@ std::optional ParseArguments( const int argc, char** argv, std::shared_ptr logger) { - prog_opts::options_description desc("Pipeline Options"); - auto opt = desc.add_options(); + prog_opts::options_description desc("Pipeline Options"); + auto opt = desc.add_options(); - opt("help,h", "Produce help message"); + opt("help,h", "Produce help message"); - auto add_sampling_options = [&]() -> void { - const SamplingOptions sampling_defaults{}; - opt("temperature", - prog_opts::value()->default_value(sampling_defaults.temperature), - "Sampling temperature (higher = more random)"); - opt("top-p", - prog_opts::value()->default_value(sampling_defaults.top_p), - "Nucleus sampling top-p in (0,1] (higher = more random)"); - opt("top-k", - prog_opts::value()->default_value(sampling_defaults.top_k), - "Top-k sampling parameter (higher = more candidate tokens)"); - opt("n-ctx", - prog_opts::value()->default_value(sampling_defaults.n_ctx), - "Context window size in tokens"); - opt("seed", prog_opts::value()->default_value(sampling_defaults.seed), - "Sampler seed: -1 for random, otherwise non-negative integer"); - opt("n-gpu-layers", prog_opts::value()->default_value(0), - "Number of layers to offload to GPU"); - }; + auto add_sampling_options = [&]() -> void { + const SamplingOptions sampling_defaults{}; + opt("temperature", + prog_opts::value()->default_value( + sampling_defaults.temperature), + "Sampling temperature (higher = more random)"); + opt("top-p", + prog_opts::value()->default_value(sampling_defaults.top_p), + "Nucleus sampling top-p in (0,1] (higher = more random)"); + opt("top-k", + prog_opts::value()->default_value(sampling_defaults.top_k), + "Top-k sampling parameter (higher = more candidate tokens)"); + opt("n-ctx", + prog_opts::value()->default_value(sampling_defaults.n_ctx), + "Context window size in tokens"); + opt("seed", + prog_opts::value()->default_value(sampling_defaults.seed), + "Sampler seed: -1 for random, otherwise non-negative integer"); + opt("n-gpu-layers", prog_opts::value()->default_value(0), + "Number of layers to offload to GPU"); + }; - // --mocked and --model are mutually exclusive; validation is enforced below - // rather than at registration to produce a clear diagnostic message. - auto add_generator_options = [&]() -> void { - opt("mocked", prog_opts::bool_switch(), - "Use mocked generator for brewery/user data"); - opt("model,m", prog_opts::value()->default_value(""), - "Path to LLM model (gguf)"); - }; + // --mocked and --model are mutually exclusive; validation is enforced below + // rather than at registration to produce a clear diagnostic message. + auto add_generator_options = [&]() -> void { + opt("mocked", prog_opts::bool_switch(), + "Use mocked generator for brewery/user data"); + opt("model,m", prog_opts::value()->default_value(""), + "Path to LLM model (gguf)"); + }; - auto add_pipeline_options = [&]() -> void { - opt("output,o", prog_opts::value()->default_value("output"), - "Directory for generated artifacts"); - opt("log-path", - prog_opts::value()->default_value("pipeline.log"), - "Path for application logs"); - opt("prompt-dir", prog_opts::value()->default_value(""), - "Directory containing named prompt files (e.g. " - "BREWERY_GENERATION.md)." - " Required when not using --mocked."); - opt("location-count", prog_opts::value()->default_value(10)); - }; + auto add_pipeline_options = [&]() -> void { + opt("output,o", prog_opts::value()->default_value("output"), + "Directory for generated artifacts"); + opt("log-path", + prog_opts::value()->default_value("pipeline.log"), + "Path for application logs"); + opt("prompt-dir", prog_opts::value()->default_value(""), + "Directory containing named prompt files (e.g. " + "BREWERY_GENERATION.md)." + " Required when not using --mocked."); + opt("location-count", prog_opts::value()->default_value(10)); + }; - add_sampling_options(); - add_generator_options(); - add_pipeline_options(); + add_sampling_options(); + add_generator_options(); + add_pipeline_options(); - // No flags provided — treat as a help request rather than an error. - if (argc == 1) { - const std::string title = "Biergarten Pipeline"; - const std::string usage = ([&] { - std::stringstream usage_stream; - usage_stream << "\nUsage: biergarten-pipeline [options]\n\n" << desc; - return usage_stream.str(); - })(); - if (logger) { - logger->Log(LogDTO{.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = title}); - logger->Log(LogDTO{.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = usage}); - } - return std::nullopt; - } - - try { - prog_opts::variables_map var_map; - prog_opts::store(prog_opts::parse_command_line(argc, argv, desc), var_map); - prog_opts::notify(var_map); - - if (var_map.contains("help")) { - std::stringstream help_stream; - help_stream << "\n" << desc; + // No flags provided — treat as a help request rather than an error. + if (argc == 1) { + const std::string title = "Biergarten Pipeline"; + const std::string usage = ([&] { + std::stringstream usage_stream; + usage_stream << "\nUsage: biergarten-pipeline [options]\n\n" << desc; + return usage_stream.str(); + })(); if (logger) { - logger->Log(LogDTO{.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = help_stream.str()}); + logger->Log(LogDTO{.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = title}); + logger->Log(LogDTO{.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = usage}); } return std::nullopt; - } + } - ApplicationOptions options; + try { + prog_opts::variables_map var_map; + prog_opts::store(prog_opts::parse_command_line(argc, argv, desc), + var_map); + prog_opts::notify(var_map); - options.pipeline.output_path = var_map["output"].as(); - options.pipeline.log_path = var_map["log-path"].as(); - options.pipeline.prompt_dir = var_map["prompt-dir"].as(); - options.pipeline.location_count = var_map["location-count"].as(); - - const bool use_mocked = var_map["mocked"].as(); - const std::string model_path = var_map["model"].as(); - const int n_gpu_layers = var_map["n-gpu-layers"].as(); - - // Enforce mutual exclusivity before any further configuration is - // applied. - if (use_mocked && !model_path.empty()) { - const std::string msg = - "Invalid arguments: --mocked and --model are mutually " - "exclusive"; - if (logger) { - logger->Log(LogDTO{.level = LogLevel::Error, - .phase = PipelinePhase::Startup, - .message = msg}); - } else { - std::cerr << msg << std::endl; + if (var_map.contains("help")) { + std::stringstream help_stream; + help_stream << "\n" << desc; + if (logger) { + logger->Log(LogDTO{.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = help_stream.str()}); + } + return std::nullopt; } - return std::nullopt; - } - if (!use_mocked && model_path.empty()) { - const std::string msg = - "Invalid arguments: either --mocked or --model must be " - "specified"; - if (logger) { - logger->Log(LogDTO{.level = LogLevel::Error, - .phase = PipelinePhase::Startup, - .message = msg}); - } else { - std::cerr << msg << std::endl; + ApplicationOptions options; + + options.pipeline.output_path = var_map["output"].as(); + options.pipeline.log_path = var_map["log-path"].as(); + options.pipeline.prompt_dir = var_map["prompt-dir"].as(); + options.pipeline.location_count = + var_map["location-count"].as(); + + const bool use_mocked = var_map["mocked"].as(); + const std::string model_path = var_map["model"].as(); + const int n_gpu_layers = var_map["n-gpu-layers"].as(); + + // Enforce mutual exclusivity before any further configuration is + // applied. + if (use_mocked && !model_path.empty()) { + const std::string msg = + "Invalid arguments: --mocked and --model are mutually " + "exclusive"; + if (logger) { + logger->Log(LogDTO{.level = LogLevel::Error, + .phase = PipelinePhase::Startup, + .message = msg}); + } else { + std::cerr << msg << std::endl; + } + return std::nullopt; } - return std::nullopt; - } - // Prompt directory is only meaningful for live inference — the mock - // generator has no use for it and should not require it to be present. - if (!use_mocked && options.pipeline.prompt_dir.empty()) { - const std::string msg = - "Invalid arguments: --prompt-dir is required when not using " - "--mocked"; - if (logger) { - logger->Log({.level = LogLevel::Error, - .phase = PipelinePhase::Startup, - .message = msg}); - } else { - std::cerr << msg << std::endl; + if (!use_mocked && model_path.empty()) { + const std::string msg = + "Invalid arguments: either --mocked or --model must be " + "specified"; + if (logger) { + logger->Log(LogDTO{.level = LogLevel::Error, + .phase = PipelinePhase::Startup, + .message = msg}); + } else { + std::cerr << msg << std::endl; + } + return std::nullopt; } - return std::nullopt; - } - options.generator.use_mocked = use_mocked; - options.generator.model_path = model_path; - - // Only populate sampling config when the user explicitly overrides at - // least one value. Leaving it as std::nullopt lets LlamaGenerator fall - // back to its own SamplingOptions{} defaults, keeping the two paths - // consistent without redundant copies. - const bool user_provided_sampling = - !var_map["temperature"].defaulted() || !var_map["top-p"].defaulted() || - !var_map["top-k"].defaulted() || !var_map["n-ctx"].defaulted() || - !var_map["seed"].defaulted() || !var_map["n_gpu_layers"].defaulted(); - - if (user_provided_sampling) { - // Warn but do not fail — the run is still valid, the flags are just - // silently irrelevant when no model is loaded. - if (use_mocked) { - const std::string msg = - "Sampling parameters are ignored when using --mocked"; - if (logger) { - logger->Log(LogDTO{.level = LogLevel::Warn, - .phase = PipelinePhase::Startup, - .message = msg}); - } else { - std::cerr << msg << std::endl; - } - } else { - SamplingOptions sampling; - sampling.temperature = var_map["temperature"].as(); - sampling.top_p = var_map["top-p"].as(); - sampling.top_k = var_map["top-k"].as(); - sampling.n_ctx = var_map["n-ctx"].as(); - sampling.seed = var_map["seed"].as(); - sampling.n_gpu_layers = var_map["n-gpu-layers"].as(); - - options.generator.sampling = sampling; - } - } - - return options; - - } catch (const std::exception& exception) { - const std::string msg = - std::string("Failed to parse command-line arguments: ") + - exception.what(); - if (logger) { - logger->Log(LogDTO{.level = LogLevel::Error, + // Prompt directory is only meaningful for live inference — the mock + // generator has no use for it and should not require it to be present. + if (!use_mocked && options.pipeline.prompt_dir.empty()) { + const std::string msg = + "Invalid arguments: --prompt-dir is required when not using " + "--mocked"; + if (logger) { + logger->Log({.level = LogLevel::Error, .phase = PipelinePhase::Startup, .message = msg}); - } - return std::nullopt; - } catch (...) { - const std::string msg = - "Failed to parse command-line arguments: unknown error"; - if (logger) { - logger->Log(LogDTO{.level = LogLevel::Error, - .phase = PipelinePhase::Startup, - .message = msg}); - } - return std::nullopt; - } + } else { + std::cerr << msg << std::endl; + } + return std::nullopt; + } + + options.generator.use_mocked = use_mocked; + options.generator.model_path = model_path; + + // Only populate sampling config when the user explicitly overrides at + // least one value. Leaving it as std::nullopt lets LlamaGenerator fall + // back to its own SamplingOptions{} defaults, keeping the two paths + // consistent without redundant copies. + const bool user_provided_sampling = + !var_map["temperature"].defaulted() || + !var_map["top-p"].defaulted() || !var_map["top-k"].defaulted() || + !var_map["n-ctx"].defaulted() || !var_map["seed"].defaulted() || + !var_map["n_gpu_layers"].defaulted(); + + if (user_provided_sampling) { + // Warn but do not fail — the run is still valid, the flags are just + // silently irrelevant when no model is loaded. + if (use_mocked) { + const std::string msg = + "Sampling parameters are ignored when using --mocked"; + if (logger) { + logger->Log(LogDTO{.level = LogLevel::Warn, + .phase = PipelinePhase::Startup, + .message = msg}); + } else { + std::cerr << msg << std::endl; + } + } else { + SamplingOptions sampling; + sampling.temperature = var_map["temperature"].as(); + sampling.top_p = var_map["top-p"].as(); + sampling.top_k = var_map["top-k"].as(); + sampling.n_ctx = var_map["n-ctx"].as(); + sampling.seed = var_map["seed"].as(); + sampling.n_gpu_layers = var_map["n-gpu-layers"].as(); + + options.generator.sampling = sampling; + } + } + + return options; + + } catch (const std::exception& exception) { + const std::string msg = + std::string("Failed to parse command-line arguments: ") + + exception.what(); + if (logger) { + logger->Log(LogDTO{.level = LogLevel::Error, + .phase = PipelinePhase::Startup, + .message = msg}); + } + return std::nullopt; + } catch (...) { + const std::string msg = + "Failed to parse command-line arguments: unknown error"; + if (logger) { + logger->Log(LogDTO{.level = LogLevel::Error, + .phase = PipelinePhase::Startup, + .message = msg}); + } + return std::nullopt; + } } diff --git a/tooling/pipeline/src/biergarten_pipeline_orchestrator/generate_breweries.cc b/tooling/pipeline/src/biergarten_pipeline_orchestrator/generate_breweries.cc index 69bade26..d2e273b1 100644 --- a/tooling/pipeline/src/biergarten_pipeline_orchestrator/generate_breweries.cc +++ b/tooling/pipeline/src/biergarten_pipeline_orchestrator/generate_breweries.cc @@ -12,80 +12,83 @@ void BiergartenPipelineOrchestrator::GenerateBreweries( std::span cities) { - logger_->Log({.level = LogLevel::Info, - .phase = PipelinePhase::BreweryAndBeerGeneration, - .message = "=== SAMPLE BREWERY GENERATION ==="}); + logger_->Log({.level = LogLevel::Info, + .phase = PipelinePhase::BreweryAndBeerGeneration, + .message = "=== SAMPLE BREWERY GENERATION ==="}); - generated_breweries_.clear(); - size_t skipped_count = 0; - size_t export_failed_count = 0; + generated_breweries_.clear(); + size_t skipped_count = 0; + size_t export_failed_count = 0; - const auto generate_record = - [this, &skipped_count]( - const EnrichedCity& enriched_city) -> std::optional { - try { - const BreweryResult brewery = generator_->GenerateBrewery(enriched_city); - const std::string postal_code = - postal_code_service_->GeneratePostalCode(enriched_city.location); - return BreweryRecord{ - .address = BreweryAddress{.city = enriched_city.location, - .postal_code = postal_code}, - .brewery = brewery}; - } catch (const std::exception& e) { - ++skipped_count; + const auto generate_record = + [this, &skipped_count]( + const EnrichedCity& enriched_city) -> std::optional { + try { + const BreweryResult brewery = + generator_->GenerateBrewery(enriched_city); + const std::string postal_code = + postal_code_service_->GeneratePostalCode(enriched_city.location); + return BreweryRecord{ + .address = BreweryAddress{.city = enriched_city.location, + .postal_code = postal_code}, + .brewery = brewery}; + } catch (const std::exception& e) { + ++skipped_count; + logger_->Log({.level = LogLevel::Warn, + .phase = PipelinePhase::BreweryAndBeerGeneration, + .message = std::format( + "[Pipeline] Skipping city '{}' ({}): brewery " + "generation failed: {}", + enriched_city.location.city, + enriched_city.location.country, e.what())}); + return std::nullopt; + } + }; + + const auto export_record = + [this, &export_failed_count](const BreweryRecord& record) { + try { + exporter_->ProcessRecord(record); + } catch (const std::exception& export_exception) { + ++export_failed_count; + logger_->Log( + {.level = LogLevel::Warn, + .phase = PipelinePhase::BreweryAndBeerGeneration, + .message = std::format( + "[Pipeline] Generated brewery for '{}' ({}) " + "but SQLite export failed: {}", + record.address.city.city, record.address.city.country, + export_exception.what())}); + } + }; + + for (const EnrichedCity& enriched_city : cities) { + const std::optional record = + generate_record(enriched_city); + if (!record.has_value()) { + continue; + } + + generated_breweries_.push_back(*record); + export_record(*record); + } + + if (skipped_count > 0) { logger_->Log( {.level = LogLevel::Warn, .phase = PipelinePhase::BreweryAndBeerGeneration, - .message = std::format("[Pipeline] Skipping city '{}' ({}): brewery " - "generation failed: {}", - enriched_city.location.city, - enriched_city.location.country, e.what())}); - return std::nullopt; - } - }; + .message = std::format( + "[Pipeline] Skipped {} city/cities due to generation errors", + skipped_count)}); + } - const auto export_record = [this, &export_failed_count]( - const BreweryRecord& record) { - try { - exporter_->ProcessRecord(record); - } catch (const std::exception& export_exception) { - ++export_failed_count; - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::BreweryAndBeerGeneration, - .message = std::format( - "[Pipeline] Generated brewery for '{}' ({}) " - "but SQLite export failed: {}", - record.address.city.city, record.address.city.country, - export_exception.what())}); - } - }; - - for (const EnrichedCity& enriched_city : cities) { - const std::optional record = generate_record(enriched_city); - if (!record.has_value()) { - continue; - } - - generated_breweries_.push_back(*record); - export_record(*record); - } - - if (skipped_count > 0) { - logger_->Log( - {.level = LogLevel::Warn, - .phase = PipelinePhase::BreweryAndBeerGeneration, - .message = std::format( - "[Pipeline] Skipped {} city/cities due to generation errors", - skipped_count)}); - } - - if (export_failed_count > 0) { - logger_->Log( - {.level = LogLevel::Warn, - .phase = PipelinePhase::Teardown, - .message = std::format("[Pipeline] Failed to export {} generated " - "brewery/breweries to SQLite", - export_failed_count)}); - } + if (export_failed_count > 0) { + logger_->Log( + {.level = LogLevel::Warn, + .phase = PipelinePhase::Teardown, + .message = std::format("[Pipeline] Failed to export {} generated " + "brewery/breweries to SQLite", + export_failed_count)}); + } } diff --git a/tooling/pipeline/src/biergarten_pipeline_orchestrator/generate_users.cc b/tooling/pipeline/src/biergarten_pipeline_orchestrator/generate_users.cc index a16e85a2..7dd2fb60 100644 --- a/tooling/pipeline/src/biergarten_pipeline_orchestrator/generate_users.cc +++ b/tooling/pipeline/src/biergarten_pipeline_orchestrator/generate_users.cc @@ -20,203 +20,205 @@ namespace { std::string Sanitize(std::string_view value) { - std::string out; - out.reserve(value.size()); - for (const char character : value) { - if (std::isalnum(static_cast(character)) != 0) { - out.push_back(static_cast( - std::tolower(static_cast(character)))); - } - } - return out; + std::string out; + out.reserve(value.size()); + for (const char character : value) { + if (std::isalnum(static_cast(character)) != 0) { + out.push_back(static_cast( + std::tolower(static_cast(character)))); + } + } + return out; } std::string BuildEmail(const Name& name, std::unordered_set& used_local_parts) { - const std::string base = - std::format("{}.{}", Sanitize(name.first_name), Sanitize(name.last_name)); + const std::string base = std::format("{}.{}", Sanitize(name.first_name), + Sanitize(name.last_name)); - std::string local_part = base; - uint32_t suffix = 1; + std::string local_part = base; + uint32_t suffix = 1; - while (used_local_parts.contains(local_part)) { - local_part = std::format("{}{}", base, suffix); - ++suffix; - } + while (used_local_parts.contains(local_part)) { + local_part = std::format("{}{}", base, suffix); + ++suffix; + } - used_local_parts.insert(local_part); + used_local_parts.insert(local_part); - return std::format("{}@thebiergarten.app", local_part); + return std::format("{}@thebiergarten.app", local_part); } std::string GenerateDateOfBirth(std::mt19937& rng) { - using namespace std::chrono; + using namespace std::chrono; - constexpr int kMinAge = 19; - constexpr int kMaxAge = 48; - constexpr int kMaxDayOffset = 364; + constexpr int kMinAge = 19; + constexpr int kMaxAge = 48; + constexpr int kMaxDayOffset = 364; - std::uniform_int_distribution age_dist(kMinAge, kMaxAge); - std::uniform_int_distribution day_offset_dist(0, kMaxDayOffset); + std::uniform_int_distribution age_dist(kMinAge, kMaxAge); + std::uniform_int_distribution day_offset_dist(0, kMaxDayOffset); - const year_month_day today{floor(system_clock::now())}; - const year_month_day birth_year_anchor{today.year() - years{age_dist(rng)}, - today.month(), today.day()}; - const sys_days birth_date = - sys_days{birth_year_anchor} - days{day_offset_dist(rng)}; - const year_month_day birth_ymd{birth_date}; + const year_month_day today{floor(system_clock::now())}; + const year_month_day birth_year_anchor{today.year() - years{age_dist(rng)}, + today.month(), today.day()}; + const sys_days birth_date = + sys_days{birth_year_anchor} - days{day_offset_dist(rng)}; + const year_month_day birth_ymd{birth_date}; - return std::format("{:04}-{:02}-{:02}", static_cast(birth_ymd.year()), - static_cast(birth_ymd.month()), - static_cast(birth_ymd.day())); + return std::format("{:04}-{:02}-{:02}", static_cast(birth_ymd.year()), + static_cast(birth_ymd.month()), + static_cast(birth_ymd.day())); } std::optional SampleName( const ForenamesByCountryMap& forenames_by_country, const SurnamesByCountryMap& surnames_by_country, const std::string& iso3166_1, std::mt19937& rng) { - const auto forenames_it = forenames_by_country.find(iso3166_1); - const auto surnames_it = surnames_by_country.find(iso3166_1); + const auto forenames_it = forenames_by_country.find(iso3166_1); + const auto surnames_it = surnames_by_country.find(iso3166_1); - if (forenames_it == forenames_by_country.end() || - surnames_it == surnames_by_country.end() || - forenames_it->second.empty() || surnames_it->second.empty()) { - return std::nullopt; - } + if (forenames_it == forenames_by_country.end() || + surnames_it == surnames_by_country.end() || + forenames_it->second.empty() || surnames_it->second.empty()) { + return std::nullopt; + } - const ForenameList& forenames = forenames_it->second; - const SurnameList& surnames = surnames_it->second; + const ForenameList& forenames = forenames_it->second; + const SurnameList& surnames = surnames_it->second; - std::uniform_int_distribution forename_dist(0, forenames.size() - 1); - std::uniform_int_distribution surname_dist(0, surnames.size() - 1); + std::uniform_int_distribution forename_dist(0, forenames.size() - 1); + std::uniform_int_distribution surname_dist(0, surnames.size() - 1); - auto forename_it = forenames.begin(); - std::advance(forename_it, forename_dist(rng)); + auto forename_it = forenames.begin(); + std::advance(forename_it, forename_dist(rng)); - auto surname_it = surnames.begin(); - std::advance(surname_it, surname_dist(rng)); + auto surname_it = surnames.begin(); + std::advance(surname_it, surname_dist(rng)); - return Name{.first_name = forename_it->name, - .last_name = *surname_it, - .gender = forename_it->gender}; + return Name{.first_name = forename_it->name, + .last_name = *surname_it, + .gender = forename_it->gender}; } } // namespace void BiergartenPipelineOrchestrator::GenerateUsers( std::span cities) { - logger_->Log({.level = LogLevel::Info, - .phase = PipelinePhase::UserGeneration, - .message = "=== SAMPLE USER GENERATION ==="}); + logger_->Log({.level = LogLevel::Info, + .phase = PipelinePhase::UserGeneration, + .message = "=== SAMPLE USER GENERATION ==="}); - const PersonasList& personas = curated_data_service_->LoadPersonas(); + const PersonasList& personas = curated_data_service_->LoadPersonas(); - if (personas.empty()) { - throw std::runtime_error( - "No personas available in personas.json for user generation"); - } + if (personas.empty()) { + throw std::runtime_error( + "No personas available in personas.json for user generation"); + } - const ForenamesByCountryMap& forenames_by_country = - curated_data_service_->LoadForenamesByCountry(); - const SurnamesByCountryMap& surnames_by_country = - curated_data_service_->LoadSurnamesByCountry(); + const ForenamesByCountryMap& forenames_by_country = + curated_data_service_->LoadForenamesByCountry(); + const SurnamesByCountryMap& surnames_by_country = + curated_data_service_->LoadSurnamesByCountry(); - std::mt19937 rng(std::random_device{}()); - std::uniform_int_distribution persona_dist(0, personas.size() - 1); + std::mt19937 rng(std::random_device{}()); + std::uniform_int_distribution persona_dist(0, personas.size() - 1); - generated_users_.clear(); - size_t skipped_count = 0; - size_t export_failed_count = 0; - std::unordered_set used_email_local_parts; + generated_users_.clear(); + size_t skipped_count = 0; + size_t export_failed_count = 0; + std::unordered_set used_email_local_parts; - const auto generate_record = - [this, &rng, &skipped_count, &used_email_local_parts]( - const EnrichedCity& city, const UserPersona& persona, - const Name& sampled_name) -> std::optional { - try { - const UserResult user = - generator_->GenerateUser(city, persona, sampled_name); - const std::string postal_code = - postal_code_service_->GeneratePostalCode(city.location); + const auto generate_record = + [this, &rng, &skipped_count, &used_email_local_parts]( + const EnrichedCity& city, const UserPersona& persona, + const Name& sampled_name) -> std::optional { + try { + const UserResult user = + generator_->GenerateUser(city, persona, sampled_name); + const std::string postal_code = + postal_code_service_->GeneratePostalCode(city.location); - return UserRecord{ - .address = - UserAddress{.city = city.location, .postal_code = postal_code}, - .user = user, - .email = BuildEmail(sampled_name, used_email_local_parts), - .date_of_birth = GenerateDateOfBirth(rng), - }; - } catch (const std::exception& e) { - ++skipped_count; + return UserRecord{ + .address = + UserAddress{.city = city.location, .postal_code = postal_code}, + .user = user, + .email = BuildEmail(sampled_name, used_email_local_parts), + .date_of_birth = GenerateDateOfBirth(rng), + }; + } catch (const std::exception& e) { + ++skipped_count; + logger_->Log( + {.level = LogLevel::Warn, + .phase = PipelinePhase::UserGeneration, + .message = std::format("[Pipeline] Skipping city '{}' ({}): " + "user generation failed: {}", + city.location.city, city.location.country, + e.what())}); + return std::nullopt; + } + }; + + const auto export_record = [this, + &export_failed_count](const UserRecord& record) { + try { + exporter_->ProcessRecord(record); + } catch (const std::exception& export_exception) { + ++export_failed_count; + + logger_->Log( + {.level = LogLevel::Warn, + .phase = PipelinePhase::UserGeneration, + .message = std::format( + "[Pipeline] Generated user for '{}' ({}) but " + "SQLite export failed: {}", + record.address.city.city, record.address.city.country, + export_exception.what())}); + } + }; + + for (const auto& city : cities) { + const std::optional sampled_name = + SampleName(forenames_by_country, surnames_by_country, + city.location.iso3166_1, rng); + + if (!sampled_name.has_value()) { + ++skipped_count; + logger_->Log({.level = LogLevel::Warn, + .phase = PipelinePhase::UserGeneration, + .message = std::format( + "[Pipeline] Skipping city '{}' ({}): no names " + "available for country '{}'", + city.location.city, city.location.country, + city.location.iso3166_1)}); + continue; + } + + const UserPersona& persona = personas[persona_dist(rng)]; + + const std::optional record = + generate_record(city, persona, *sampled_name); + if (!record.has_value()) { + continue; + } + + generated_users_.push_back(*record); + export_record(*record); + } + + if (skipped_count > 0) { + logger_->Log( + {.level = LogLevel::Warn, + .phase = PipelinePhase::UserGeneration, + .message = std::format( + "[Pipeline] Skipped {} city/cities during user generation", + skipped_count)}); + } + + if (export_failed_count > 0) { logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::UserGeneration, - .message = std::format( - "[Pipeline] Skipping city '{}' ({}): " - "user generation failed: {}", - city.location.city, city.location.country, e.what())}); - return std::nullopt; - } - }; - - const auto export_record = [this, - &export_failed_count](const UserRecord& record) { - try { - exporter_->ProcessRecord(record); - } catch (const std::exception& export_exception) { - ++export_failed_count; - - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::UserGeneration, - .message = std::format( - "[Pipeline] Generated user for '{}' ({}) but " - "SQLite export failed: {}", - record.address.city.city, record.address.city.country, - export_exception.what())}); - } - }; - - for (const auto& city : cities) { - const std::optional sampled_name = - SampleName(forenames_by_country, surnames_by_country, - city.location.iso3166_1, rng); - - if (!sampled_name.has_value()) { - ++skipped_count; - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::UserGeneration, - .message = std::format( - "[Pipeline] Skipping city '{}' ({}): no names " - "available for country '{}'", - city.location.city, city.location.country, - city.location.iso3166_1)}); - continue; - } - - const UserPersona& persona = personas[persona_dist(rng)]; - - const std::optional record = - generate_record(city, persona, *sampled_name); - if (!record.has_value()) { - continue; - } - - generated_users_.push_back(*record); - export_record(*record); - } - - if (skipped_count > 0) { - logger_->Log( - {.level = LogLevel::Warn, - .phase = PipelinePhase::UserGeneration, - .message = std::format( - "[Pipeline] Skipped {} city/cities during user generation", - skipped_count)}); - } - - if (export_failed_count > 0) { - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::Teardown, - .message = std::format("[Pipeline] Failed to export {} " - "generated user/users to SQLite", - export_failed_count)}); - } + .phase = PipelinePhase::Teardown, + .message = std::format("[Pipeline] Failed to export {} " + "generated user/users to SQLite", + export_failed_count)}); + } } diff --git a/tooling/pipeline/src/biergarten_pipeline_orchestrator/log_results.cc b/tooling/pipeline/src/biergarten_pipeline_orchestrator/log_results.cc index 0fa7af00..5dd3c209 100644 --- a/tooling/pipeline/src/biergarten_pipeline_orchestrator/log_results.cc +++ b/tooling/pipeline/src/biergarten_pipeline_orchestrator/log_results.cc @@ -12,48 +12,48 @@ #include "services/logging/logger.h" void BiergartenPipelineOrchestrator::LogResults() const { - boost::json::array brewery_output; + boost::json::array brewery_output; - for (const auto& [address, brewery] : generated_breweries_) { - const City& city = address.city; - brewery_output.push_back(boost::json::object{ - {"name_en", brewery.name_en}, - {"description_en", brewery.description_en}, - {"name_local", brewery.name_local}, - {"description_local", brewery.description_local}, - {"address", boost::json::object{ - {"city", city.city}, - {"country", city.country}, - {"state_province", city.state_province}, - {"iso3166_2", city.iso3166_2}, - {"postal_code", address.postal_code}, - }}}); - } + for (const auto& [address, brewery] : generated_breweries_) { + const City& city = address.city; + brewery_output.push_back(boost::json::object{ + {"name_en", brewery.name_en}, + {"description_en", brewery.description_en}, + {"name_local", brewery.name_local}, + {"description_local", brewery.description_local}, + {"address", boost::json::object{ + {"city", city.city}, + {"country", city.country}, + {"state_province", city.state_province}, + {"iso3166_2", city.iso3166_2}, + {"postal_code", address.postal_code}, + }}}); + } - std::ostringstream brewery_oss; - PrettyPrint(brewery_oss, brewery_output); - logger_->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Teardown, - .message = brewery_oss.str()}); + std::ostringstream brewery_oss; + PrettyPrint(brewery_oss, brewery_output); + logger_->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Teardown, + .message = brewery_oss.str()}); - boost::json::array user_output; + boost::json::array user_output; - for (const auto& generated_user : generated_users_) { - user_output.push_back(boost::json::object{ - {"first_name", generated_user.user.first_name}, - {"last_name", generated_user.user.last_name}, - {"gender", generated_user.user.gender}, - {"username", generated_user.user.username}, - {"bio", generated_user.user.bio}, - {"activity_weight", generated_user.user.activity_weight}, - {"email", generated_user.email}, - {"date_of_birth", generated_user.date_of_birth}, - }); - } + for (const auto& generated_user : generated_users_) { + user_output.push_back(boost::json::object{ + {"first_name", generated_user.user.first_name}, + {"last_name", generated_user.user.last_name}, + {"gender", generated_user.user.gender}, + {"username", generated_user.user.username}, + {"bio", generated_user.user.bio}, + {"activity_weight", generated_user.user.activity_weight}, + {"email", generated_user.email}, + {"date_of_birth", generated_user.date_of_birth}, + }); + } - std::ostringstream user_oss; - PrettyPrint(user_oss, user_output); - logger_->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Teardown, - .message = user_oss.str()}); + std::ostringstream user_oss; + PrettyPrint(user_oss, user_output); + logger_->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Teardown, + .message = user_oss.str()}); } diff --git a/tooling/pipeline/src/biergarten_pipeline_orchestrator/query_cities_with_countries.cc b/tooling/pipeline/src/biergarten_pipeline_orchestrator/query_cities_with_countries.cc index 76999f43..95e9c096 100644 --- a/tooling/pipeline/src/biergarten_pipeline_orchestrator/query_cities_with_countries.cc +++ b/tooling/pipeline/src/biergarten_pipeline_orchestrator/query_cities_with_countries.cc @@ -14,37 +14,36 @@ #include "services/curated_data/curated_json_data_service.h" #include "services/logging/logger.h" -std::vector -BiergartenPipelineOrchestrator::QueryLocations() { - logger_->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = "=== GEOGRAPHIC DATA OVERVIEW ==="}); +std::vector BiergartenPipelineOrchestrator::QueryLocations() { + logger_->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = "=== GEOGRAPHIC DATA OVERVIEW ==="}); - const std::vector& all_locations = - curated_data_service_->LoadLocations(); + const std::vector& all_locations = + curated_data_service_->LoadLocations(); - const size_t sample_count = std::min( - static_cast(application_options_.pipeline.location_count), - all_locations.size()); + const size_t sample_count = std::min( + static_cast(application_options_.pipeline.location_count), + all_locations.size()); - const auto sample_count_signed = - static_cast>( - sample_count); + const auto sample_count_signed = + static_cast>( + sample_count); - std::vector sampled_locations; - sampled_locations.reserve(sample_count); + std::vector sampled_locations; + sampled_locations.reserve(sample_count); - std::random_device random_generator; - std::ranges::sample(all_locations, std::back_inserter(sampled_locations), - sample_count_signed, random_generator); + std::random_device random_generator; + std::ranges::sample(all_locations, std::back_inserter(sampled_locations), + sample_count_signed, random_generator); - logger_->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = std::format(" Locations available: {}", - all_locations.size())}); - logger_->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = std::format(" Sampled locations: {}", - sampled_locations.size())}); - return sampled_locations; + logger_->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = std::format(" Locations available: {}", + all_locations.size())}); + logger_->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = std::format(" Sampled locations: {}", + sampled_locations.size())}); + return sampled_locations; } diff --git a/tooling/pipeline/src/biergarten_pipeline_orchestrator/run.cc b/tooling/pipeline/src/biergarten_pipeline_orchestrator/run.cc index 8e3bb25b..136dc0ca 100644 --- a/tooling/pipeline/src/biergarten_pipeline_orchestrator/run.cc +++ b/tooling/pipeline/src/biergarten_pipeline_orchestrator/run.cc @@ -11,51 +11,52 @@ #include "services/logging/logger.h" bool BiergartenPipelineOrchestrator::Run() { - try { - exporter_->Initialize(); + try { + exporter_->Initialize(); - std::vector cities = QueryLocations(); - std::vector enriched; - enriched.reserve(cities.size()); + std::vector cities = QueryLocations(); + std::vector enriched; + enriched.reserve(cities.size()); - size_t skipped_count = 0; - for (auto& city : cities) { - try { - std::string region_context = context_service_->GetLocationContext(city); + size_t skipped_count = 0; + for (auto& city : cities) { + try { + std::string region_context = + context_service_->GetLocationContext(city); - enriched.push_back( - EnrichedCity{.location = std::move(city), - .region_context = std::move(region_context)}); - } catch (const std::exception& exception) { - ++skipped_count; - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::Enrichment, - .message = std::format( - "[Pipeline] Skipping city '{}' ({}): context " - "lookup failed: {}", - city.city, city.country, exception.what())}); + enriched.push_back( + EnrichedCity{.location = std::move(city), + .region_context = std::move(region_context)}); + } catch (const std::exception& exception) { + ++skipped_count; + logger_->Log({.level = LogLevel::Warn, + .phase = PipelinePhase::Enrichment, + .message = std::format( + "[Pipeline] Skipping city '{}' ({}): context " + "lookup failed: {}", + city.city, city.country, exception.what())}); + } } - } - if (skipped_count > 0) { - logger_->Log( - {.level = LogLevel::Warn, - .phase = PipelinePhase::Enrichment, - .message = std::format("[Pipeline] Skipped {} city/cities due " - "to context lookup errors", - skipped_count)}); - } + if (skipped_count > 0) { + logger_->Log( + {.level = LogLevel::Warn, + .phase = PipelinePhase::Enrichment, + .message = std::format("[Pipeline] Skipped {} city/cities due " + "to context lookup errors", + skipped_count)}); + } - this->GenerateUsers(enriched); - this->GenerateBreweries(enriched); - exporter_->Finalize(); - this->LogResults(); - return true; - } catch (const std::exception& e) { - logger_->Log({.level = LogLevel::Error, - .phase = PipelinePhase::Teardown, - .message = std::format( - "Pipeline execution failed with error: {}", e.what())}); - return false; - } + this->GenerateUsers(enriched); + this->GenerateBreweries(enriched); + exporter_->Finalize(); + this->LogResults(); + return true; + } catch (const std::exception& e) { + logger_->Log({.level = LogLevel::Error, + .phase = PipelinePhase::Teardown, + .message = std::format( + "Pipeline execution failed with error: {}", e.what())}); + return false; + } } diff --git a/tooling/pipeline/src/data_generation/llama/generate_brewery.cc b/tooling/pipeline/src/data_generation/llama/generate_brewery.cc index f9362bd2..d110e5f3 100644 --- a/tooling/pipeline/src/data_generation/llama/generate_brewery.cc +++ b/tooling/pipeline/src/data_generation/llama/generate_brewery.cc @@ -18,144 +18,144 @@ static std::string FormatLocalLanguageCodes( const std::vector& codes) { - if (codes.empty()) { - return "Not provided"; - } + if (codes.empty()) { + return "Not provided"; + } - std::string formatted; - for (const std::string& code : codes) { - if (!formatted.empty()) { - formatted += ", "; - } - formatted += code; - } + std::string formatted; + for (const std::string& code : codes) { + if (!formatted.empty()) { + formatted += ", "; + } + formatted += code; + } - return formatted; + return formatted; } static constexpr int kBreweryInitialMaxTokens = 2800; BreweryResult LlamaGenerator::GenerateBrewery( const EnrichedCity& enriched_city) { - const City& location = enriched_city.location; - const std::string& region_context = enriched_city.region_context; - /** - * Preprocess and truncate region context to manageable size - */ - const std::string safe_region_context = PrepareRegionContext(region_context); + const City& location = enriched_city.location; + const std::string& region_context = enriched_city.region_context; + /** + * Preprocess and truncate region context to manageable size + */ + const std::string safe_region_context = PrepareRegionContext(region_context); - const std::string local_language_codes = - FormatLocalLanguageCodes(location.local_languages); + const std::string local_language_codes = + FormatLocalLanguageCodes(location.local_languages); - const std::string country_suffix = - location.country.empty() ? std::string{} - : std::format(", {}", location.country); - /** - * Load brewery system prompt via the injected prompt directory. - * The key "BREWERY_GENERATION" resolves to BREWERY_GENERATION.md inside - * the configured --prompt-dir. Throws on missing or empty file. - */ - const std::string system_prompt = - prompt_directory_->Load("BREWERY_GENERATION"); + const std::string country_suffix = + location.country.empty() ? std::string{} + : std::format(", {}", location.country); + /** + * Load brewery system prompt via the injected prompt directory. + * The key "BREWERY_GENERATION" resolves to BREWERY_GENERATION.md inside + * the configured --prompt-dir. Throws on missing or empty file. + */ + const std::string system_prompt = + prompt_directory_->Load("BREWERY_GENERATION"); - std::string user_prompt = std::format( - "## CITY:\n{}\n\n## COUNTRY:\n{}\n\n## LOCAL LANGUAGE CODES:\n{}\n\n## " - "CONTEXT:\n{}", - location.city, location.country, local_language_codes, - safe_region_context); + std::string user_prompt = std::format( + "## CITY:\n{}\n\n## COUNTRY:\n{}\n\n## LOCAL LANGUAGE CODES:\n{}\n\n## " + "CONTEXT:\n{}", + location.city, location.country, local_language_codes, + safe_region_context); - /** - * Store location context for retry prompts (without repeating full context) - */ - const std::string retry_location = - std::format("City: {}{}\nLocal language codes: {}", location.city, - country_suffix, local_language_codes); + /** + * Store location context for retry prompts (without repeating full context) + */ + const std::string retry_location = + std::format("City: {}{}\nLocal language codes: {}", location.city, + country_suffix, local_language_codes); - /** - * RETRY LOOP with validation and error correction - * Attempts to generate valid brewery data up to 3 times, with - * feedback-based refinement - */ - constexpr int max_attempts = 3; - std::string raw; - std::string last_error; + /** + * RETRY LOOP with validation and error correction + * Attempts to generate valid brewery data up to 3 times, with + * feedback-based refinement + */ + constexpr int max_attempts = 3; + std::string raw; + std::string last_error; - // Token budget: too small risks truncating valid JSON mid-string. - int max_tokens = kBreweryInitialMaxTokens; - - // Limit output length to keep it concise and focused - for (int attempt = 0; attempt < max_attempts; ++attempt) { - // Generate brewery data from LLM - raw = this->Infer(system_prompt, user_prompt, max_tokens, - kBreweryJsonGrammar); - if (logger_) { - logger_->Log( - {.level = LogLevel::Debug, - .phase = PipelinePhase::BreweryAndBeerGeneration, - .message = std::format("LlamaGenerator: raw output (attempt {}): {}", - attempt + 1, raw)}); - } - - // Validate output: parse JSON and check required fields - - BreweryResult brewery; - const std::optional validation_error = - ValidateBreweryJson(raw, brewery); - - if (!validation_error.has_value()) { - // Success: return parsed brewery data + // Token budget: too small risks truncating valid JSON mid-string. + int max_tokens = kBreweryInitialMaxTokens; + // Limit output length to keep it concise and focused + for (int attempt = 0; attempt < max_attempts; ++attempt) { + // Generate brewery data from LLM + raw = this->Infer(system_prompt, user_prompt, max_tokens, + kBreweryJsonGrammar); if (logger_) { - logger_->Log( - {.level = LogLevel::Info, - .phase = PipelinePhase::BreweryAndBeerGeneration, - .message = std::format("LlamaGenerator: successfully generated " - "brewery data on attempt {}", - attempt + 1)}); + logger_->Log({.level = LogLevel::Debug, + .phase = PipelinePhase::BreweryAndBeerGeneration, + .message = std::format( + "LlamaGenerator: raw output (attempt {}): {}", + attempt + 1, raw)}); } - return brewery; - } + // Validate output: parse JSON and check required fields - // Validation failed: log error and prepare corrective feedback + BreweryResult brewery; + const std::optional validation_error = + ValidateBreweryJson(raw, brewery); - last_error = *validation_error; - if (logger_) { - logger_->Log( - {.level = LogLevel::Warn, - .phase = PipelinePhase::BreweryAndBeerGeneration, - .message = std::format( - "LlamaGenerator: malformed brewery JSON (attempt {}): {}", - attempt + 1, *validation_error)}); - } + if (!validation_error.has_value()) { + // Success: return parsed brewery data - // Update prompt with error details to guide LLM toward correct output. - user_prompt = std::format( - "Your previous response was invalid. Error: {}\nReturn the thought " - "process before the JSON if needed, then return ONLY valid JSON " - "with " - "exactly these keys, in this exact order: {{\"name_en\": " - "\"\", \"description_en\": \"\", \"name_local\": \"\", " - "\"description_local\": \"\"}}.\nDo not include markdown, comments, extra keys, " - "or " - "literal placeholder values.\n\nKeep the JSON strings concise " - "enough " - "to fit within the token budget.\n\n{}", - *validation_error, retry_location); - } + if (logger_) { + logger_->Log({.level = LogLevel::Info, + .phase = PipelinePhase::BreweryAndBeerGeneration, + .message = std::format( + "LlamaGenerator: successfully generated " + "brewery data on attempt {}", + attempt + 1)}); + } - // All retry attempts exhausted: log failure and throw exception - if (logger_) { - logger_->Log({.level = LogLevel::Error, - .phase = PipelinePhase::BreweryAndBeerGeneration, - .message = std::format( - "LlamaGenerator: malformed brewery " - "response after {} attempts: {}", - max_attempts, last_error.empty() ? raw : last_error)}); - } - throw std::runtime_error("LlamaGenerator: malformed brewery response"); + return brewery; + } + + // Validation failed: log error and prepare corrective feedback + + last_error = *validation_error; + if (logger_) { + logger_->Log( + {.level = LogLevel::Warn, + .phase = PipelinePhase::BreweryAndBeerGeneration, + .message = std::format( + "LlamaGenerator: malformed brewery JSON (attempt {}): {}", + attempt + 1, *validation_error)}); + } + + // Update prompt with error details to guide LLM toward correct output. + user_prompt = std::format( + "Your previous response was invalid. Error: {}\nReturn the thought " + "process before the JSON if needed, then return ONLY valid JSON " + "with " + "exactly these keys, in this exact order: {{\"name_en\": " + "\"\", \"description_en\": \"\", \"name_local\": \"\", " + "\"description_local\": \"\"}}.\nDo not include markdown, comments, extra keys, " + "or " + "literal placeholder values.\n\nKeep the JSON strings concise " + "enough " + "to fit within the token budget.\n\n{}", + *validation_error, retry_location); + } + + // All retry attempts exhausted: log failure and throw exception + if (logger_) { + logger_->Log({.level = LogLevel::Error, + .phase = PipelinePhase::BreweryAndBeerGeneration, + .message = std::format( + "LlamaGenerator: malformed brewery " + "response after {} attempts: {}", + max_attempts, last_error.empty() ? raw : last_error)}); + } + throw std::runtime_error("LlamaGenerator: malformed brewery response"); } diff --git a/tooling/pipeline/src/data_generation/llama/generate_user.cc b/tooling/pipeline/src/data_generation/llama/generate_user.cc index cb359008..8eb68c6b 100644 --- a/tooling/pipeline/src/data_generation/llama/generate_user.cc +++ b/tooling/pipeline/src/data_generation/llama/generate_user.cc @@ -19,97 +19,99 @@ static constexpr int kUserInitialMaxTokens = 1200; UserResult LlamaGenerator::GenerateUser(const EnrichedCity& city, const UserPersona& persona, const Name& name) { - std::string style_affinities; - for (const std::string& style : persona.style_affinities) { - if (!style_affinities.empty()) { - style_affinities += ", "; - } - style_affinities += style; - } + std::string style_affinities; + for (const std::string& style : persona.style_affinities) { + if (!style_affinities.empty()) { + style_affinities += ", "; + } + style_affinities += style; + } - const std::string system_prompt = prompt_directory_->Load("USER_GENERATION"); + const std::string system_prompt = prompt_directory_->Load("USER_GENERATION"); - std::string user_prompt = std::format( - "## NAME:\n\n{} {}\n\n" - "## GENDER:\n\n{}\n\n" - "## CITY:\n\n{}\n\n" - "## COUNTRY:\n\n{}\n\n" - "## PERSONA:\n\n{}\n\n" - "## PERSONA DESCRIPTION:\n\n{}\n\n" - "## STYLE AFFINITIES:\n\n{}", - name.first_name, name.last_name, name.gender, city.location.city, - city.location.country, persona.name, persona.description, - style_affinities); + std::string user_prompt = std::format( + "## NAME:\n\n{} {}\n\n" + "## GENDER:\n\n{}\n\n" + "## CITY:\n\n{}\n\n" + "## COUNTRY:\n\n{}\n\n" + "## PERSONA:\n\n{}\n\n" + "## PERSONA DESCRIPTION:\n\n{}\n\n" + "## STYLE AFFINITIES:\n\n{}", + name.first_name, name.last_name, name.gender, city.location.city, + city.location.country, persona.name, persona.description, + style_affinities); - const std::string retry_context = std::format( - "Name: {} {}\nCity: {}, {}\nPersona: {}", name.first_name, name.last_name, - city.location.city, city.location.country, persona.name); + const std::string retry_context = std::format( + "Name: {} {}\nCity: {}, {}\nPersona: {}", name.first_name, + name.last_name, city.location.city, city.location.country, persona.name); - constexpr int max_attempts = 3; - std::string raw; - std::string last_error; - int max_tokens = kUserInitialMaxTokens; + constexpr int max_attempts = 3; + std::string raw; + std::string last_error; + int max_tokens = kUserInitialMaxTokens; - for (int attempt = 0; attempt < max_attempts; ++attempt) { - raw = this->Infer(system_prompt, user_prompt, max_tokens, kUserJsonGrammar); - if (logger_) { - logger_->Log( - {.level = LogLevel::Debug, - .phase = PipelinePhase::UserGeneration, - .message = std::format("LlamaGenerator: raw output (attempt {}): {}", - attempt + 1, raw)}); - } - - UserResult user; - const std::optional validation_error = - ValidateUserJson(raw, user); - - if (!validation_error.has_value()) { + for (int attempt = 0; attempt < max_attempts; ++attempt) { + raw = + this->Infer(system_prompt, user_prompt, max_tokens, kUserJsonGrammar); if (logger_) { - logger_->Log( - {.level = LogLevel::Info, - .phase = PipelinePhase::UserGeneration, - .message = std::format("LlamaGenerator: successfully " - "generated user data on attempt {}", - attempt + 1)}); + logger_->Log({.level = LogLevel::Debug, + .phase = PipelinePhase::UserGeneration, + .message = std::format( + "LlamaGenerator: raw output (attempt {}): {}", + attempt + 1, raw)}); } - user.first_name = name.first_name; - user.last_name = name.last_name; - user.gender = name.gender; - return user; - } + UserResult user; + const std::optional validation_error = + ValidateUserJson(raw, user); - last_error = *validation_error; - if (logger_) { - logger_->Log({.level = LogLevel::Warn, + if (!validation_error.has_value()) { + if (logger_) { + logger_->Log( + {.level = LogLevel::Info, + .phase = PipelinePhase::UserGeneration, + .message = std::format("LlamaGenerator: successfully " + "generated user data on attempt {}", + attempt + 1)}); + } + + user.first_name = name.first_name; + user.last_name = name.last_name; + user.gender = name.gender; + return user; + } + + last_error = *validation_error; + if (logger_) { + logger_->Log( + {.level = LogLevel::Warn, + .phase = PipelinePhase::UserGeneration, + .message = std::format( + "LlamaGenerator: malformed user JSON (attempt {}): {}", + attempt + 1, *validation_error)}); + } + + user_prompt = std::format( + "Your previous response was invalid. Error: {}\nReturn the thought " + "process before the JSON if needed, then return ONLY valid JSON " + "with " + "exactly these keys, in this exact order: {{\"username\": " + "\"\", \"bio\": \"\", \"activity_weight\": }}.\nDo not include markdown, comments, extra keys, or " + "literal placeholder values.\n\n{}", + *validation_error, retry_context); + } + + if (logger_) { + logger_->Log({.level = LogLevel::Error, .phase = PipelinePhase::UserGeneration, .message = std::format( - "LlamaGenerator: malformed user JSON (attempt {}): {}", - attempt + 1, *validation_error)}); - } - - user_prompt = std::format( - "Your previous response was invalid. Error: {}\nReturn the thought " - "process before the JSON if needed, then return ONLY valid JSON " - "with " - "exactly these keys, in this exact order: {{\"username\": " - "\"\", \"bio\": \"\", \"activity_weight\": }}.\nDo not include markdown, comments, extra keys, or " - "literal placeholder values.\n\n{}", - *validation_error, retry_context); - } - - if (logger_) { - logger_->Log({.level = LogLevel::Error, - .phase = PipelinePhase::UserGeneration, - .message = std::format( - "LlamaGenerator: malformed user response " - "after {} attempts: {}", - max_attempts, last_error.empty() ? raw : last_error)}); - } - throw std::runtime_error("LlamaGenerator: malformed user response"); + "LlamaGenerator: malformed user response " + "after {} attempts: {}", + max_attempts, last_error.empty() ? raw : last_error)}); + } + throw std::runtime_error("LlamaGenerator: malformed user response"); } diff --git a/tooling/pipeline/src/data_generation/llama/helpers.cc b/tooling/pipeline/src/data_generation/llama/helpers.cc index 1d71d88e..09ea5505 100644 --- a/tooling/pipeline/src/data_generation/llama/helpers.cc +++ b/tooling/pipeline/src/data_generation/llama/helpers.cc @@ -4,6 +4,8 @@ * parsing, token decoding, and JSON validation helpers for Llama modules. */ +#include + #include #include #include @@ -15,8 +17,6 @@ #include #include -#include - #include "data_generation/llama_generator_helpers.h" namespace { @@ -24,14 +24,14 @@ namespace { * String trimming: removes leading and trailing whitespace */ std::string Trim(std::string_view value) { - constexpr std::string_view whitespace = " \t\n\r\f\v"; - const size_t first_index = value.find_first_not_of(whitespace); - if (first_index == std::string_view::npos) { - return {}; - } + constexpr std::string_view whitespace = " \t\n\r\f\v"; + const size_t first_index = value.find_first_not_of(whitespace); + if (first_index == std::string_view::npos) { + return {}; + } - const size_t last_index = value.find_last_not_of(whitespace); - return std::string(value.substr(first_index, last_index - first_index + 1)); + const size_t last_index = value.find_last_not_of(whitespace); + return std::string(value.substr(first_index, last_index - first_index + 1)); } /** @@ -39,26 +39,26 @@ std::string Trim(std::string_view value) { * spaces */ std::string CondenseWhitespace(std::string_view text) { - std::string out; - out.reserve(text.size()); + std::string out; + out.reserve(text.size()); - bool pending_space = false; - for (const char chr : text) { - if (std::isspace(static_cast(chr)) != 0) { - if (!out.empty()) { - pending_space = true; + bool pending_space = false; + for (const char chr : text) { + if (std::isspace(static_cast(chr)) != 0) { + if (!out.empty()) { + pending_space = true; + } + continue; } - continue; - } - if (pending_space) { - out.push_back(' '); - pending_space = false; - } - out.push_back(chr); - } + if (pending_space) { + out.push_back(' '); + pending_space = false; + } + out.push_back(chr); + } - return out; + return out; } // Guard against truncating in the first half of the string. @@ -69,30 +69,30 @@ constexpr size_t kTruncationGuardDivisor = 2; bool ReadRequiredTrimmedStringField(const boost::json::object& obj, std::string_view key, std::string& out, std::string* error_out) { - const boost::json::value* field = obj.if_contains(key); - if (field == nullptr || !field->is_string()) { - return false; - } + const boost::json::value* field = obj.if_contains(key); + if (field == nullptr || !field->is_string()) { + return false; + } - const auto& string_value = field->as_string(); - out = Trim(std::string_view(string_value.data(), string_value.size())); - return !out.empty(); + const auto& string_value = field->as_string(); + out = Trim(std::string_view(string_value.data(), string_value.size())); + return !out.empty(); } bool HasSchemaPlaceholder(std::span values) { - for (const std::string* value : values) { - std::string lowered = *value; - std::ranges::transform(lowered, lowered.begin(), - [](const unsigned char character) { - return static_cast(std::tolower(character)); - }); + for (const std::string* value : values) { + std::string lowered = *value; + std::ranges::transform( + lowered, lowered.begin(), [](const unsigned char character) { + return static_cast(std::tolower(character)); + }); - if (lowered == "string") { - return true; - } - } + if (lowered == "string") { + return true; + } + } - return false; + return false; } } // namespace @@ -102,166 +102,167 @@ bool HasSchemaPlaceholder(std::span values) { */ std::string PrepareRegionContext(std::string_view region_context, const size_t max_chars) { - std::string normalized = CondenseWhitespace(region_context); - if (normalized.size() <= max_chars) { - return normalized; - } + std::string normalized = CondenseWhitespace(region_context); + if (normalized.size() <= max_chars) { + return normalized; + } - normalized.resize(max_chars); - const size_t last_space = normalized.find_last_of(' '); - if (last_space != std::string::npos && - last_space > max_chars / kTruncationGuardDivisor) { - normalized.resize(last_space); - } + normalized.resize(max_chars); + const size_t last_space = normalized.find_last_of(' '); + if (last_space != std::string::npos && + last_space > max_chars / kTruncationGuardDivisor) { + normalized.resize(last_space); + } - normalized += "..."; - return normalized; + normalized += "..."; + return normalized; } void AppendTokenPiece(const llama_vocab* vocab, llama_token token, std::string& output) { - constexpr size_t initial_buffer_size = 256; + constexpr size_t initial_buffer_size = 256; - std::array buffer{}; + std::array buffer{}; - // serialize the sampled token into UTF-8 bytes + // serialize the sampled token into UTF-8 bytes - auto buffer_too_small = [](int32_t result) -> bool { return result < 0; }; + auto buffer_too_small = [](int32_t result) -> bool { return result < 0; }; - int32_t bytes = - llama_token_to_piece(vocab, token, buffer.data(), buffer.size(), 0, true); + int32_t bytes = llama_token_to_piece(vocab, token, buffer.data(), + buffer.size(), 0, true); - if (!buffer_too_small(bytes)) { - // Append the decoded bytes from the stack buffer. - output.append(buffer.data(), static_cast(bytes)); - return; - } + if (!buffer_too_small(bytes)) { + // Append the decoded bytes from the stack buffer. + output.append(buffer.data(), static_cast(bytes)); + return; + } - const int32_t required_size = -bytes; - std::vector dynamic_buffer(static_cast(required_size)); + const int32_t required_size = -bytes; + std::vector dynamic_buffer(static_cast(required_size)); - // Retry token decoding against the larger heap buffer. - bytes = llama_token_to_piece(vocab, token, dynamic_buffer.data(), - static_cast(dynamic_buffer.size()), 0, - true); + // Retry token decoding against the larger heap buffer. + bytes = llama_token_to_piece(vocab, token, dynamic_buffer.data(), + static_cast(dynamic_buffer.size()), 0, + true); - if (!buffer_too_small(bytes)) { - output.append(dynamic_buffer.data(), static_cast(bytes)); - return; - } + if (!buffer_too_small(bytes)) { + output.append(dynamic_buffer.data(), static_cast(bytes)); + return; + } - throw std::runtime_error( - "LlamaGenerator: failed to decode sampled token piece"); + throw std::runtime_error( + "LlamaGenerator: failed to decode sampled token piece"); } std::optional ValidateBreweryJson(const std::string& raw, BreweryResult& brewery_out) { - boost::system::error_code error_code; - const std::string_view raw_view(raw); - const size_t opening_brace = raw_view.find('{'); - if (opening_brace == std::string_view::npos) { - return "JSON parse error: missing opening brace '{'"; - } + boost::system::error_code error_code; + const std::string_view raw_view(raw); + const size_t opening_brace = raw_view.find('{'); + if (opening_brace == std::string_view::npos) { + return "JSON parse error: missing opening brace '{'"; + } - const std::string_view json_payload = raw_view.substr(opening_brace); - boost::json::value json_value = boost::json::parse(json_payload, error_code); - if (error_code) { - return "JSON parse error: " + error_code.message(); - } + const std::string_view json_payload = raw_view.substr(opening_brace); + boost::json::value json_value = boost::json::parse(json_payload, error_code); + if (error_code) { + return "JSON parse error: " + error_code.message(); + } - if (!json_value.is_object()) { - return "JSON root must be an object"; - } + if (!json_value.is_object()) { + return "JSON root must be an object"; + } - const auto& obj = json_value.get_object(); - if (obj.size() != 4) { - return "JSON object must contain exactly four keys"; - } + const auto& obj = json_value.get_object(); + if (obj.size() != 4) { + return "JSON object must contain exactly four keys"; + } - std::string validation_error; - if (!ReadRequiredTrimmedStringField(obj, "name_en", brewery_out.name_en, - &validation_error)) { - return validation_error; - } + std::string validation_error; + if (!ReadRequiredTrimmedStringField(obj, "name_en", brewery_out.name_en, + &validation_error)) { + return validation_error; + } - if (!ReadRequiredTrimmedStringField(obj, "description_en", - brewery_out.description_en, - &validation_error)) { - return validation_error; - } + if (!ReadRequiredTrimmedStringField(obj, "description_en", + brewery_out.description_en, + &validation_error)) { + return validation_error; + } - if (!ReadRequiredTrimmedStringField(obj, "name_local", brewery_out.name_local, - &validation_error)) { - return validation_error; - } + if (!ReadRequiredTrimmedStringField( + obj, "name_local", brewery_out.name_local, &validation_error)) { + return validation_error; + } - if (!ReadRequiredTrimmedStringField(obj, "description_local", - brewery_out.description_local, - &validation_error)) { - return validation_error; - } + if (!ReadRequiredTrimmedStringField(obj, "description_local", + brewery_out.description_local, + &validation_error)) { + return validation_error; + } - const std::array schema_placeholders = { - &brewery_out.name_en, &brewery_out.description_en, - &brewery_out.name_local, &brewery_out.description_local}; - if (HasSchemaPlaceholder(schema_placeholders)) { - return "JSON appears to be a schema placeholder, not content"; - } + const std::array schema_placeholders = { + &brewery_out.name_en, &brewery_out.description_en, + &brewery_out.name_local, &brewery_out.description_local}; + if (HasSchemaPlaceholder(schema_placeholders)) { + return "JSON appears to be a schema placeholder, not content"; + } - return std::nullopt; + return std::nullopt; } std::optional ValidateUserJson(const std::string& raw, UserResult& user_out) { - boost::system::error_code error_code; - const std::string_view raw_view(raw); - const size_t opening_brace = raw_view.find('{'); - if (opening_brace == std::string_view::npos) { - return "JSON parse error: missing opening brace '{'"; - } + boost::system::error_code error_code; + const std::string_view raw_view(raw); + const size_t opening_brace = raw_view.find('{'); + if (opening_brace == std::string_view::npos) { + return "JSON parse error: missing opening brace '{'"; + } - const std::string_view json_payload = raw_view.substr(opening_brace); - boost::json::value json_value = boost::json::parse(json_payload, error_code); - if (error_code) { - return "JSON parse error: " + error_code.message(); - } + const std::string_view json_payload = raw_view.substr(opening_brace); + boost::json::value json_value = boost::json::parse(json_payload, error_code); + if (error_code) { + return "JSON parse error: " + error_code.message(); + } - if (!json_value.is_object()) { - return "JSON root must be an object"; - } + if (!json_value.is_object()) { + return "JSON root must be an object"; + } - const auto& obj = json_value.get_object(); - if (obj.size() != 3) { - return "JSON object must contain exactly three keys"; - } + const auto& obj = json_value.get_object(); + if (obj.size() != 3) { + return "JSON object must contain exactly three keys"; + } - std::string validation_error; - if (!ReadRequiredTrimmedStringField(obj, "username", user_out.username, - &validation_error)) { - return validation_error; - } + std::string validation_error; + if (!ReadRequiredTrimmedStringField(obj, "username", user_out.username, + &validation_error)) { + return validation_error; + } - if (!ReadRequiredTrimmedStringField(obj, "bio", user_out.bio, - &validation_error)) { - return validation_error; - } + if (!ReadRequiredTrimmedStringField(obj, "bio", user_out.bio, + &validation_error)) { + return validation_error; + } - const boost::json::value* activity_weight_field = - obj.if_contains("activity_weight"); - if (activity_weight_field == nullptr || !activity_weight_field->is_number()) { - return "Missing or invalid numeric field: activity_weight"; - } + const boost::json::value* activity_weight_field = + obj.if_contains("activity_weight"); + if (activity_weight_field == nullptr || + !activity_weight_field->is_number()) { + return "Missing or invalid numeric field: activity_weight"; + } - const double activity_weight = activity_weight_field->to_number(); - if (activity_weight < 0.0 || activity_weight > 1.0) { - return "activity_weight must be between 0 and 1"; - } - user_out.activity_weight = static_cast(activity_weight); + const double activity_weight = activity_weight_field->to_number(); + if (activity_weight < 0.0 || activity_weight > 1.0) { + return "activity_weight must be between 0 and 1"; + } + user_out.activity_weight = static_cast(activity_weight); - const std::array schema_placeholders = {&user_out.username, &user_out.bio}; - if (HasSchemaPlaceholder(schema_placeholders)) { - return "JSON appears to be a schema placeholder, not content"; - } + const std::array schema_placeholders = {&user_out.username, &user_out.bio}; + if (HasSchemaPlaceholder(schema_placeholders)) { + return "JSON appears to be a schema placeholder, not content"; + } - return std::nullopt; + return std::nullopt; } diff --git a/tooling/pipeline/src/data_generation/llama/infer.cc b/tooling/pipeline/src/data_generation/llama/infer.cc index 53f417fc..2ebecbcb 100644 --- a/tooling/pipeline/src/data_generation/llama/infer.cc +++ b/tooling/pipeline/src/data_generation/llama/infer.cc @@ -5,6 +5,8 @@ * output tokens back to text for system+user chat prompts. */ +#include + #include #include #include @@ -14,8 +16,6 @@ #include #include -#include - #include "data_generation/llama_generator.h" #include "data_generation/llama_generator_helpers.h" @@ -30,48 +30,49 @@ using SamplerHandle = std::unique_ptr; struct SamplerConfig { - float temperature; - uint32_t top_k; - float top_p; - uint32_t seed; + float temperature; + uint32_t top_k; + float top_p; + uint32_t seed; }; SamplerHandle MakeSamplerChain(const llama_vocab* vocab, const SamplerConfig& config, std::string_view grammar) { - const llama_sampler_chain_params sampler_params = - llama_sampler_chain_default_params(); + const llama_sampler_chain_params sampler_params = + llama_sampler_chain_default_params(); - SamplerHandle chain(llama_sampler_chain_init(sampler_params), - llama_sampler_free); - if (!chain) { - throw std::runtime_error("LlamaGenerator: failed to initialize sampler"); - } + SamplerHandle chain(llama_sampler_chain_init(sampler_params), + llama_sampler_free); + if (!chain) { + throw std::runtime_error("LlamaGenerator: failed to initialize sampler"); + } - auto add_sampler = [&](llama_sampler* sampler, const char* error_message) { - if (sampler == nullptr) { - throw std::runtime_error(error_message); - } + auto add_sampler = [&](llama_sampler* sampler, const char* error_message) { + if (sampler == nullptr) { + throw std::runtime_error(error_message); + } - llama_sampler_chain_add(chain.get(), sampler); - }; + llama_sampler_chain_add(chain.get(), sampler); + }; - if (!grammar.empty()) { - const std::string grammar_text(grammar); - add_sampler(llama_sampler_init_grammar(vocab, grammar_text.c_str(), "root"), - "LlamaGenerator: failed to initialize grammar sampler"); - } + if (!grammar.empty()) { + const std::string grammar_text(grammar); + add_sampler( + llama_sampler_init_grammar(vocab, grammar_text.c_str(), "root"), + "LlamaGenerator: failed to initialize grammar sampler"); + } - add_sampler(llama_sampler_init_temp(config.temperature), - "LlamaGenerator: failed to initialize temperature sampler"); - add_sampler(llama_sampler_init_top_k(static_cast(config.top_k)), - "LlamaGenerator: failed to initialize top-k sampler"); - add_sampler(llama_sampler_init_top_p(config.top_p, kTopPMinKeep), - "LlamaGenerator: failed to initialize top-p sampler"); - add_sampler(llama_sampler_init_dist(config.seed), - "LlamaGenerator: failed to initialize distribution sampler"); + add_sampler(llama_sampler_init_temp(config.temperature), + "LlamaGenerator: failed to initialize temperature sampler"); + add_sampler(llama_sampler_init_top_k(static_cast(config.top_k)), + "LlamaGenerator: failed to initialize top-k sampler"); + add_sampler(llama_sampler_init_top_p(config.top_p, kTopPMinKeep), + "LlamaGenerator: failed to initialize top-p sampler"); + add_sampler(llama_sampler_init_dist(config.seed), + "LlamaGenerator: failed to initialize distribution sampler"); - return chain; + return chain; } } // namespace @@ -80,163 +81,164 @@ std::string LlamaGenerator::Infer(const std::string& system_prompt, const std::string& prompt, const int max_tokens, std::string_view grammar) { - return InferFormatted(prompt_formatter_->Format(system_prompt, prompt), - max_tokens, grammar); + return InferFormatted(prompt_formatter_->Format(system_prompt, prompt), + max_tokens, grammar); } std::string LlamaGenerator::InferFormatted(const std::string& formatted_prompt, const int max_tokens, std::string_view grammar) { - /** - * Validate that model and context are loaded - */ - if (!model_ || !context_) { - throw std::runtime_error("LlamaGenerator: model not loaded"); - } + /** + * Validate that model and context are loaded + */ + if (!model_ || !context_) { + throw std::runtime_error("LlamaGenerator: model not loaded"); + } - /** - * Get vocabulary for tokenization and token-to-text conversion - */ - const llama_vocab* vocab = llama_model_get_vocab(model_.get()); - if (vocab == nullptr) { - throw std::runtime_error("LlamaGenerator: vocab unavailable"); - } + /** + * Get vocabulary for tokenization and token-to-text conversion + */ + const llama_vocab* vocab = llama_model_get_vocab(model_.get()); + if (vocab == nullptr) { + throw std::runtime_error("LlamaGenerator: vocab unavailable"); + } - const SamplerConfig sampler_config{ - .temperature = sampling_temperature_, - .top_k = sampling_top_k_, - .top_p = sampling_top_p_, - .seed = static_cast(rng_()), - }; - const auto sampler = MakeSamplerChain(vocab, sampler_config, grammar); + const SamplerConfig sampler_config{ + .temperature = sampling_temperature_, + .top_k = sampling_top_k_, + .top_p = sampling_top_p_, + .seed = static_cast(rng_()), + }; + const auto sampler = MakeSamplerChain(vocab, sampler_config, grammar); - /** - * Clear KV cache to ensure clean inference state (no residual context) - */ - llama_memory_clear(llama_get_memory(context_.get()), true); + /** + * Clear KV cache to ensure clean inference state (no residual context) + */ + llama_memory_clear(llama_get_memory(context_.get()), true); - /** - * TOKENIZATION PHASE - * Convert text prompt into token IDs (integers) that the model understands - */ - std::vector prompt_tokens(formatted_prompt.size() + - kPromptTokenSlack); + /** + * TOKENIZATION PHASE + * Convert text prompt into token IDs (integers) that the model understands + */ + std::vector prompt_tokens(formatted_prompt.size() + + kPromptTokenSlack); - int32_t token_count = llama_tokenize( - vocab, formatted_prompt.c_str(), - static_cast(formatted_prompt.size()), prompt_tokens.data(), - static_cast(prompt_tokens.size()), true, true); + int32_t token_count = llama_tokenize( + vocab, formatted_prompt.c_str(), + static_cast(formatted_prompt.size()), prompt_tokens.data(), + static_cast(prompt_tokens.size()), true, true); - /** - * If buffer too small, negative return indicates required size - */ - if (token_count < 0) { - prompt_tokens.resize(static_cast(-token_count)); + /** + * If buffer too small, negative return indicates required size + */ + if (token_count < 0) { + prompt_tokens.resize(static_cast(-token_count)); - token_count = llama_tokenize( - vocab, formatted_prompt.c_str(), - static_cast(formatted_prompt.size()), prompt_tokens.data(), - static_cast(prompt_tokens.size()), true, true); - } + token_count = llama_tokenize( + vocab, formatted_prompt.c_str(), + static_cast(formatted_prompt.size()), prompt_tokens.data(), + static_cast(prompt_tokens.size()), true, true); + } - if (token_count < 0) { - throw std::runtime_error("LlamaGenerator: prompt tokenization failed"); - } + if (token_count < 0) { + throw std::runtime_error("LlamaGenerator: prompt tokenization failed"); + } - /** - * CONTEXT SIZE VALIDATION - * Validate and compute effective token budgets based on context window - * constraints - */ - const auto n_ctx = static_cast(llama_n_ctx(context_.get())); - const auto n_batch = static_cast(llama_n_batch(context_.get())); - if (n_ctx <= 1 || n_batch <= 0) { - throw std::runtime_error("LlamaGenerator: invalid context or batch size"); - } + /** + * CONTEXT SIZE VALIDATION + * Validate and compute effective token budgets based on context window + * constraints + */ + const auto n_ctx = static_cast(llama_n_ctx(context_.get())); + const auto n_batch = static_cast(llama_n_batch(context_.get())); + if (n_ctx <= 1 || n_batch <= 0) { + throw std::runtime_error("LlamaGenerator: invalid context or batch size"); + } - /** - * Clamp generation limit to available context window, reserve space for - * output - */ - const int32_t effective_max_tokens = - std::max(1, std::min(max_tokens, n_ctx - 1)); + /** + * Clamp generation limit to available context window, reserve space for + * output + */ + const int32_t effective_max_tokens = + std::max(1, std::min(max_tokens, n_ctx - 1)); - /** - * Prompt can use remaining context after reserving space for generation - */ - int32_t prompt_budget = std::min(n_batch, n_ctx - effective_max_tokens); - prompt_budget = std::max(1, prompt_budget); + /** + * Prompt can use remaining context after reserving space for generation + */ + int32_t prompt_budget = std::min(n_batch, n_ctx - effective_max_tokens); + prompt_budget = std::max(1, prompt_budget); - /** - * Truncate prompt if necessary to fit within constraints - */ - prompt_tokens.resize(static_cast(token_count)); - if (token_count > prompt_budget) { - if (logger_) { - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::BreweryAndBeerGeneration, - .message = std::format( - "LlamaGenerator: prompt too long ({} tokens), " - "truncating to {} tokens to fit n_batch/n_ctx limits", - token_count, prompt_budget)}); - } - prompt_tokens.resize(static_cast(prompt_budget)); - token_count = prompt_budget; - } + /** + * Truncate prompt if necessary to fit within constraints + */ + prompt_tokens.resize(static_cast(token_count)); + if (token_count > prompt_budget) { + if (logger_) { + logger_->Log( + {.level = LogLevel::Warn, + .phase = PipelinePhase::BreweryAndBeerGeneration, + .message = std::format( + "LlamaGenerator: prompt too long ({} tokens), " + "truncating to {} tokens to fit n_batch/n_ctx limits", + token_count, prompt_budget)}); + } + prompt_tokens.resize(static_cast(prompt_budget)); + token_count = prompt_budget; + } - /** - * PROMPT PROCESSING PHASE - * Create a batch containing all prompt tokens and feed through the model - * This computes internal representations and fills the KV cache - */ - const llama_batch prompt_batch = llama_batch_get_one( - prompt_tokens.data(), static_cast(prompt_tokens.size())); - if (llama_decode(context_.get(), prompt_batch) != 0) { - throw std::runtime_error("LlamaGenerator: prompt decode failed"); - } + /** + * PROMPT PROCESSING PHASE + * Create a batch containing all prompt tokens and feed through the model + * This computes internal representations and fills the KV cache + */ + const llama_batch prompt_batch = llama_batch_get_one( + prompt_tokens.data(), static_cast(prompt_tokens.size())); + if (llama_decode(context_.get(), prompt_batch) != 0) { + throw std::runtime_error("LlamaGenerator: prompt decode failed"); + } - /** - * TOKEN GENERATION LOOP - * Iteratively generate tokens one at a time until max_tokens or - * end-of-sequence - */ - std::vector generated_tokens; - generated_tokens.reserve(static_cast(effective_max_tokens)); + /** + * TOKEN GENERATION LOOP + * Iteratively generate tokens one at a time until max_tokens or + * end-of-sequence + */ + std::vector generated_tokens; + generated_tokens.reserve(static_cast(effective_max_tokens)); - for (int i = 0; i < effective_max_tokens; ++i) { - /** - * Sample next token using configured sampler chain and model logits - * Index -1 means use the last output position from previous batch - */ - const llama_token next = - llama_sampler_sample(sampler.get(), context_.get(), -1); - /** - * Stop if model predicts end-of-generation token (EOS/EOT) - */ - if (llama_vocab_is_eog(vocab, next)) { - break; - } - generated_tokens.push_back(next); - /** - * Feed the sampled token back into model for next iteration - * (autoregressive) - */ - llama_token decode_token = next; - const llama_batch one_token_batch = llama_batch_get_one(&decode_token, 1); - if (llama_decode(context_.get(), one_token_batch) != 0) { - throw std::runtime_error( - "LlamaGenerator: decode failed during generation"); - } - } + for (int i = 0; i < effective_max_tokens; ++i) { + /** + * Sample next token using configured sampler chain and model logits + * Index -1 means use the last output position from previous batch + */ + const llama_token next = + llama_sampler_sample(sampler.get(), context_.get(), -1); + /** + * Stop if model predicts end-of-generation token (EOS/EOT) + */ + if (llama_vocab_is_eog(vocab, next)) { + break; + } + generated_tokens.push_back(next); + /** + * Feed the sampled token back into model for next iteration + * (autoregressive) + */ + llama_token decode_token = next; + const llama_batch one_token_batch = llama_batch_get_one(&decode_token, 1); + if (llama_decode(context_.get(), one_token_batch) != 0) { + throw std::runtime_error( + "LlamaGenerator: decode failed during generation"); + } + } - /** - * DETOKENIZATION PHASE - * Convert generated token IDs back to text using vocabulary - */ - std::string output; - for (const llama_token token : generated_tokens) { - AppendTokenPiece(vocab, token, output); - } + /** + * DETOKENIZATION PHASE + * Convert generated token IDs back to text using vocabulary + */ + std::string output; + for (const llama_token token : generated_tokens) { + AppendTokenPiece(vocab, token, output); + } - return output; + return output; } diff --git a/tooling/pipeline/src/data_generation/llama/llama_generator.cc b/tooling/pipeline/src/data_generation/llama/llama_generator.cc index 3dd61ed6..c18c9789 100644 --- a/tooling/pipeline/src/data_generation/llama/llama_generator.cc +++ b/tooling/pipeline/src/data_generation/llama/llama_generator.cc @@ -5,30 +5,30 @@ #include "data_generation/llama_generator.h" +#include + #include #include #include #include #include -#include - #include "data_model/models.h" static constexpr uint32_t kMaxContextSize = 32768U; void LlamaGenerator::ModelDeleter::operator()( llama_model* model) const noexcept { - if (model != nullptr) { - llama_model_free(model); - } + if (model != nullptr) { + llama_model_free(model); + } } void LlamaGenerator::ContextDeleter::operator()( llama_context* context) const noexcept { - if (context != nullptr) { - llama_free(context); - } + if (context != nullptr) { + llama_free(context); + } } LlamaGenerator::LlamaGenerator( @@ -40,61 +40,61 @@ LlamaGenerator::LlamaGenerator( logger_(std::move(logger)), prompt_formatter_(std::move(prompt_formatter)), prompt_directory_(std::move(prompt_directory)) { - if (model_path.empty()) { - throw std::runtime_error("LlamaGenerator: model path must not be empty"); - } + if (model_path.empty()) { + throw std::runtime_error("LlamaGenerator: model path must not be empty"); + } - if (!prompt_formatter_) { - throw std::runtime_error( - "LlamaGenerator: prompt formatter dependency must not be null"); - } + if (!prompt_formatter_) { + throw std::runtime_error( + "LlamaGenerator: prompt formatter dependency must not be null"); + } - if (!prompt_directory_) { - throw std::runtime_error( - "LlamaGenerator: prompt directory dependency must not be null"); - } + if (!prompt_directory_) { + throw std::runtime_error( + "LlamaGenerator: prompt directory dependency must not be null"); + } - const auto sampling = options.generator.sampling.value_or(SamplingOptions{}); + const auto sampling = options.generator.sampling.value_or(SamplingOptions{}); - if (sampling.temperature < 0.0F) { - throw std::runtime_error( - "LlamaGenerator: sampling temperature must be >= 0"); - } + if (sampling.temperature < 0.0F) { + throw std::runtime_error( + "LlamaGenerator: sampling temperature must be >= 0"); + } - if (sampling.top_p <= 0.0F || sampling.top_p > 1.0F) { - throw std::runtime_error( - "LlamaGenerator: sampling top-p must be in (0, 1]"); - } + if (sampling.top_p <= 0.0F || sampling.top_p > 1.0F) { + throw std::runtime_error( + "LlamaGenerator: sampling top-p must be in (0, 1]"); + } - if (sampling.top_k == 0U) { - throw std::runtime_error("LlamaGenerator: sampling top-k must be > 0"); - } + if (sampling.top_k == 0U) { + throw std::runtime_error("LlamaGenerator: sampling top-k must be > 0"); + } - if (sampling.seed < -1) { - throw std::runtime_error( - "LlamaGenerator: seed must be >= 0, or -1 for random"); - } + if (sampling.seed < -1) { + throw std::runtime_error( + "LlamaGenerator: seed must be >= 0, or -1 for random"); + } - if (sampling.n_ctx == 0 || sampling.n_ctx > kMaxContextSize) { - throw std::runtime_error( - "LlamaGenerator: context size must be in range [1, 32768]"); - } + if (sampling.n_ctx == 0 || sampling.n_ctx > kMaxContextSize) { + throw std::runtime_error( + "LlamaGenerator: context size must be in range [1, 32768]"); + } - sampling_temperature_ = sampling.temperature; - sampling_top_p_ = sampling.top_p; - sampling_top_k_ = sampling.top_k; + sampling_temperature_ = sampling.temperature; + sampling_top_p_ = sampling.top_p; + sampling_top_k_ = sampling.top_k; - if (sampling.seed == -1) { - std::random_device random_device; - rng_.seed(random_device()); - } else { - rng_.seed(static_cast(sampling.seed)); - } + if (sampling.seed == -1) { + std::random_device random_device; + rng_.seed(random_device()); + } else { + rng_.seed(static_cast(sampling.seed)); + } - n_ctx_ = sampling.n_ctx; - n_gpu_layers_ = sampling.n_gpu_layers; + n_ctx_ = sampling.n_ctx; + n_gpu_layers_ = sampling.n_gpu_layers; - this->Load(model_path); + this->Load(model_path); } LlamaGenerator::~LlamaGenerator() = default; diff --git a/tooling/pipeline/src/data_generation/llama/load.cc b/tooling/pipeline/src/data_generation/llama/load.cc index d5a33089..33192a79 100644 --- a/tooling/pipeline/src/data_generation/llama/load.cc +++ b/tooling/pipeline/src/data_generation/llama/load.cc @@ -4,15 +4,15 @@ * context, and resets prior resources during model initialization. */ +#include +#include + #include #include #include #include #include -#include -#include - #include "data_generation/llama_generator.h" // Maximum batch size for decode operations. Capping the batch prevents @@ -20,42 +20,42 @@ static constexpr uint32_t kMaxBatchSize = 5000U; void LlamaGenerator::Load(const std::string& model_path) { - context_.reset(); - model_.reset(); + context_.reset(); + model_.reset(); - // Specifically load dynamic ggml backends (like CUDA) that are provided - // externally before attempting to load a model. - ggml_backend_load_all(); + // Specifically load dynamic ggml backends (like CUDA) that are provided + // externally before attempting to load a model. + ggml_backend_load_all(); - llama_model_params model_params = llama_model_default_params(); - model_params.n_gpu_layers = n_gpu_layers_; + llama_model_params model_params = llama_model_default_params(); + model_params.n_gpu_layers = n_gpu_layers_; - ModelHandle loaded_model( - llama_model_load_from_file(model_path.c_str(), model_params)); + ModelHandle loaded_model( + llama_model_load_from_file(model_path.c_str(), model_params)); - if (!loaded_model) { - throw std::runtime_error( - "LlamaGenerator: failed to load model from path: " + model_path); - } + if (!loaded_model) { + throw std::runtime_error( + "LlamaGenerator: failed to load model from path: " + model_path); + } - llama_context_params context_params = llama_context_default_params(); - context_params.n_ctx = n_ctx_; - context_params.n_batch = std::min(n_ctx_, kMaxBatchSize); + llama_context_params context_params = llama_context_default_params(); + context_params.n_ctx = n_ctx_; + context_params.n_batch = std::min(n_ctx_, kMaxBatchSize); - ContextHandle loaded_context( - llama_init_from_model(loaded_model.get(), context_params)); + ContextHandle loaded_context( + llama_init_from_model(loaded_model.get(), context_params)); - if (!loaded_context) { - throw std::runtime_error("LlamaGenerator: failed to create context"); - } + if (!loaded_context) { + throw std::runtime_error("LlamaGenerator: failed to create context"); + } - model_ = std::move(loaded_model); - context_ = std::move(loaded_context); + model_ = std::move(loaded_model); + context_ = std::move(loaded_context); - if (logger_) { - logger_->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = std::format("[LlamaGenerator] Loaded model: {} ", - model_path)}); - } + if (logger_) { + logger_->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = std::format("[LlamaGenerator] Loaded model: {} ", + model_path)}); + } } diff --git a/tooling/pipeline/src/data_generation/mock/deterministic_hash.cc b/tooling/pipeline/src/data_generation/mock/deterministic_hash.cc index 26adc6aa..ebe79a15 100644 --- a/tooling/pipeline/src/data_generation/mock/deterministic_hash.cc +++ b/tooling/pipeline/src/data_generation/mock/deterministic_hash.cc @@ -9,18 +9,18 @@ #include "data_generation/mock_generator.h" size_t MockGenerator::DeterministicHash(const City& location) { - size_t seed = 0; - boost::hash_combine(seed, location.city); - boost::hash_combine(seed, location.country); - return seed; + size_t seed = 0; + boost::hash_combine(seed, location.city); + boost::hash_combine(seed, location.country); + return seed; } size_t MockGenerator::DeterministicHash(const City& location, const UserPersona& persona, const Name& name) { - size_t seed = DeterministicHash(location); - boost::hash_combine(seed, persona.name); - boost::hash_combine(seed, name.first_name); - boost::hash_combine(seed, name.last_name); - return seed; + size_t seed = DeterministicHash(location); + boost::hash_combine(seed, persona.name); + boost::hash_combine(seed, name.first_name); + boost::hash_combine(seed, name.last_name); + return seed; } diff --git a/tooling/pipeline/src/data_generation/mock/generate_brewery.cc b/tooling/pipeline/src/data_generation/mock/generate_brewery.cc index ea4d56c7..8bedb476 100644 --- a/tooling/pipeline/src/data_generation/mock/generate_brewery.cc +++ b/tooling/pipeline/src/data_generation/mock/generate_brewery.cc @@ -12,34 +12,34 @@ BreweryResult MockGenerator::GenerateBrewery( const EnrichedCity& enriched_city) { - const City& location = enriched_city.location; - const size_t hash = DeterministicHash(location); + const City& location = enriched_city.location; + const size_t hash = DeterministicHash(location); - const std::string_view adjective = - kBreweryAdjectives.at(hash % kBreweryAdjectives.size()); - const std::string_view noun = - kBreweryNouns.at(hash / kNounHashStride % kBreweryNouns.size()); - const std::string_view base_description = kBreweryDescriptions.at( - (hash / kDescriptionHashStride) % kBreweryDescriptions.size()); + const std::string_view adjective = + kBreweryAdjectives.at(hash % kBreweryAdjectives.size()); + const std::string_view noun = + kBreweryNouns.at(hash / kNounHashStride % kBreweryNouns.size()); + const std::string_view base_description = kBreweryDescriptions.at( + (hash / kDescriptionHashStride) % kBreweryDescriptions.size()); - const std::string name = - std::format("{} {} {}", location.city, adjective, noun); + const std::string name = + std::format("{} {} {}", location.city, adjective, noun); - const std::string state_suffix = - location.state_province.empty() - ? std::string{} - : std::format(", {}", location.state_province); - const std::string country_suffix = - location.country.empty() ? std::string{} - : std::format(", {}", location.country); - const std::string description = - std::format("{} Located in {}{}{}.", base_description, location.city, - state_suffix, country_suffix); + const std::string state_suffix = + location.state_province.empty() + ? std::string{} + : std::format(", {}", location.state_province); + const std::string country_suffix = + location.country.empty() ? std::string{} + : std::format(", {}", location.country); + const std::string description = + std::format("{} Located in {}{}{}.", base_description, location.city, + state_suffix, country_suffix); - return { - .name_en = name, - .description_en = description, - .name_local = name, - .description_local = description, - }; + return { + .name_en = name, + .description_en = description, + .name_local = name, + .description_local = description, + }; } diff --git a/tooling/pipeline/src/data_generation/mock/generate_user.cc b/tooling/pipeline/src/data_generation/mock/generate_user.cc index 3a66047b..29d74efd 100644 --- a/tooling/pipeline/src/data_generation/mock/generate_user.cc +++ b/tooling/pipeline/src/data_generation/mock/generate_user.cc @@ -11,21 +11,21 @@ UserResult MockGenerator::GenerateUser(const EnrichedCity& city, const UserPersona& persona, const Name& name) { - const size_t hash = DeterministicHash(city.location, persona, name); + const size_t hash = DeterministicHash(city.location, persona, name); - const std::string_view username = kUsernames[hash % kUsernames.size()]; - const std::string_view bio = kBios[hash / kBioHashStride % kBios.size()]; - const float activity_weight = - static_cast(hash / kActivityWeightHashStride % - kActivityWeightHashRange) / - static_cast(kActivityWeightHashRange); + const std::string_view username = kUsernames[hash % kUsernames.size()]; + const std::string_view bio = kBios[hash / kBioHashStride % kBios.size()]; + const float activity_weight = + static_cast(hash / kActivityWeightHashStride % + kActivityWeightHashRange) / + static_cast(kActivityWeightHashRange); - return { - .first_name = name.first_name, - .last_name = name.last_name, - .gender = name.gender, - .username = std::string(username), - .bio = std::string(bio), - .activity_weight = activity_weight, - }; + return { + .first_name = name.first_name, + .last_name = name.last_name, + .gender = name.gender, + .username = std::string(username), + .bio = std::string(bio), + .activity_weight = activity_weight, + }; } diff --git a/tooling/pipeline/src/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.cc b/tooling/pipeline/src/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.cc index dfe94b69..7764197a 100644 --- a/tooling/pipeline/src/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.cc +++ b/tooling/pipeline/src/data_generation/prompt_formatting/gemma4_jinja_prompt_formatter.cc @@ -8,25 +8,25 @@ static constexpr std::string_view kWhitespace = " \t\n\r\f\v"; // Strips leading and trailing whitespace to ensure clean prompt injection. static std::string_view Trim(std::string_view value) { - const size_t first_index = value.find_first_not_of(kWhitespace); + const size_t first_index = value.find_first_not_of(kWhitespace); - const bool is_all_whitespace = (first_index == std::string_view::npos); - if (is_all_whitespace) { - return ""; - } + const bool is_all_whitespace = (first_index == std::string_view::npos); + if (is_all_whitespace) { + return ""; + } - const size_t last_index = value.find_last_not_of(kWhitespace); - return value.substr(first_index, last_index - first_index + 1); + const size_t last_index = value.find_last_not_of(kWhitespace); + return value.substr(first_index, last_index - first_index + 1); } std::string Gemma4JinjaPromptFormatter::Format( std::string_view system_prompt, std::string_view user_prompt) const { - std::string_view trimmed_system = Trim(system_prompt); - std::string_view trimmed_user = Trim(user_prompt); + std::string_view trimmed_system = Trim(system_prompt); + std::string_view trimmed_user = Trim(user_prompt); - return std::format( - "<|turn|>system\n<|think|>\n{}\n<|turn|>\n" - "<|turn|>user\n{}\n<|turn|>\n" - "<|turn|>model\n<|channel>thought\n", - trimmed_system, trimmed_user); + return std::format( + "<|turn|>system\n<|think|>\n{}\n<|turn|>\n" + "<|turn|>user\n{}\n<|turn|>\n" + "<|turn|>model\n<|channel>thought\n", + trimmed_system, trimmed_user); } diff --git a/tooling/pipeline/src/main.cc b/tooling/pipeline/src/main.cc index b4b590d5..5154058a 100644 --- a/tooling/pipeline/src/main.cc +++ b/tooling/pipeline/src/main.cc @@ -25,223 +25,230 @@ namespace di = boost::di; static constexpr size_t kLogMaxCount = 512; int main(const int argc, char** argv) { - spdlog::set_level(spdlog::level::debug); - spdlog::set_pattern("│ %Y-%m-%d %H:%M:%S.%e │ %^%-7l%$ │ %v"); - BoundedChannel log_channel(kLogMaxCount); + spdlog::set_level(spdlog::level::debug); + spdlog::set_pattern("│ %Y-%m-%d %H:%M:%S.%e │ %^%-7l%$ │ %v"); + BoundedChannel log_channel(kLogMaxCount); - auto log_dispatcher = // - std::make_unique(log_channel); - std::shared_ptr log_producer = - std::make_shared(log_channel); + auto log_dispatcher = // + std::make_unique(log_channel); + std::shared_ptr log_producer = + std::make_shared(log_channel); - std::thread log_thread([&log_dispatcher] { log_dispatcher->Run(); }); + std::thread log_thread([&log_dispatcher] { log_dispatcher->Run(); }); - auto shutdown = [&](const int exit_code) { - log_channel.Close(); - log_thread.join(); - return exit_code; - }; + auto shutdown = [&](const int exit_code) { + log_channel.Close(); + log_thread.join(); + return exit_code; + }; - try { - Timer timer; + try { + Timer timer; #ifndef BIERGARTEN_MOCK_ONLY - const LlamaBackendState llama_backend_state; + const LlamaBackendState llama_backend_state; #endif - log_producer->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = "STARTING PIPELINE"}); + log_producer->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = "STARTING PIPELINE"}); - const std::optional parsed_options = - ParseArguments(argc, argv, log_producer); + const std::optional parsed_options = + ParseArguments(argc, argv, log_producer); - if (!parsed_options.has_value()) { - return shutdown(EXIT_FAILURE); - } - - const auto options = *parsed_options; - const std::string model_path = options.generator.model_path.string(); - const auto sampling = - options.generator.sampling.value_or(SamplingOptions{}); - - std::unique_ptr prompt_directory; - - if (!options.generator.use_mocked) { - try { - prompt_directory = std::make_unique( - options.pipeline.prompt_dir, log_producer); - } catch (const std::exception& dir_error) { - log_producer->Log({.level = LogLevel::Error, - .phase = PipelinePhase::Startup, - .message = std::format("Invalid --prompt-dir: {}", - dir_error.what())}); - - return shutdown(EXIT_FAILURE); + if (!parsed_options.has_value()) { + return shutdown(EXIT_FAILURE); } - } - const auto injector = di::make_injector( - di::bind().to(log_producer), - di::bind().to(options), - di::bind().to(model_path), - di::bind().to(), - di::bind().to( - [options, &log_producer]() -> std::unique_ptr { - if (options.generator.use_mocked) { + const auto options = *parsed_options; + const std::string model_path = options.generator.model_path.string(); + const auto sampling = + options.generator.sampling.value_or(SamplingOptions{}); + + std::unique_ptr prompt_directory; + + if (!options.generator.use_mocked) { + try { + prompt_directory = std::make_unique( + options.pipeline.prompt_dir, log_producer); + } catch (const std::exception& dir_error) { + log_producer->Log( + {.level = LogLevel::Error, + .phase = PipelinePhase::Startup, + .message = std::format("Invalid --prompt-dir: {}", + dir_error.what())}); + + return shutdown(EXIT_FAILURE); + } + } + + const auto injector = di::make_injector( + di::bind().to(log_producer), + di::bind().to(options), + di::bind().to(model_path), + di::bind().to(), + di::bind().to( + [options, + &log_producer]() -> std::unique_ptr { + if (options.generator.use_mocked) { + log_producer->Log( + {.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = "Postal code: mock (curated examples)"}); + + return std::make_unique(); + } + + log_producer->Log( + {.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = + "Postal code: Xeger (regex-based generation)"}); + + return std::make_unique(); + }), + di::bind().to( + [options, + &log_producer]() -> std::unique_ptr { + if (options.generator.use_mocked) { + log_producer->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = "Curated data: mock"}); + + return std::make_unique(); + } + + log_producer->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = "Curated data: JsonLoader"}); + + return std::make_unique( + CuratedDataFilePaths{ + .locations_path = "locations.json", + .personas_path = "personas.json", + .forenames_path = "forenames-by-country.json", + .surnames_path = "surnames-by-country.json", + }); + }), + di::bind().to([options, log_producer] { + if (options.generator.use_mocked) { + { + log_producer->Log( + {.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = "Prompt formatter: none (mock mode)"}); + } + return std::unique_ptr(nullptr); + } + { log_producer->Log( {.level = LogLevel::Info, .phase = PipelinePhase::Startup, - .message = "Postal code: mock (curated examples)"}); + .message = + "Prompt formatter: Gemma4JinjaPromptFormatter"}); + } + return std::unique_ptr( + std::make_unique()); + }), + di::bind().to([options, log_producer] { + if (options.generator.use_mocked) { + { + log_producer->Log( + {.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = "Web client: none (mock mode)"}); + } + return std::unique_ptr(nullptr); + } - return std::make_unique(); - } + log_producer->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = "Web client: HttpWebClient"}); - log_producer->Log( - {.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = "Postal code: Xeger (regex-based generation)"}); + return std::unique_ptr( + std::make_unique(log_producer)); + }), + di::bind().to( + [options, &log_producer]( + const auto& inj) -> std::unique_ptr { + if (options.generator.use_mocked) { + log_producer->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = "Enrichment: mock"}); - return std::make_unique(); - }), - di::bind().to( - [options, &log_producer]() -> std::unique_ptr { - if (options.generator.use_mocked) { - log_producer->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = "Curated data: mock"}); + return std::make_unique(); + } - return std::make_unique(); - } + log_producer->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = "Enrichment: Wikipedia"}); - log_producer->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = "Curated data: JsonLoader"}); + return std::make_unique( + inj.template create>(), + log_producer); + }), + di::bind().to( + [&options, &model_path, &sampling, &prompt_directory, + &log_producer]( + const auto& inj) -> std::unique_ptr { + if (options.generator.use_mocked) { + log_producer->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = "Generator: mock"}); - return std::make_unique( - CuratedDataFilePaths{ - .locations_path = "locations.json", - .personas_path = "personas.json", - .forenames_path = "forenames-by-country.json", - .surnames_path = "surnames-by-country.json", - }); - }), - di::bind().to([options, log_producer] { - if (options.generator.use_mocked) { - { - log_producer->Log( - {.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = "Prompt formatter: none (mock mode)"}); - } - return std::unique_ptr(nullptr); - } - { - log_producer->Log( - {.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = "Prompt formatter: Gemma4JinjaPromptFormatter"}); - } - return std::unique_ptr( - std::make_unique()); - }), - di::bind().to([options, log_producer] { - if (options.generator.use_mocked) { - { - log_producer->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = "Web client: none (mock mode)"}); - } - return std::unique_ptr(nullptr); - } - - log_producer->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = "Web client: HttpWebClient"}); - - return std::unique_ptr( - std::make_unique(log_producer)); - }), - di::bind().to( - [options, &log_producer]( - const auto& inj) -> std::unique_ptr { - if (options.generator.use_mocked) { - log_producer->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = "Enrichment: mock"}); - - return std::make_unique(); - } - - log_producer->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = "Enrichment: Wikipedia"}); - - return std::make_unique( - inj.template create>(), - log_producer); - }), - di::bind().to( - [&options, &model_path, &sampling, &prompt_directory, - &log_producer](const auto& inj) -> std::unique_ptr { - if (options.generator.use_mocked) { - log_producer->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = "Generator: mock"}); - - return std::make_unique(); - } + return std::make_unique(); + } #ifdef BIERGARTEN_MOCK_ONLY - // Unreachable: ParseArguments requires --mocked when - // BIERGARTEN_MOCK_ONLY is compiled in, so LlamaGenerator is - // never constructed and is not linked into this binary. - throw std::runtime_error( - "LlamaGenerator is unavailable in a BIERGARTEN_MOCK_ONLY " - "build"); + // Unreachable: ParseArguments requires --mocked when + // BIERGARTEN_MOCK_ONLY is compiled in, so LlamaGenerator is + // never constructed and is not linked into this binary. + throw std::runtime_error( + "LlamaGenerator is unavailable in a BIERGARTEN_MOCK_ONLY " + "build"); #else - log_producer->Log( - {.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = std::format( - "Generator: LlamaGenerator | model={} | " - "temp={:.2f} top_p={:.2f} top_k={} n_ctx={} seed={}", - model_path, sampling.temperature, sampling.top_p, - sampling.top_k, sampling.n_ctx, sampling.seed)}); + log_producer->Log( + {.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = std::format( + "Generator: LlamaGenerator | model={} | " + "temp={:.2f} top_p={:.2f} top_k={} n_ctx={} seed={}", + model_path, sampling.temperature, sampling.top_p, + sampling.top_k, sampling.n_ctx, sampling.seed)}); - return std::make_unique( - options, model_path, log_producer, - inj.template create>(), - std::move(prompt_directory)); + return std::make_unique( + options, model_path, log_producer, + inj.template create>(), + std::move(prompt_directory)); #endif - })); + })); - const auto orchestrator = - injector.create>(); + const auto orchestrator = + injector.create>(); - if (!orchestrator->Run()) { - log_producer->Log({.level = LogLevel::Error, + if (!orchestrator->Run()) { + log_producer->Log({.level = LogLevel::Error, + .phase = PipelinePhase::Teardown, + .message = "Pipeline execution failed"}); + return shutdown(EXIT_FAILURE); + } + + log_producer->Log({.level = LogLevel::Info, .phase = PipelinePhase::Teardown, - .message = "Pipeline execution failed"}); + .message = std::format("Pipeline complete in {} ms", + timer.Elapsed())}); + + return shutdown(EXIT_SUCCESS); + } catch (const std::exception& exception) { + const LogDTO log_entry{.level = LogLevel::Error, + .phase = PipelinePhase::Teardown, + .message = exception.what()}; + if (log_producer) { + log_producer->Log(log_entry); + } else { + std::cerr << log_entry.message << std::endl; + } + return shutdown(EXIT_FAILURE); - } - - log_producer->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Teardown, - .message = std::format("Pipeline complete in {} ms", - timer.Elapsed())}); - - return shutdown(EXIT_SUCCESS); - } catch (const std::exception& exception) { - const LogDTO log_entry{.level = LogLevel::Error, - .phase = PipelinePhase::Teardown, - .message = exception.what()}; - if (log_producer) { - log_producer->Log(log_entry); - } else { - std::cerr << log_entry.message << std::endl; - } - - return shutdown(EXIT_FAILURE); - } + } } diff --git a/tooling/pipeline/src/services/curated_data/curated_json_data_service.cc b/tooling/pipeline/src/services/curated_data/curated_json_data_service.cc index cf8b11f3..c85a7820 100644 --- a/tooling/pipeline/src/services/curated_data/curated_json_data_service.cc +++ b/tooling/pipeline/src/services/curated_data/curated_json_data_service.cc @@ -21,71 +21,71 @@ static std::string ReadRequiredString(const boost::json::object& object, const char* key) { - const boost::json::value* value = object.if_contains(key); - if (value == nullptr || !value->is_string()) { - throw std::runtime_error( - std::format("Missing or invalid string field: {}", key)); - } - const std::string_view text = value->as_string(); - return std::string(text); + const boost::json::value* value = object.if_contains(key); + if (value == nullptr || !value->is_string()) { + throw std::runtime_error( + std::format("Missing or invalid string field: {}", key)); + } + const std::string_view text = value->as_string(); + return std::string(text); } static std::vector ReadRequiredStringArray( const boost::json::object& object, const char* key) { - const boost::json::value* value = object.if_contains(key); - if (value == nullptr || !value->is_array()) { - throw std::runtime_error( - std::format("Missing or invalid string array field: {}", key)); - } - - const auto& array = value->as_array(); - std::vector items; - items.reserve(array.size()); - for (const auto& item : array) { - if (!item.is_string()) { + const boost::json::value* value = object.if_contains(key); + if (value == nullptr || !value->is_array()) { throw std::runtime_error( std::format("Missing or invalid string array field: {}", key)); - } - items.emplace_back(item.as_string()); - } - return items; + } + + const auto& array = value->as_array(); + std::vector items; + items.reserve(array.size()); + for (const auto& item : array) { + if (!item.is_string()) { + throw std::runtime_error( + std::format("Missing or invalid string array field: {}", key)); + } + items.emplace_back(item.as_string()); + } + return items; } static PostalCodeSpec ReadPostalCodeSpec(const boost::json::object& object) { - const boost::json::value* value = object.if_contains("postal_code"); - if (value == nullptr || !value->is_object()) { - throw std::runtime_error("Missing or invalid object field: postal_code"); - } + const boost::json::value* value = object.if_contains("postal_code"); + if (value == nullptr || !value->is_object()) { + throw std::runtime_error("Missing or invalid object field: postal_code"); + } - const auto& postal_code = value->as_object(); - return PostalCodeSpec{ - .country_format_regex = - ReadRequiredString(postal_code, "country_format_regex"), - .city_regexes = ReadRequiredStringArray(postal_code, "city_regex"), - .examples = ReadRequiredStringArray(postal_code, "examples"), - }; + const auto& postal_code = value->as_object(); + return PostalCodeSpec{ + .country_format_regex = + ReadRequiredString(postal_code, "country_format_regex"), + .city_regexes = ReadRequiredStringArray(postal_code, "city_regex"), + .examples = ReadRequiredStringArray(postal_code, "examples"), + }; } namespace { boost::json::value ParseJsonFile(const std::filesystem::path& filepath, const char* what) { - std::ifstream input(filepath); - if (!input.is_open()) { - throw std::runtime_error( - std::format("Failed to open {} file: {}", what, filepath.string())); - } + std::ifstream input(filepath); + if (!input.is_open()) { + throw std::runtime_error( + std::format("Failed to open {} file: {}", what, filepath.string())); + } - std::stringstream buffer; - buffer << input.rdbuf(); + std::stringstream buffer; + buffer << input.rdbuf(); - boost::system::error_code error; - boost::json::value root = boost::json::parse(buffer.str(), error); - if (error) { - throw std::runtime_error( - std::format("Failed to parse {} JSON: {}", what, error.message())); - } - return root; + boost::system::error_code error; + boost::json::value root = boost::json::parse(buffer.str(), error); + if (error) { + throw std::runtime_error( + std::format("Failed to parse {} JSON: {}", what, error.message())); + } + return root; } /** @@ -95,18 +95,18 @@ boost::json::value ParseJsonFile(const std::filesystem::path& filepath, */ std::string ReadFirstOfStringArray(const boost::json::object& object, const char* key, const char* fallback_key) { - for (const char* candidate_key : {key, fallback_key}) { - const boost::json::value* value = object.if_contains(candidate_key); - if (value == nullptr || !value->is_array()) { - continue; - } - const auto& array = value->as_array(); - if (!array.empty() && array.front().is_string()) { - return std::string(array.front().as_string()); - } - } - throw std::runtime_error( - std::format("Missing or invalid string array field: {}", key)); + for (const char* candidate_key : {key, fallback_key}) { + const boost::json::value* value = object.if_contains(candidate_key); + if (value == nullptr || !value->is_array()) { + continue; + } + const auto& array = value->as_array(); + if (!array.empty() && array.front().is_string()) { + return std::string(array.front().as_string()); + } + } + throw std::runtime_error( + std::format("Missing or invalid string array field: {}", key)); } } // namespace @@ -115,154 +115,156 @@ CuratedJsonDataService::CuratedJsonDataService(CuratedDataFilePaths filepaths) : filepaths_(std::move(filepaths)) {} const LocationsList& CuratedJsonDataService::LoadLocations() { - if (!cache_.locations.empty()) { - return cache_.locations; - } + if (!cache_.locations.empty()) { + return cache_.locations; + } - const boost::json::value root = - ParseJsonFile(filepaths_.locations_path, "locations"); + const boost::json::value root = + ParseJsonFile(filepaths_.locations_path, "locations"); - if (!root.is_array()) { - throw std::runtime_error( - "Invalid locations JSON: root element must be an array"); - } - - LocationsList locations; - const auto& items = root.as_array(); - locations.reserve(items.size()); - - for (const auto& item : items) { - if (!item.is_object()) { + if (!root.is_array()) { throw std::runtime_error( - "Invalid locations JSON: each entry must be an object"); - } + "Invalid locations JSON: root element must be an array"); + } - const auto& object = item.as_object(); - locations.push_back(City{ - .city = ReadRequiredString(object, "city"), - .state_province = ReadRequiredString(object, "state_province"), - .iso3166_2 = ReadRequiredString(object, "iso3166_2"), - .country = ReadRequiredString(object, "country"), - .iso3166_1 = ReadRequiredString(object, "iso3166_1"), - .local_languages = ReadRequiredStringArray(object, "local_languages"), - .postal_code = ReadPostalCodeSpec(object), - }); - } - cache_.locations = std::move(locations); - return cache_.locations; + LocationsList locations; + const auto& items = root.as_array(); + locations.reserve(items.size()); + + for (const auto& item : items) { + if (!item.is_object()) { + throw std::runtime_error( + "Invalid locations JSON: each entry must be an object"); + } + + const auto& object = item.as_object(); + locations.push_back(City{ + .city = ReadRequiredString(object, "city"), + .state_province = ReadRequiredString(object, "state_province"), + .iso3166_2 = ReadRequiredString(object, "iso3166_2"), + .country = ReadRequiredString(object, "country"), + .iso3166_1 = ReadRequiredString(object, "iso3166_1"), + .local_languages = ReadRequiredStringArray(object, "local_languages"), + .postal_code = ReadPostalCodeSpec(object), + }); + } + cache_.locations = std::move(locations); + return cache_.locations; } const PersonasList& CuratedJsonDataService::LoadPersonas() { - if (!cache_.personas.empty()) { - return cache_.personas; - } + if (!cache_.personas.empty()) { + return cache_.personas; + } - const boost::json::value root = - ParseJsonFile(filepaths_.personas_path, "personas"); + const boost::json::value root = + ParseJsonFile(filepaths_.personas_path, "personas"); - if (!root.is_array()) { - throw std::runtime_error( - "Invalid personas JSON: root element must be an array"); - } - - PersonasList personas; - const auto& items = root.as_array(); - personas.reserve(items.size()); - - for (const auto& item : items) { - if (!item.is_object()) { + if (!root.is_array()) { throw std::runtime_error( - "Invalid personas JSON: each entry must be an object"); - } + "Invalid personas JSON: root element must be an array"); + } - const auto& object = item.as_object(); - personas.push_back(UserPersona{ - .name = ReadRequiredString(object, "name"), - .description = ReadRequiredString(object, "description"), - .style_affinities = ReadRequiredStringArray(object, "style_affinities"), - }); - } + PersonasList personas; + const auto& items = root.as_array(); + personas.reserve(items.size()); - cache_.personas = std::move(personas); - return cache_.personas; + for (const auto& item : items) { + if (!item.is_object()) { + throw std::runtime_error( + "Invalid personas JSON: each entry must be an object"); + } + + const auto& object = item.as_object(); + personas.push_back(UserPersona{ + .name = ReadRequiredString(object, "name"), + .description = ReadRequiredString(object, "description"), + .style_affinities = + ReadRequiredStringArray(object, "style_affinities"), + }); + } + + cache_.personas = std::move(personas); + return cache_.personas; } const ForenamesByCountryMap& CuratedJsonDataService::LoadForenamesByCountry() { - if (!cache_.forenames_by_country.empty()) { - return cache_.forenames_by_country; - } + if (!cache_.forenames_by_country.empty()) { + return cache_.forenames_by_country; + } - const boost::json::value root = - ParseJsonFile(filepaths_.forenames_path, "forenames-by-country"); + const boost::json::value root = + ParseJsonFile(filepaths_.forenames_path, "forenames-by-country"); - if (!root.is_object()) { - throw std::runtime_error( - "Invalid forenames-by-country JSON: root element must be an object " - "keyed by ISO 3166-1 country code"); - } + if (!root.is_object()) { + throw std::runtime_error( + "Invalid forenames-by-country JSON: root element must be an object " + "keyed by ISO 3166-1 country code"); + } - ForenamesByCountryMap forenames_by_country; - for (const auto& [country_code, regions] : root.as_object()) { - if (!regions.is_array()) { - continue; - } - ForenameList entries; - for (const auto& region : regions.as_array()) { - if (!region.is_object()) { - continue; + ForenamesByCountryMap forenames_by_country; + for (const auto& [country_code, regions] : root.as_object()) { + if (!regions.is_array()) { + continue; } - const boost::json::value* names = region.as_object().if_contains("names"); - if (names == nullptr || !names->is_array()) { - continue; + ForenameList entries; + for (const auto& region : regions.as_array()) { + if (!region.is_object()) { + continue; + } + const boost::json::value* names = + region.as_object().if_contains("names"); + if (names == nullptr || !names->is_array()) { + continue; + } + for (const auto& name_value : names->as_array()) { + if (!name_value.is_object()) { + continue; + } + const auto& name_object = name_value.as_object(); + entries.emplace_back(ForenameEntry{ + .name = ReadFirstOfStringArray(name_object, "romanized", + "localized"), + .gender = ReadRequiredString(name_object, "gender"), + }); + } } - for (const auto& name_value : names->as_array()) { - if (!name_value.is_object()) { - continue; - } - const auto& name_object = name_value.as_object(); - entries.emplace_back(ForenameEntry{ - .name = - ReadFirstOfStringArray(name_object, "romanized", "localized"), - .gender = ReadRequiredString(name_object, "gender"), - }); - } - } - forenames_by_country.emplace(country_code, std::move(entries)); - } + forenames_by_country.emplace(country_code, std::move(entries)); + } - cache_.forenames_by_country = std::move(forenames_by_country); - return cache_.forenames_by_country; + cache_.forenames_by_country = std::move(forenames_by_country); + return cache_.forenames_by_country; } const SurnamesByCountryMap& CuratedJsonDataService::LoadSurnamesByCountry() { - if (!cache_.surnames_by_country.empty()) { - return cache_.surnames_by_country; - } + if (!cache_.surnames_by_country.empty()) { + return cache_.surnames_by_country; + } - const boost::json::value root = - ParseJsonFile(filepaths_.surnames_path, "surnames-by-country"); + const boost::json::value root = + ParseJsonFile(filepaths_.surnames_path, "surnames-by-country"); - if (!root.is_object()) { - throw std::runtime_error( - "Invalid surnames-by-country JSON: root element must be an object " - "keyed by ISO 3166-1 country code"); - } + if (!root.is_object()) { + throw std::runtime_error( + "Invalid surnames-by-country JSON: root element must be an object " + "keyed by ISO 3166-1 country code"); + } - SurnamesByCountryMap surnames_by_country; - for (const auto& [country_code, name_entries] : root.as_object()) { - if (!name_entries.is_array()) continue; + SurnamesByCountryMap surnames_by_country; + for (const auto& [country_code, name_entries] : root.as_object()) { + if (!name_entries.is_array()) continue; - SurnameList surnames; - for (const auto& name_value : name_entries.as_array()) { - if (!name_value.is_object()) { - continue; + SurnameList surnames; + for (const auto& name_value : name_entries.as_array()) { + if (!name_value.is_object()) { + continue; + } + surnames.emplace_back(ReadFirstOfStringArray( + name_value.as_object(), "romanized", "localized")); } - surnames.emplace_back(ReadFirstOfStringArray(name_value.as_object(), - "romanized", "localized")); - } - surnames_by_country.emplace(country_code, std::move(surnames)); - } + surnames_by_country.emplace(country_code, std::move(surnames)); + } - cache_.surnames_by_country = std::move(surnames_by_country); - return cache_.surnames_by_country; + cache_.surnames_by_country = std::move(surnames_by_country); + return cache_.surnames_by_country; } diff --git a/tooling/pipeline/src/services/curated_data/mock_curated_data_service.cc b/tooling/pipeline/src/services/curated_data/mock_curated_data_service.cc index 3332fed7..3833b52b 100644 --- a/tooling/pipeline/src/services/curated_data/mock_curated_data_service.cc +++ b/tooling/pipeline/src/services/curated_data/mock_curated_data_service.cc @@ -92,15 +92,15 @@ MockCuratedDataService::MockCuratedDataService() } {} const LocationsList& MockCuratedDataService::LoadLocations() { - return locations_; + return locations_; } const PersonasList& MockCuratedDataService::LoadPersonas() { return personas_; } const ForenamesByCountryMap& MockCuratedDataService::LoadForenamesByCountry() { - return forenames_by_country_; + return forenames_by_country_; } const SurnamesByCountryMap& MockCuratedDataService::LoadSurnamesByCountry() { - return surnames_by_country_; + return surnames_by_country_; } diff --git a/tooling/pipeline/src/services/enrichment/wikipedia/fetch_extract.cc b/tooling/pipeline/src/services/enrichment/wikipedia/fetch_extract.cc index 9bc5305b..8cd6d169 100644 --- a/tooling/pipeline/src/services/enrichment/wikipedia/fetch_extract.cc +++ b/tooling/pipeline/src/services/enrichment/wikipedia/fetch_extract.cc @@ -15,147 +15,147 @@ using namespace boost; std::string WikipediaEnrichmentService::FetchExtract(std::string_view query) { - const std::string cache_key(query); + const std::string cache_key(query); - // 1. Cache Lookup - if (const auto cache_it = this->extract_cache_.find(cache_key); - cache_it != this->extract_cache_.end()) { - if (logger_) { + // 1. Cache Lookup + if (const auto cache_it = this->extract_cache_.find(cache_key); + cache_it != this->extract_cache_.end()) { + if (logger_) { + logger_->Log({.level = LogLevel::Debug, + .phase = PipelinePhase::Enrichment, + .message = std::format("Wikipedia: Cache hit for {}!", + cache_key)}); + } + return cache_it->second; + } + + const std::string encoded = this->client_->EncodeURL(cache_key); + const std::string url = std::format( + "https://en.wikipedia.org/w/" + "api.php?action=query&titles={}&prop=extracts&explaintext=1&format=" + "json", + encoded); + + const std::string body = this->client_->Get(url); + { + using namespace std::literals::chrono_literals; + std::this_thread::sleep_for(1s); + } + + // 2. Parse JSON + system::error_code ec; + json::value doc = json::parse(body, ec); + + if (ec) { + if (logger_) { + logger_->Log({.level = LogLevel::Warn, + .phase = PipelinePhase::Enrichment, + .message = std::format( + "WikipediaService: JSON parse error for '{}': {}", + std::string(query), ec.message())}); + } + return {}; + } + + // 3. Safe Extraction + const json::object* obj = doc.if_object(); + if (obj == nullptr) { + if (logger_) { + logger_->Log({.level = LogLevel::Warn, + .phase = PipelinePhase::Enrichment, + .message = std::format( + "WikipediaService: Expected root object for '{}'", + std::string(query))}); + } + return {}; + } + + const json::value* query_ptr = obj->if_contains("query"); + const json::value* pages_ptr = + ((query_ptr != nullptr) && query_ptr->is_object()) + ? query_ptr->get_object().if_contains("pages") + : nullptr; + + if ((pages_ptr == nullptr) || !pages_ptr->is_object()) { + if (logger_) { + logger_->Log({.level = LogLevel::Warn, + .phase = PipelinePhase::Enrichment, + .message = std::format( + "WikipediaService: Missing query.pages for '{}'", + std::string(query))}); + } + return {}; + } + + const json::object& pages = pages_ptr->get_object(); + + if (pages.empty()) { + if (logger_) { + logger_->Log({.level = LogLevel::Warn, + .phase = PipelinePhase::Enrichment, + .message = std::format( + "WikipediaService: No pages returned for '{}'", + std::string(query))}); + } + this->extract_cache_.emplace(cache_key, ""); + return {}; + } + + // Wikipedia returns the page under a dynamic ID key; we just want the first + // one + const json::value& page_val = pages.begin()->value(); + + if (!page_val.is_object()) { + if (logger_) { + logger_->Log({.level = LogLevel::Warn, + .phase = PipelinePhase::Enrichment, + .message = std::format( + "WikipediaService: Unexpected page format for '{}'", + std::string(query))}); + } + return {}; + } + + const json::object& page = page_val.get_object(); + + // Handle 404/Missing status + if (page.contains("missing")) { + if (logger_) { + logger_->Log({.level = LogLevel::Warn, + .phase = PipelinePhase::Enrichment, + .message = std::format( + "WikipediaService: Page '{}' does not exist", + std::string(query))}); + } + this->extract_cache_.emplace(cache_key, ""); + return {}; + } + + const json::value* extract_ptr = page.if_contains("extract"); + + if ((extract_ptr == nullptr) || !extract_ptr->is_string()) { + if (logger_) { + logger_->Log({.level = LogLevel::Warn, + .phase = PipelinePhase::Enrichment, + .message = std::format( + "WikipediaService: No extract string found for '{}'", + std::string(query))}); + } + this->extract_cache_.emplace(cache_key, ""); + return {}; + } + + // 4. Success + std::string extract(extract_ptr->as_string()); + if (logger_) { logger_->Log( - {.level = LogLevel::Debug, + {.level = LogLevel::Info, .phase = PipelinePhase::Enrichment, - .message = std::format("Wikipedia: Cache hit for {}!", cache_key)}); - } - return cache_it->second; - } + .message = std::format("WikipediaService: Fetched {} chars for '{}'", + extract.size(), std::string(query))}); + } - const std::string encoded = this->client_->EncodeURL(cache_key); - const std::string url = std::format( - "https://en.wikipedia.org/w/" - "api.php?action=query&titles={}&prop=extracts&explaintext=1&format=" - "json", - encoded); + this->extract_cache_.insert_or_assign(cache_key, extract); - const std::string body = this->client_->Get(url); - { - using namespace std::literals::chrono_literals; - std::this_thread::sleep_for(1s); - } - - // 2. Parse JSON - system::error_code ec; - json::value doc = json::parse(body, ec); - - if (ec) { - if (logger_) { - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::Enrichment, - .message = std::format( - "WikipediaService: JSON parse error for '{}': {}", - std::string(query), ec.message())}); - } - return {}; - } - - // 3. Safe Extraction - const json::object* obj = doc.if_object(); - if (obj == nullptr) { - if (logger_) { - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::Enrichment, - .message = std::format( - "WikipediaService: Expected root object for '{}'", - std::string(query))}); - } - return {}; - } - - const json::value* query_ptr = obj->if_contains("query"); - const json::value* pages_ptr = - ((query_ptr != nullptr) && query_ptr->is_object()) - ? query_ptr->get_object().if_contains("pages") - : nullptr; - - if ((pages_ptr == nullptr) || !pages_ptr->is_object()) { - if (logger_) { - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::Enrichment, - .message = std::format( - "WikipediaService: Missing query.pages for '{}'", - std::string(query))}); - } - return {}; - } - - const json::object& pages = pages_ptr->get_object(); - - if (pages.empty()) { - if (logger_) { - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::Enrichment, - .message = std::format( - "WikipediaService: No pages returned for '{}'", - std::string(query))}); - } - this->extract_cache_.emplace(cache_key, ""); - return {}; - } - - // Wikipedia returns the page under a dynamic ID key; we just want the first - // one - const json::value& page_val = pages.begin()->value(); - - if (!page_val.is_object()) { - if (logger_) { - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::Enrichment, - .message = std::format( - "WikipediaService: Unexpected page format for '{}'", - std::string(query))}); - } - return {}; - } - - const json::object& page = page_val.get_object(); - - // Handle 404/Missing status - if (page.contains("missing")) { - if (logger_) { - logger_->Log( - {.level = LogLevel::Warn, - .phase = PipelinePhase::Enrichment, - .message = std::format("WikipediaService: Page '{}' does not exist", - std::string(query))}); - } - this->extract_cache_.emplace(cache_key, ""); - return {}; - } - - const json::value* extract_ptr = page.if_contains("extract"); - - if ((extract_ptr == nullptr) || !extract_ptr->is_string()) { - if (logger_) { - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::Enrichment, - .message = std::format( - "WikipediaService: No extract string found for '{}'", - std::string(query))}); - } - this->extract_cache_.emplace(cache_key, ""); - return {}; - } - - // 4. Success - std::string extract(extract_ptr->as_string()); - if (logger_) { - logger_->Log( - {.level = LogLevel::Info, - .phase = PipelinePhase::Enrichment, - .message = std::format("WikipediaService: Fetched {} chars for '{}'", - extract.size(), std::string(query))}); - } - - this->extract_cache_.insert_or_assign(cache_key, extract); - - return extract; + return extract; } diff --git a/tooling/pipeline/src/services/enrichment/wikipedia/get_summary.cc b/tooling/pipeline/src/services/enrichment/wikipedia/get_summary.cc index 07cfde7d..091c7e01 100644 --- a/tooling/pipeline/src/services/enrichment/wikipedia/get_summary.cc +++ b/tooling/pipeline/src/services/enrichment/wikipedia/get_summary.cc @@ -10,55 +10,54 @@ #include "services/enrichment/wikipedia_service.h" -std::string WikipediaEnrichmentService::GetLocationContext( - const City& loc) { - using namespace std::literals::chrono_literals; - if (!this->client_) { - if (logger_) { - logger_->Log({.level = LogLevel::Warn, - .phase = PipelinePhase::Enrichment, - .message = "Wikipedia client is nullptr."}); - } - return {}; - } +std::string WikipediaEnrichmentService::GetLocationContext(const City& loc) { + using namespace std::literals::chrono_literals; + if (!this->client_) { + if (logger_) { + logger_->Log({.level = LogLevel::Warn, + .phase = PipelinePhase::Enrichment, + .message = "Wikipedia client is nullptr."}); + } + return {}; + } - std::string result; + std::string result; - constexpr std::string_view brewing_query = "brewing"; - const std::string location_query = - std::format("{}, {}", loc.city, loc.iso3166_2); - const std::string beer_query = std::format("beer in {}", loc.country); + constexpr std::string_view brewing_query = "brewing"; + const std::string location_query = + std::format("{}, {}", loc.city, loc.iso3166_2); + const std::string beer_query = std::format("beer in {}", loc.country); - auto append_extract = [&result](const std::string& extract) -> void { - if (extract.empty()) { - return; - } - if (!result.empty()) { - result += "\n\n"; - } - result += extract; - }; + auto append_extract = [&result](const std::string& extract) -> void { + if (extract.empty()) { + return; + } + if (!result.empty()) { + result += "\n\n"; + } + result += extract; + }; - try { - append_extract(FetchExtract(brewing_query)); - append_extract(FetchExtract(beer_query)); - if (logger_) { - logger_->Log({.level = LogLevel::Info, - .phase = PipelinePhase::Enrichment, - .message = std::format( - "Done fetching for {}. Sleeping for 10 seconds.", - location_query)}); - } - std::this_thread::sleep_for(10s); + try { + append_extract(FetchExtract(brewing_query)); + append_extract(FetchExtract(beer_query)); + if (logger_) { + logger_->Log({.level = LogLevel::Info, + .phase = PipelinePhase::Enrichment, + .message = std::format( + "Done fetching for {}. Sleeping for 10 seconds.", + location_query)}); + } + std::this_thread::sleep_for(10s); - } catch (const std::runtime_error& e) { - if (logger_) { - logger_->Log( - {.level = LogLevel::Debug, - .phase = PipelinePhase::Enrichment, - .message = std::format("WikipediaService lookup failed for '{}': {}", - location_query, e.what())}); - } - } - return result; + } catch (const std::runtime_error& e) { + if (logger_) { + logger_->Log({.level = LogLevel::Debug, + .phase = PipelinePhase::Enrichment, + .message = std::format( + "WikipediaService lookup failed for '{}': {}", + location_query, e.what())}); + } + } + return result; } diff --git a/tooling/pipeline/src/services/logging/log_dispatcher.cc b/tooling/pipeline/src/services/logging/log_dispatcher.cc index f9e8308c..d19b9f0f 100644 --- a/tooling/pipeline/src/services/logging/log_dispatcher.cc +++ b/tooling/pipeline/src/services/logging/log_dispatcher.cc @@ -16,25 +16,25 @@ namespace { [[nodiscard]] constexpr std::string_view PipelinePhaseToString( PipelinePhase phase) { - switch (phase) { - case PipelinePhase::Startup: - return "Startup"; - case PipelinePhase::Enrichment: - return "Enrichment"; - case PipelinePhase::UserGeneration: - return "User Generation"; - case PipelinePhase::BreweryAndBeerGeneration: - return "Brewery & Beer Gen"; - case PipelinePhase::CheckinGeneration: - return "Checkin Gen"; - case PipelinePhase::RatingGeneration: - return "Rating Gen"; - case PipelinePhase::FollowGeneration: - return "Follow Gen"; - case PipelinePhase::Teardown: - return "Teardown"; - } - return "Unknown"; + switch (phase) { + case PipelinePhase::Startup: + return "Startup"; + case PipelinePhase::Enrichment: + return "Enrichment"; + case PipelinePhase::UserGeneration: + return "User Generation"; + case PipelinePhase::BreweryAndBeerGeneration: + return "Brewery & Beer Gen"; + case PipelinePhase::CheckinGeneration: + return "Checkin Gen"; + case PipelinePhase::RatingGeneration: + return "Rating Gen"; + case PipelinePhase::FollowGeneration: + return "Follow Gen"; + case PipelinePhase::Teardown: + return "Teardown"; + } + return "Unknown"; } } // namespace @@ -42,35 +42,35 @@ LogDispatcher::LogDispatcher(BoundedChannel& channel) : channel_(channel) {} void LogDispatcher::Run() { - auto logger = spdlog::default_logger(); + auto logger = spdlog::default_logger(); - while (true) { - auto entry = channel_.Receive(); - if (!entry.has_value()) { - // Channel is closed and drained. - break; - } + while (true) { + auto entry = channel_.Receive(); + if (!entry.has_value()) { + // Channel is closed and drained. + break; + } - const auto& log = entry.value(); + const auto& log = entry.value(); - logger->log(ToSpdlogLevel(log.level), - "{:<20} │ thread: {:016x} │ [{}:{}] │ {}", - PipelinePhaseToString(log.phase), - std::hash{}(log.thread_id), - log.origin.file_name(), log.origin.line(), log.message); - } + logger->log(ToSpdlogLevel(log.level), + "{:<20} │ thread: {:016x} │ [{}:{}] │ {}", + PipelinePhaseToString(log.phase), + std::hash{}(log.thread_id), + log.origin.file_name(), log.origin.line(), log.message); + } } spdlog::level::level_enum LogDispatcher::ToSpdlogLevel(LogLevel level) { - switch (level) { - case LogLevel::Debug: - return spdlog::level::debug; - case LogLevel::Info: - return spdlog::level::info; - case LogLevel::Warn: - return spdlog::level::warn; - case LogLevel::Error: - return spdlog::level::err; - } - return spdlog::level::info; + switch (level) { + case LogLevel::Debug: + return spdlog::level::debug; + case LogLevel::Info: + return spdlog::level::info; + case LogLevel::Warn: + return spdlog::level::warn; + case LogLevel::Error: + return spdlog::level::err; + } + return spdlog::level::info; } diff --git a/tooling/pipeline/src/services/postal_code/xeger_postal_code_service.cc b/tooling/pipeline/src/services/postal_code/xeger_postal_code_service.cc index 796c9ab8..761f80df 100644 --- a/tooling/pipeline/src/services/postal_code/xeger_postal_code_service.cc +++ b/tooling/pipeline/src/services/postal_code/xeger_postal_code_service.cc @@ -18,27 +18,27 @@ XegerPostalCodeService::XegerPostalCodeService() : rng_(std::random_device{}()) {} std::string XegerPostalCodeService::GeneratePostalCode(const City& city) { - const PostalCodeSpec& spec = city.postal_code; + const PostalCodeSpec& spec = city.postal_code; - std::vector city_patterns; - for (const std::string& pattern : spec.city_regexes) { - if (!pattern.empty()) { - city_patterns.push_back(pattern); - } - } + std::vector city_patterns; + for (const std::string& pattern : spec.city_regexes) { + if (!pattern.empty()) { + city_patterns.push_back(pattern); + } + } - std::string_view pattern; - if (!city_patterns.empty()) { - std::uniform_int_distribution dist(0, city_patterns.size() - 1); - pattern = city_patterns[dist(rng_)]; - } else if (!spec.country_format_regex.empty()) { - pattern = spec.country_format_regex; - } else { - throw std::runtime_error(std::format( - "XegerPostalCodeService: no postal-code pattern available for " - "city '{}'", - city.city)); - } + std::string_view pattern; + if (!city_patterns.empty()) { + std::uniform_int_distribution dist(0, city_patterns.size() - 1); + pattern = city_patterns[dist(rng_)]; + } else if (!spec.country_format_regex.empty()) { + pattern = spec.country_format_regex; + } else { + throw std::runtime_error(std::format( + "XegerPostalCodeService: no postal-code pattern available for " + "city '{}'", + city.city)); + } - return GenerateStringFromRegex(pattern, rng_); + return GenerateStringFromRegex(pattern, rng_); } diff --git a/tooling/pipeline/src/services/prompt_directory.cc b/tooling/pipeline/src/services/prompt_directory.cc index d567454b..858d82cd 100644 --- a/tooling/pipeline/src/services/prompt_directory.cc +++ b/tooling/pipeline/src/services/prompt_directory.cc @@ -23,80 +23,80 @@ PromptDirectory::PromptDirectory(const std::filesystem::path& prompt_dir) PromptDirectory::PromptDirectory(const std::filesystem::path& prompt_dir, std::shared_ptr logger) : prompt_dir_(prompt_dir), logger_(std::move(logger)) { - std::error_code ec; + std::error_code ec; - // Directory must exist. - if (!std::filesystem::exists(prompt_dir_, ec) || ec) { - throw std::runtime_error( - "PromptDirectory: prompt directory does not exist: " + - prompt_dir_.string()); - } + // Directory must exist. + if (!std::filesystem::exists(prompt_dir_, ec) || ec) { + throw std::runtime_error( + "PromptDirectory: prompt directory does not exist: " + + prompt_dir_.string()); + } - // Path must be a directory, not a file. - if (!std::filesystem::is_directory(prompt_dir_, ec) || ec) { - throw std::runtime_error( - "PromptDirectory: prompt directory path is not a directory: " + - prompt_dir_.string()); - } + // Path must be a directory, not a file. + if (!std::filesystem::is_directory(prompt_dir_, ec) || ec) { + throw std::runtime_error( + "PromptDirectory: prompt directory path is not a directory: " + + prompt_dir_.string()); + } - // Directory must be readable (probe with directory_iterator). - std::filesystem::directory_iterator probe(prompt_dir_, ec); - if (ec) { - throw std::runtime_error(std::format( - "PromptDirectory: prompt directory is not readable: {} ({})", - prompt_dir_.string(), ec.message())); - } + // Directory must be readable (probe with directory_iterator). + std::filesystem::directory_iterator probe(prompt_dir_, ec); + if (ec) { + throw std::runtime_error(std::format( + "PromptDirectory: prompt directory is not readable: {} ({})", + prompt_dir_.string(), ec.message())); + } - if (logger_) { - logger_->Log( - {.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = - std::string("[PromptDirectory] Resolved prompt directory: ") + - prompt_dir_.string()}); - } + if (logger_) { + logger_->Log( + {.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = + std::string("[PromptDirectory] Resolved prompt directory: ") + + prompt_dir_.string()}); + } } std::string PromptDirectory::Load(std::string_view key) { - const std::string key_str(key); + const std::string key_str(key); - // Return cached content if already loaded during this run. - const auto cache_it = cache_.find(key_str); - if (cache_it != cache_.end()) { - return cache_it->second; - } + // Return cached content if already loaded during this run. + const auto cache_it = cache_.find(key_str); + if (cache_it != cache_.end()) { + return cache_it->second; + } - // Resolve /.md and require it to exist. - const std::filesystem::path file_path = - prompt_dir_ / std::filesystem::path(std::format("{}.md", key_str)); + // Resolve /.md and require it to exist. + const std::filesystem::path file_path = + prompt_dir_ / std::filesystem::path(std::format("{}.md", key_str)); - std::ifstream file(file_path); - if (!file.is_open()) { - throw std::runtime_error( - std::format("PromptDirectory: prompt file not found for key '{}': {}", - key_str, file_path.string())); - } + std::ifstream file(file_path); + if (!file.is_open()) { + throw std::runtime_error( + std::format("PromptDirectory: prompt file not found for key '{}': {}", + key_str, file_path.string())); + } - std::string content((std::istreambuf_iterator(file)), - std::istreambuf_iterator()); - file.close(); + std::string content((std::istreambuf_iterator(file)), + std::istreambuf_iterator()); + file.close(); - if (content.empty()) { - throw std::runtime_error( - std::format("PromptDirectory: prompt file for key '{}' is empty: {}", - key_str, file_path.string())); - } + if (content.empty()) { + throw std::runtime_error( + std::format("PromptDirectory: prompt file for key '{}' is empty: {}", + key_str, file_path.string())); + } - if (logger_) { - logger_->Log( - {.level = LogLevel::Info, - .phase = PipelinePhase::Startup, - .message = std::format( - "[PromptDirectory] Loaded prompt '{}' from '{}' ({} chars)", - key_str, file_path.string(), content.size())}); - } + if (logger_) { + logger_->Log( + {.level = LogLevel::Info, + .phase = PipelinePhase::Startup, + .message = std::format( + "[PromptDirectory] Loaded prompt '{}' from '{}' ({} chars)", + key_str, file_path.string(), content.size())}); + } - // Cache the loaded content for future calls. - cache_.emplace(key_str, content); - return content; + // Cache the loaded content for future calls. + cache_.emplace(key_str, content); + return content; } diff --git a/tooling/pipeline/src/services/sqlite/finalize.cc b/tooling/pipeline/src/services/sqlite/finalize.cc index b8e64574..9ce60674 100644 --- a/tooling/pipeline/src/services/sqlite/finalize.cc +++ b/tooling/pipeline/src/services/sqlite/finalize.cc @@ -9,26 +9,26 @@ #include "services/database/sqlite_export_service_helpers.h" void SqliteExportService::Finalize() { - if (db_handle_ == nullptr) { - return; - } + if (db_handle_ == nullptr) { + return; + } - try { - insert_user_address_stmt_.reset(); - insert_user_stmt_.reset(); - insert_brewery_address_stmt_.reset(); - insert_brewery_stmt_.reset(); - insert_city_stmt_.reset(); - if (transaction_open_) { - sqlite_export_service_internal::ExecSql( - db_handle_, "COMMIT;", "Failed to commit SQLite transaction"); - transaction_open_ = false; - } + try { + insert_user_address_stmt_.reset(); + insert_user_stmt_.reset(); + insert_brewery_address_stmt_.reset(); + insert_brewery_stmt_.reset(); + insert_city_stmt_.reset(); + if (transaction_open_) { + sqlite_export_service_internal::ExecSql( + db_handle_, "COMMIT;", "Failed to commit SQLite transaction"); + transaction_open_ = false; + } - db_handle_.reset(); - city_cache_.clear(); - } catch (...) { - RollbackAndCloseNoThrow(); - throw; - } + db_handle_.reset(); + city_cache_.clear(); + } catch (...) { + RollbackAndCloseNoThrow(); + throw; + } } diff --git a/tooling/pipeline/src/services/sqlite/helpers/sqlite_connection_helpers.cc b/tooling/pipeline/src/services/sqlite/helpers/sqlite_connection_helpers.cc index 36020029..389bfc8a 100644 --- a/tooling/pipeline/src/services/sqlite/helpers/sqlite_connection_helpers.cc +++ b/tooling/pipeline/src/services/sqlite/helpers/sqlite_connection_helpers.cc @@ -6,62 +6,62 @@ namespace sqlite_export_service_internal { void SqliteDatabaseDeleter::operator()(sqlite3* handle) const noexcept { - if (handle != nullptr) { - sqlite3_close(handle); - } + if (handle != nullptr) { + sqlite3_close(handle); + } } void SqliteStatementDeleter::operator()( sqlite3_stmt* statement) const noexcept { - if (statement != nullptr) { - sqlite3_finalize(statement); - } + if (statement != nullptr) { + sqlite3_finalize(statement); + } } void ThrowSqliteError(sqlite3* db_handle, std::string_view action) { - const std::string message = - db_handle != nullptr ? sqlite3_errmsg(db_handle) : "unknown SQLite error"; - throw std::runtime_error(std::format("{}: {}", action, message)); + const std::string message = db_handle != nullptr ? sqlite3_errmsg(db_handle) + : "unknown SQLite error"; + throw std::runtime_error(std::format("{}: {}", action, message)); } SqliteDatabaseHandle OpenDatabase(const std::filesystem::path& path) { - sqlite3* raw_handle = nullptr; - const int result = sqlite3_open(path.string().c_str(), &raw_handle); + sqlite3* raw_handle = nullptr; + const int result = sqlite3_open(path.string().c_str(), &raw_handle); - SqliteDatabaseHandle handle(raw_handle); - if (result != SQLITE_OK) { - const std::string message = raw_handle != nullptr - ? sqlite3_errmsg(raw_handle) - : "unknown SQLite error"; - throw std::runtime_error("Failed to open SQLite export database: " + - message); - } + SqliteDatabaseHandle handle(raw_handle); + if (result != SQLITE_OK) { + const std::string message = raw_handle != nullptr + ? sqlite3_errmsg(raw_handle) + : "unknown SQLite error"; + throw std::runtime_error("Failed to open SQLite export database: " + + message); + } - return handle; + return handle; } void ExecSql(const SqliteDatabaseHandle& db_handle, std::string_view sql, const char* action) { - char* error_message = nullptr; - const std::string sql_text(sql); - const int result = sqlite3_exec(db_handle.get(), sql_text.c_str(), nullptr, - nullptr, &error_message); - if (result != SQLITE_OK) { - const std::string message = error_message != nullptr - ? error_message - : sqlite3_errmsg(db_handle.get()); - sqlite3_free(error_message); - throw std::runtime_error(std::format("{}: {}", action, message)); - } + char* error_message = nullptr; + const std::string sql_text(sql); + const int result = sqlite3_exec(db_handle.get(), sql_text.c_str(), nullptr, + nullptr, &error_message); + if (result != SQLITE_OK) { + const std::string message = error_message != nullptr + ? error_message + : sqlite3_errmsg(db_handle.get()); + sqlite3_free(error_message); + throw std::runtime_error(std::format("{}: {}", action, message)); + } } void RollbackTransactionNoThrow( const SqliteDatabaseHandle& db_handle) noexcept { - if (!db_handle) { - return; - } + if (!db_handle) { + return; + } - sqlite3_exec(db_handle.get(), "ROLLBACK;", nullptr, nullptr, nullptr); + sqlite3_exec(db_handle.get(), "ROLLBACK;", nullptr, nullptr, nullptr); } } // namespace sqlite_export_service_internal diff --git a/tooling/pipeline/src/services/sqlite/helpers/sqlite_statement_helpers.cc b/tooling/pipeline/src/services/sqlite/helpers/sqlite_statement_helpers.cc index 2420ea81..8a698a18 100644 --- a/tooling/pipeline/src/services/sqlite/helpers/sqlite_statement_helpers.cc +++ b/tooling/pipeline/src/services/sqlite/helpers/sqlite_statement_helpers.cc @@ -13,87 +13,87 @@ namespace sqlite_export_service_internal { SqliteStatementHandle PrepareStatement(const SqliteDatabaseHandle& db_handle, std::string_view sql, const char* action) { - sqlite3_stmt* raw_statement = nullptr; - const std::string sql_text(sql); - const int result = sqlite3_prepare_v2(db_handle.get(), sql_text.c_str(), -1, - &raw_statement, nullptr); - SqliteStatementHandle statement(raw_statement); - if (result != SQLITE_OK) { - ThrowSqliteError(db_handle.get(), action); - } + sqlite3_stmt* raw_statement = nullptr; + const std::string sql_text(sql); + const int result = sqlite3_prepare_v2(db_handle.get(), sql_text.c_str(), -1, + &raw_statement, nullptr); + SqliteStatementHandle statement(raw_statement); + if (result != SQLITE_OK) { + ThrowSqliteError(db_handle.get(), action); + } - return statement; + return statement; } void ResetStatement(SqliteStatementHandle& statement) { - if (statement != nullptr) { - sqlite3_reset(statement.get()); - sqlite3_clear_bindings(statement.get()); - } + if (statement != nullptr) { + sqlite3_reset(statement.get()); + sqlite3_clear_bindings(statement.get()); + } } void Bind(const SqliteStatementHandle& statement, const BoundParam& param) { - const auto byte_count = param.value.size(); - if (byte_count > static_cast(std::numeric_limits::max())) { - ThrowSqliteError(sqlite3_db_handle(statement.get()), param.action); - } + const auto byte_count = param.value.size(); + if (byte_count > static_cast(std::numeric_limits::max())) { + ThrowSqliteError(sqlite3_db_handle(statement.get()), param.action); + } - auto delete_char_array = [](void* data) noexcept { - // NOLINT(cppcoreguidelines-owning-memory) - delete[] static_cast(data); - }; + auto delete_char_array = [](void* data) noexcept { + // NOLINT(cppcoreguidelines-owning-memory) + delete[] static_cast(data); + }; - // NOLINT(cppcoreguidelines-avoid-c-arrays, modernize-avoid-c-arrays) - auto buffer = std::make_unique(byte_count + 1); - std::memcpy(buffer.get(), param.value.data(), byte_count); - buffer[byte_count] = '\0'; + // NOLINT(cppcoreguidelines-avoid-c-arrays, modernize-avoid-c-arrays) + auto buffer = std::make_unique(byte_count + 1); + std::memcpy(buffer.get(), param.value.data(), byte_count); + buffer[byte_count] = '\0'; - char* raw_buffer = buffer.release(); + char* raw_buffer = buffer.release(); - if (sqlite3_bind_text(statement.get(), param.index, raw_buffer, - static_cast(byte_count), - delete_char_array) != SQLITE_OK) { - delete_char_array(raw_buffer); - ThrowSqliteError(sqlite3_db_handle(statement.get()), param.action); - } + if (sqlite3_bind_text(statement.get(), param.index, raw_buffer, + static_cast(byte_count), + delete_char_array) != SQLITE_OK) { + delete_char_array(raw_buffer); + ThrowSqliteError(sqlite3_db_handle(statement.get()), param.action); + } } void Bind(const SqliteStatementHandle& statement, const BoundParam& param) { - if (sqlite3_bind_double(statement.get(), param.index, param.value) != - SQLITE_OK) { - ThrowSqliteError(sqlite3_db_handle(statement.get()), param.action); - } + if (sqlite3_bind_double(statement.get(), param.index, param.value) != + SQLITE_OK) { + ThrowSqliteError(sqlite3_db_handle(statement.get()), param.action); + } } void Bind(const SqliteStatementHandle& statement, const BoundParam& param) { - if (sqlite3_bind_int64(statement.get(), param.index, param.value) != - SQLITE_OK) { - ThrowSqliteError(sqlite3_db_handle(statement.get()), param.action); - } + if (sqlite3_bind_int64(statement.get(), param.index, param.value) != + SQLITE_OK) { + ThrowSqliteError(sqlite3_db_handle(statement.get()), param.action); + } } void StepStatement(const SqliteDatabaseHandle& db_handle, const SqliteStatementHandle& statement, std::string_view action) { - if (sqlite3_step(statement.get()) != SQLITE_DONE) { - ThrowSqliteError(db_handle.get(), action); - } + if (sqlite3_step(statement.get()) != SQLITE_DONE) { + ThrowSqliteError(db_handle.get(), action); + } } sqlite3_int64 LastInsertRowId(const SqliteDatabaseHandle& db_handle) { - return sqlite3_last_insert_rowid(db_handle.get()); + return sqlite3_last_insert_rowid(db_handle.get()); } std::string SerializeVector(const std::vector& str_vec) { - boost::json::array array; - array.reserve(str_vec.size()); - for (const auto& s : str_vec) { - array.emplace_back(s); - } - return boost::json::serialize(array); + boost::json::array array; + array.reserve(str_vec.size()); + for (const auto& s : str_vec) { + array.emplace_back(s); + } + return boost::json::serialize(array); } } // namespace sqlite_export_service_internal diff --git a/tooling/pipeline/src/services/sqlite/initialize.cc b/tooling/pipeline/src/services/sqlite/initialize.cc index 3089ad0c..e8608c7b 100644 --- a/tooling/pipeline/src/services/sqlite/initialize.cc +++ b/tooling/pipeline/src/services/sqlite/initialize.cc @@ -12,99 +12,99 @@ #include "services/database/sqlite_export_service.h" std::filesystem::path SqliteExportService::BuildDatabasePath() const { - std::filesystem::path base_filename("biergarten_seed_" + run_timestamp_utc_ + - ".sqlite"); - std::filesystem::path candidate = output_path_ / base_filename; + std::filesystem::path base_filename("biergarten_seed_" + run_timestamp_utc_ + + ".sqlite"); + std::filesystem::path candidate = output_path_ / base_filename; - for (int suffix = 1; std::filesystem::exists(candidate); ++suffix) { - candidate = output_path_ / std::filesystem::path( - std::format("biergarten_seed_{}-{}.sqlite", - run_timestamp_utc_, suffix)); - } + for (int suffix = 1; std::filesystem::exists(candidate); ++suffix) { + candidate = output_path_ / std::filesystem::path( + std::format("biergarten_seed_{}-{}.sqlite", + run_timestamp_utc_, suffix)); + } - return candidate; + return candidate; } void SqliteExportService::InitializeSchema() const { - sqlite_export_service_internal::ExecSql( - db_handle_, sqlite_export_service_internal::kCreateCitiesTableSql, - "Failed to create SQLite cities table"); - sqlite_export_service_internal::ExecSql( - db_handle_, sqlite_export_service_internal::kCreateBreweriesTableSql, - "Failed to create SQLite breweries table"); - sqlite_export_service_internal::ExecSql( - db_handle_, - sqlite_export_service_internal::kCreateBreweryAddressesTableSql, - "Failed to create SQLite brewery_addresses table"); - sqlite_export_service_internal::ExecSql( - db_handle_, sqlite_export_service_internal::kCreateUsersTableSql, - "Failed to create SQLite users table"); - sqlite_export_service_internal::ExecSql( - db_handle_, sqlite_export_service_internal::kCreateUserAddressesTableSql, - "Failed to create SQLite user_addresses table"); + sqlite_export_service_internal::ExecSql( + db_handle_, sqlite_export_service_internal::kCreateCitiesTableSql, + "Failed to create SQLite cities table"); + sqlite_export_service_internal::ExecSql( + db_handle_, sqlite_export_service_internal::kCreateBreweriesTableSql, + "Failed to create SQLite breweries table"); + sqlite_export_service_internal::ExecSql( + db_handle_, + sqlite_export_service_internal::kCreateBreweryAddressesTableSql, + "Failed to create SQLite brewery_addresses table"); + sqlite_export_service_internal::ExecSql( + db_handle_, sqlite_export_service_internal::kCreateUsersTableSql, + "Failed to create SQLite users table"); + sqlite_export_service_internal::ExecSql( + db_handle_, sqlite_export_service_internal::kCreateUserAddressesTableSql, + "Failed to create SQLite user_addresses table"); } void SqliteExportService::PrepareStatements() { - insert_city_stmt_ = sqlite_export_service_internal::PrepareStatement( - db_handle_, sqlite_export_service_internal::kInsertCitySql, - "Failed to prepare SQLite city insert statement"); - insert_brewery_stmt_ = sqlite_export_service_internal::PrepareStatement( - db_handle_, sqlite_export_service_internal::kInsertBrewerySql, - "Failed to prepare SQLite brewery insert statement"); - insert_brewery_address_stmt_ = - sqlite_export_service_internal::PrepareStatement( - db_handle_, sqlite_export_service_internal::kInsertBreweryAddressSql, - "Failed to prepare SQLite brewery address insert statement"); - insert_user_stmt_ = sqlite_export_service_internal::PrepareStatement( - db_handle_, sqlite_export_service_internal::kInsertUserSql, - "Failed to prepare SQLite user insert statement"); - insert_user_address_stmt_ = sqlite_export_service_internal::PrepareStatement( - db_handle_, sqlite_export_service_internal::kInsertUserAddressSql, - "Failed to prepare SQLite user address insert statement"); + insert_city_stmt_ = sqlite_export_service_internal::PrepareStatement( + db_handle_, sqlite_export_service_internal::kInsertCitySql, + "Failed to prepare SQLite city insert statement"); + insert_brewery_stmt_ = sqlite_export_service_internal::PrepareStatement( + db_handle_, sqlite_export_service_internal::kInsertBrewerySql, + "Failed to prepare SQLite brewery insert statement"); + insert_brewery_address_stmt_ = + sqlite_export_service_internal::PrepareStatement( + db_handle_, sqlite_export_service_internal::kInsertBreweryAddressSql, + "Failed to prepare SQLite brewery address insert statement"); + insert_user_stmt_ = sqlite_export_service_internal::PrepareStatement( + db_handle_, sqlite_export_service_internal::kInsertUserSql, + "Failed to prepare SQLite user insert statement"); + insert_user_address_stmt_ = sqlite_export_service_internal::PrepareStatement( + db_handle_, sqlite_export_service_internal::kInsertUserAddressSql, + "Failed to prepare SQLite user address insert statement"); } void SqliteExportService::RollbackAndCloseNoThrow() noexcept { - if (db_handle_ == nullptr) { - return; - } + if (db_handle_ == nullptr) { + return; + } - if (transaction_open_) { - sqlite_export_service_internal::RollbackTransactionNoThrow(db_handle_); - transaction_open_ = false; - } + if (transaction_open_) { + sqlite_export_service_internal::RollbackTransactionNoThrow(db_handle_); + transaction_open_ = false; + } - insert_user_address_stmt_.reset(); - insert_user_stmt_.reset(); - insert_brewery_address_stmt_.reset(); - insert_brewery_stmt_.reset(); - insert_city_stmt_.reset(); - db_handle_.reset(); - city_cache_.clear(); + insert_user_address_stmt_.reset(); + insert_user_stmt_.reset(); + insert_brewery_address_stmt_.reset(); + insert_brewery_stmt_.reset(); + insert_city_stmt_.reset(); + db_handle_.reset(); + city_cache_.clear(); } void SqliteExportService::Initialize() { - if (db_handle_ != nullptr) { - throw std::runtime_error("SQLite export service is already initialized"); - } + if (db_handle_ != nullptr) { + throw std::runtime_error("SQLite export service is already initialized"); + } - run_timestamp_utc_ = date_time_provider_->GetUtcTimestamp(); - database_path_ = BuildDatabasePath(); - std::filesystem::create_directories(database_path_.parent_path()); + run_timestamp_utc_ = date_time_provider_->GetUtcTimestamp(); + database_path_ = BuildDatabasePath(); + std::filesystem::create_directories(database_path_.parent_path()); - db_handle_ = sqlite_export_service_internal::OpenDatabase(database_path_); + db_handle_ = sqlite_export_service_internal::OpenDatabase(database_path_); - try { - sqlite_export_service_internal::ExecSql( - db_handle_, "PRAGMA foreign_keys = ON;", - "Failed to enable SQLite foreign keys"); - InitializeSchema(); - PrepareStatements(); - sqlite_export_service_internal::ExecSql( - db_handle_, "BEGIN IMMEDIATE TRANSACTION;", - "Failed to begin SQLite transaction"); - transaction_open_ = true; - } catch (...) { - RollbackAndCloseNoThrow(); - throw; - } + try { + sqlite_export_service_internal::ExecSql( + db_handle_, "PRAGMA foreign_keys = ON;", + "Failed to enable SQLite foreign keys"); + InitializeSchema(); + PrepareStatements(); + sqlite_export_service_internal::ExecSql( + db_handle_, "BEGIN IMMEDIATE TRANSACTION;", + "Failed to begin SQLite transaction"); + transaction_open_ = true; + } catch (...) { + RollbackAndCloseNoThrow(); + throw; + } } diff --git a/tooling/pipeline/src/services/sqlite/process_record.cc b/tooling/pipeline/src/services/sqlite/process_record.cc index a4cf9f1a..1c860aee 100644 --- a/tooling/pipeline/src/services/sqlite/process_record.cc +++ b/tooling/pipeline/src/services/sqlite/process_record.cc @@ -12,164 +12,165 @@ #include "services/database/sqlite_export_service_helpers.h" std::string SqliteExportService::BuildCityKey(const City& city) { - std::ostringstream key_stream; - key_stream << city.city << '\n' - << city.state_province << '\n' - << city.iso3166_2 << '\n' - << city.country << '\n' - << city.iso3166_1 << '\n' - << sqlite_export_service_internal::SerializeVector( - city.local_languages); - return key_stream.str(); + std::ostringstream key_stream; + key_stream << city.city << '\n' + << city.state_province << '\n' + << city.iso3166_2 << '\n' + << city.country << '\n' + << city.iso3166_1 << '\n' + << sqlite_export_service_internal::SerializeVector( + city.local_languages); + return key_stream.str(); } sqlite3_int64 SqliteExportService::ResolveCityId(const City& city) { - const std::string city_key = BuildCityKey(city); - const auto cached_city = city_cache_.find(city_key); - if (cached_city != city_cache_.end()) { - return cached_city->second; - } + const std::string city_key = BuildCityKey(city); + const auto cached_city = city_cache_.find(city_key); + if (cached_city != city_cache_.end()) { + return cached_city->second; + } - const std::string local_languages_json = - sqlite_export_service_internal::SerializeVector(city.local_languages); - const std::string city_regex_json = - sqlite_export_service_internal::SerializeVector( - city.postal_code.city_regexes); + const std::string local_languages_json = + sqlite_export_service_internal::SerializeVector(city.local_languages); + const std::string city_regex_json = + sqlite_export_service_internal::SerializeVector( + city.postal_code.city_regexes); - sqlite_export_service_internal::Bind( - insert_city_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kCityCityBindIndex, - .value = city.city, - .action = "Failed to bind SQLite city name"}); - sqlite_export_service_internal::Bind( - insert_city_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kCityStateProvinceBindIndex, - .value = city.state_province, - .action = "Failed to bind SQLite city state/province"}); - sqlite_export_service_internal::Bind( - insert_city_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kCityIso31662BindIndex, - .value = city.iso3166_2, - .action = "Failed to bind SQLite city ISO 3166-2 code"}); - sqlite_export_service_internal::Bind( - insert_city_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kCityCountryBindIndex, - .value = city.country, - .action = "Failed to bind SQLite city country"}); - sqlite_export_service_internal::Bind( - insert_city_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kCityIso31661BindIndex, - .value = city.iso3166_1, - .action = "Failed to bind SQLite city ISO 3166-1 code"}); - sqlite_export_service_internal::Bind( - insert_city_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kCityLanguagesBindIndex, - .value = local_languages_json, - .action = "Failed to bind SQLite city languages"}); - sqlite_export_service_internal::Bind( - insert_city_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal:: - kCityPostalCodeCountryFormatRegexBindIndex, - .value = city.postal_code.country_format_regex, - .action = "Failed to bind SQLite city postal-code format regex"}); - sqlite_export_service_internal::Bind( - insert_city_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal:: - kCityPostalCodeCityRegexJsonBindIndex, - .value = city_regex_json, - .action = "Failed to bind SQLite city postal-code city regexes"}); + sqlite_export_service_internal::Bind( + insert_city_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kCityCityBindIndex, + .value = city.city, + .action = "Failed to bind SQLite city name"}); + sqlite_export_service_internal::Bind( + insert_city_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kCityStateProvinceBindIndex, + .value = city.state_province, + .action = "Failed to bind SQLite city state/province"}); + sqlite_export_service_internal::Bind( + insert_city_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kCityIso31662BindIndex, + .value = city.iso3166_2, + .action = "Failed to bind SQLite city ISO 3166-2 code"}); + sqlite_export_service_internal::Bind( + insert_city_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kCityCountryBindIndex, + .value = city.country, + .action = "Failed to bind SQLite city country"}); + sqlite_export_service_internal::Bind( + insert_city_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kCityIso31661BindIndex, + .value = city.iso3166_1, + .action = "Failed to bind SQLite city ISO 3166-1 code"}); + sqlite_export_service_internal::Bind( + insert_city_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kCityLanguagesBindIndex, + .value = local_languages_json, + .action = "Failed to bind SQLite city languages"}); + sqlite_export_service_internal::Bind( + insert_city_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal:: + kCityPostalCodeCountryFormatRegexBindIndex, + .value = city.postal_code.country_format_regex, + .action = "Failed to bind SQLite city postal-code format regex"}); + sqlite_export_service_internal::Bind( + insert_city_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal:: + kCityPostalCodeCityRegexJsonBindIndex, + .value = city_regex_json, + .action = "Failed to bind SQLite city postal-code city regexes"}); - sqlite_export_service_internal::StepStatement( - db_handle_, insert_city_stmt_, "Failed to insert SQLite city row"); + sqlite_export_service_internal::StepStatement( + db_handle_, insert_city_stmt_, "Failed to insert SQLite city row"); - const sqlite3_int64 city_id = - sqlite_export_service_internal::LastInsertRowId(db_handle_); - city_cache_.emplace(city_key, city_id); - sqlite_export_service_internal::ResetStatement(insert_city_stmt_); + const sqlite3_int64 city_id = + sqlite_export_service_internal::LastInsertRowId(db_handle_); + city_cache_.emplace(city_key, city_id); + sqlite_export_service_internal::ResetStatement(insert_city_stmt_); - return city_id; + return city_id; } uint64_t SqliteExportService::ProcessRecord(const BreweryRecord& brewery) { - if (db_handle_ == nullptr || !transaction_open_) { - throw std::runtime_error("SQLite export service is not initialized"); - } + if (db_handle_ == nullptr || !transaction_open_) { + throw std::runtime_error("SQLite export service is not initialized"); + } - const sqlite3_int64 city_id = ResolveCityId(brewery.address.city); + const sqlite3_int64 city_id = ResolveCityId(brewery.address.city); - sqlite_export_service_internal::Bind( - insert_brewery_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kBreweryEnglishNameBindIndex, - .value = brewery.brewery.name_en, - .action = "Failed to bind SQLite brewery English name"}); + sqlite_export_service_internal::Bind( + insert_brewery_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = + sqlite_export_service_internal::kBreweryEnglishNameBindIndex, + .value = brewery.brewery.name_en, + .action = "Failed to bind SQLite brewery English name"}); - sqlite_export_service_internal::Bind( - insert_brewery_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal:: - kBreweryEnglishDescriptionBindIndex, - .value = brewery.brewery.description_en, - .action = "Failed to bind SQLite brewery English description"}); + sqlite_export_service_internal::Bind( + insert_brewery_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal:: + kBreweryEnglishDescriptionBindIndex, + .value = brewery.brewery.description_en, + .action = "Failed to bind SQLite brewery English description"}); - sqlite_export_service_internal::Bind( - insert_brewery_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kBreweryLocalNameBindIndex, - .value = brewery.brewery.name_local, - .action = "Failed to bind SQLite brewery local name"}); + sqlite_export_service_internal::Bind( + insert_brewery_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kBreweryLocalNameBindIndex, + .value = brewery.brewery.name_local, + .action = "Failed to bind SQLite brewery local name"}); - sqlite_export_service_internal::Bind( - insert_brewery_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = - sqlite_export_service_internal::kBreweryLocalDescriptionBindIndex, - .value = brewery.brewery.description_local, - .action = "Failed to bind SQLite brewery local description"}); + sqlite_export_service_internal::Bind( + insert_brewery_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal:: + kBreweryLocalDescriptionBindIndex, + .value = brewery.brewery.description_local, + .action = "Failed to bind SQLite brewery local description"}); - sqlite_export_service_internal::StepStatement( - db_handle_, insert_brewery_stmt_, "Failed to insert SQLite brewery row"); + sqlite_export_service_internal::StepStatement( + db_handle_, insert_brewery_stmt_, "Failed to insert SQLite brewery row"); - const sqlite3_int64 brewery_id = - sqlite_export_service_internal::LastInsertRowId(db_handle_); + const sqlite3_int64 brewery_id = + sqlite_export_service_internal::LastInsertRowId(db_handle_); - sqlite_export_service_internal::ResetStatement(insert_brewery_stmt_); + sqlite_export_service_internal::ResetStatement(insert_brewery_stmt_); - sqlite_export_service_internal::Bind( - insert_brewery_address_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = - sqlite_export_service_internal::kBreweryAddressBreweryIdBindIndex, - .value = brewery_id, - .action = "Failed to bind SQLite brewery address brewery id"}); - sqlite_export_service_internal::Bind( - insert_brewery_address_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = - sqlite_export_service_internal::kBreweryAddressCityIdBindIndex, - .value = city_id, - .action = "Failed to bind SQLite brewery address city id"}); - sqlite_export_service_internal::Bind( - insert_brewery_address_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal:: - kBreweryAddressPostalCodeBindIndex, - .value = brewery.address.postal_code, - .action = "Failed to bind SQLite brewery address postal code"}); + sqlite_export_service_internal::Bind( + insert_brewery_address_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal:: + kBreweryAddressBreweryIdBindIndex, + .value = brewery_id, + .action = "Failed to bind SQLite brewery address brewery id"}); + sqlite_export_service_internal::Bind( + insert_brewery_address_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = + sqlite_export_service_internal::kBreweryAddressCityIdBindIndex, + .value = city_id, + .action = "Failed to bind SQLite brewery address city id"}); + sqlite_export_service_internal::Bind( + insert_brewery_address_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal:: + kBreweryAddressPostalCodeBindIndex, + .value = brewery.address.postal_code, + .action = "Failed to bind SQLite brewery address postal code"}); - sqlite_export_service_internal::StepStatement( - db_handle_, insert_brewery_address_stmt_, - "Failed to insert SQLite brewery address row"); + sqlite_export_service_internal::StepStatement( + db_handle_, insert_brewery_address_stmt_, + "Failed to insert SQLite brewery address row"); - sqlite_export_service_internal::ResetStatement(insert_brewery_address_stmt_); + sqlite_export_service_internal::ResetStatement(insert_brewery_address_stmt_); - return static_cast(brewery_id); + return static_cast(brewery_id); } diff --git a/tooling/pipeline/src/services/sqlite/process_user_record.cc b/tooling/pipeline/src/services/sqlite/process_user_record.cc index 3b3f369d..322fc382 100644 --- a/tooling/pipeline/src/services/sqlite/process_user_record.cc +++ b/tooling/pipeline/src/services/sqlite/process_user_record.cc @@ -9,94 +9,95 @@ #include "services/database/sqlite_export_service_helpers.h" uint64_t SqliteExportService::ProcessRecord(const UserRecord& user) { - if (db_handle_ == nullptr || !transaction_open_) { - throw std::runtime_error("SQLite export service is not initialized"); - } + if (db_handle_ == nullptr || !transaction_open_) { + throw std::runtime_error("SQLite export service is not initialized"); + } - const sqlite3_int64 city_id = ResolveCityId(user.address.city); + const sqlite3_int64 city_id = ResolveCityId(user.address.city); - sqlite_export_service_internal::Bind( - insert_user_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kUserFirstNameBindIndex, - .value = user.user.first_name, - .action = "Failed to bind SQLite user first name"}); - sqlite_export_service_internal::Bind( - insert_user_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kUserLastNameBindIndex, - .value = user.user.last_name, - .action = "Failed to bind SQLite user last name"}); - sqlite_export_service_internal::Bind( - insert_user_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kUserGenderBindIndex, - .value = user.user.gender, - .action = "Failed to bind SQLite user gender"}); - sqlite_export_service_internal::Bind( - insert_user_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kUserUsernameBindIndex, - .value = user.user.username, - .action = "Failed to bind SQLite user username"}); - sqlite_export_service_internal::Bind( - insert_user_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kUserBioBindIndex, - .value = user.user.bio, - .action = "Failed to bind SQLite user bio"}); - sqlite_export_service_internal::Bind( - insert_user_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kUserActivityWeightBindIndex, - .value = static_cast(user.user.activity_weight), - .action = "Failed to bind SQLite user activity weight"}); - sqlite_export_service_internal::Bind( - insert_user_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kUserEmailBindIndex, - .value = user.email, - .action = "Failed to bind SQLite user email"}); - sqlite_export_service_internal::Bind( - insert_user_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kUserDateOfBirthBindIndex, - .value = user.date_of_birth, - .action = "Failed to bind SQLite user date of birth"}); + sqlite_export_service_internal::Bind( + insert_user_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kUserFirstNameBindIndex, + .value = user.user.first_name, + .action = "Failed to bind SQLite user first name"}); + sqlite_export_service_internal::Bind( + insert_user_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kUserLastNameBindIndex, + .value = user.user.last_name, + .action = "Failed to bind SQLite user last name"}); + sqlite_export_service_internal::Bind( + insert_user_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kUserGenderBindIndex, + .value = user.user.gender, + .action = "Failed to bind SQLite user gender"}); + sqlite_export_service_internal::Bind( + insert_user_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kUserUsernameBindIndex, + .value = user.user.username, + .action = "Failed to bind SQLite user username"}); + sqlite_export_service_internal::Bind( + insert_user_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kUserBioBindIndex, + .value = user.user.bio, + .action = "Failed to bind SQLite user bio"}); + sqlite_export_service_internal::Bind( + insert_user_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = + sqlite_export_service_internal::kUserActivityWeightBindIndex, + .value = static_cast(user.user.activity_weight), + .action = "Failed to bind SQLite user activity weight"}); + sqlite_export_service_internal::Bind( + insert_user_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kUserEmailBindIndex, + .value = user.email, + .action = "Failed to bind SQLite user email"}); + sqlite_export_service_internal::Bind( + insert_user_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kUserDateOfBirthBindIndex, + .value = user.date_of_birth, + .action = "Failed to bind SQLite user date of birth"}); - sqlite_export_service_internal::StepStatement( - db_handle_, insert_user_stmt_, "Failed to insert SQLite user row"); + sqlite_export_service_internal::StepStatement( + db_handle_, insert_user_stmt_, "Failed to insert SQLite user row"); - const sqlite3_int64 user_id = - sqlite_export_service_internal::LastInsertRowId(db_handle_); + const sqlite3_int64 user_id = + sqlite_export_service_internal::LastInsertRowId(db_handle_); - sqlite_export_service_internal::ResetStatement(insert_user_stmt_); + sqlite_export_service_internal::ResetStatement(insert_user_stmt_); - sqlite_export_service_internal::Bind( - insert_user_address_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kUserAddressUserIdBindIndex, - .value = user_id, - .action = "Failed to bind SQLite user address user id"}); - sqlite_export_service_internal::Bind( - insert_user_address_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = sqlite_export_service_internal::kUserAddressCityIdBindIndex, - .value = city_id, - .action = "Failed to bind SQLite user address city id"}); - sqlite_export_service_internal::Bind( - insert_user_address_stmt_, - sqlite_export_service_internal::BoundParam{ - .index = - sqlite_export_service_internal::kUserAddressPostalCodeBindIndex, - .value = user.address.postal_code, - .action = "Failed to bind SQLite user address postal code"}); + sqlite_export_service_internal::Bind( + insert_user_address_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kUserAddressUserIdBindIndex, + .value = user_id, + .action = "Failed to bind SQLite user address user id"}); + sqlite_export_service_internal::Bind( + insert_user_address_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = sqlite_export_service_internal::kUserAddressCityIdBindIndex, + .value = city_id, + .action = "Failed to bind SQLite user address city id"}); + sqlite_export_service_internal::Bind( + insert_user_address_stmt_, + sqlite_export_service_internal::BoundParam{ + .index = + sqlite_export_service_internal::kUserAddressPostalCodeBindIndex, + .value = user.address.postal_code, + .action = "Failed to bind SQLite user address postal code"}); - sqlite_export_service_internal::StepStatement( - db_handle_, insert_user_address_stmt_, - "Failed to insert SQLite user address row"); + sqlite_export_service_internal::StepStatement( + db_handle_, insert_user_address_stmt_, + "Failed to insert SQLite user address row"); - sqlite_export_service_internal::ResetStatement(insert_user_address_stmt_); + sqlite_export_service_internal::ResetStatement(insert_user_address_stmt_); - return static_cast(user_id); + return static_cast(user_id); } diff --git a/tooling/pipeline/src/services/sqlite/sqlite_export_service.cc b/tooling/pipeline/src/services/sqlite/sqlite_export_service.cc index 73d11eb4..3d902aa8 100644 --- a/tooling/pipeline/src/services/sqlite/sqlite_export_service.cc +++ b/tooling/pipeline/src/services/sqlite/sqlite_export_service.cc @@ -12,7 +12,7 @@ SqliteExportService::SqliteExportService(const ApplicationOptions& options) output_path_(options.pipeline.output_path) {} SqliteExportService::~SqliteExportService() { - if (db_handle_ != nullptr) { - RollbackAndCloseNoThrow(); - } + if (db_handle_ != nullptr) { + RollbackAndCloseNoThrow(); + } } diff --git a/tooling/pipeline/src/services/xeger/xeger.cc b/tooling/pipeline/src/services/xeger/xeger.cc index b04ebefb..34322d03 100644 --- a/tooling/pipeline/src/services/xeger/xeger.cc +++ b/tooling/pipeline/src/services/xeger/xeger.cc @@ -16,8 +16,8 @@ std::string GenerateStringFromRegex(std::string_view pattern, std::mt19937& rng, const int unbounded_repeat_cap) { - xeger_internal::Parser parser(pattern); - const xeger_internal::NodePtr ast = parser.Parse(); - xeger_internal::XegerGenerator generator(rng, unbounded_repeat_cap); - return generator.Run(*ast); + xeger_internal::Parser parser(pattern); + const xeger_internal::NodePtr ast = parser.Parse(); + xeger_internal::XegerGenerator generator(rng, unbounded_repeat_cap); + return generator.Run(*ast); } diff --git a/tooling/pipeline/src/services/xeger/xeger_generator.cc b/tooling/pipeline/src/services/xeger/xeger_generator.cc index 2fdfb578..e812d898 100644 --- a/tooling/pipeline/src/services/xeger/xeger_generator.cc +++ b/tooling/pipeline/src/services/xeger/xeger_generator.cc @@ -3,108 +3,108 @@ * @brief Visitor that walks a regex AST and emits a random matching string. */ -#include "services/xeger/xeger_internal.h" - #include #include #include #include #include +#include "services/xeger/xeger_internal.h" + namespace xeger_internal { XegerGenerator::XegerGenerator(std::mt19937& rng, const int unbounded_cap) : rng_(rng), unbounded_cap_(unbounded_cap) {} std::string XegerGenerator::Run(const Node& root) { - out_.clear(); - root.Accept(*this); - return out_; + out_.clear(); + root.Accept(*this); + return out_; } void XegerGenerator::Visit(const Literal& node) { out_ += node.ch; } void XegerGenerator::Visit(const AnyChar&) { - static constexpr int kPrintableLow = ' '; // empty space - character 32 - static constexpr int kPrintableHigh = '~'; // tilde - character 126 + static constexpr int kPrintableLow = ' '; // empty space - character 32 + static constexpr int kPrintableHigh = '~'; // tilde - character 126 - std::uniform_int_distribution dist(kPrintableLow, kPrintableHigh); + std::uniform_int_distribution dist(kPrintableLow, kPrintableHigh); - // assert that the rand number is in the char range - bool inCharRange = dist.min() >= std::numeric_limits::min() && - dist.max() <= std::numeric_limits::max(); - assert(inCharRange && "Random number is out of char range"); + // assert that the rand number is in the char range + bool inCharRange = dist.min() >= std::numeric_limits::min() && + dist.max() <= std::numeric_limits::max(); + assert(inCharRange && "Random number is out of char range"); - out_ += static_cast(dist(rng_)); + out_ += static_cast(dist(rng_)); } void XegerGenerator::Visit(const CharClass& node) { - out_ += PickFromClass(node); + out_ += PickFromClass(node); } void XegerGenerator::Visit(const Concat& node) { - for (const NodePtr& part : node.parts) { - part->Accept(*this); - } + for (const NodePtr& part : node.parts) { + part->Accept(*this); + } } void XegerGenerator::Visit(const Alternation& node) { - std::uniform_int_distribution dist(0, node.options.size() - 1); - node.options[dist(rng_)]->Accept(*this); + std::uniform_int_distribution dist(0, node.options.size() - 1); + node.options[dist(rng_)]->Accept(*this); } void XegerGenerator::Visit(const Repeat& node) { - const int lo = node.min; - const int hi = (node.max < 0) ? node.min + unbounded_cap_ : node.max; - std::uniform_int_distribution dist(lo, hi); - const int count = dist(rng_); - for (int i = 0; i < count; ++i) { - node.child->Accept(*this); - } + const int lo = node.min; + const int hi = (node.max < 0) ? node.min + unbounded_cap_ : node.max; + std::uniform_int_distribution dist(lo, hi); + const int count = dist(rng_); + for (int i = 0; i < count; ++i) { + node.child->Accept(*this); + } } bool XegerGenerator::InRanges(const CharClass& node, const char c) { - for (const auto& [lo, hi] : node.ranges) { - if (c >= lo && c <= hi) { - return true; - } - } - return false; + for (const auto& [lo, hi] : node.ranges) { + if (c >= lo && c <= hi) { + return true; + } + } + return false; } char XegerGenerator::PickFromClass(const CharClass& node) { - if (!node.negated) { - int total = 0; - for (const auto& [lo, hi] : node.ranges) { - total += hi - lo + 1; - } - std::uniform_int_distribution dist(0, total - 1); - int k = dist(rng_); - for (const auto& [lo, hi] : node.ranges) { - const int width = hi - lo + 1; - if (k < width) { - return static_cast(lo + k); + if (!node.negated) { + int total = 0; + for (const auto& [lo, hi] : node.ranges) { + total += hi - lo + 1; } - k -= width; - } - return node.ranges.back().second; // unreachable - } + std::uniform_int_distribution dist(0, total - 1); + int k = dist(rng_); + for (const auto& [lo, hi] : node.ranges) { + const int width = hi - lo + 1; + if (k < width) { + return static_cast(lo + k); + } + k -= width; + } + return node.ranges.back().second; // unreachable + } - // Negated class: draw random printable characters until one falls - // outside the forbidden set. - static constexpr int kPrintableLow = 32; - static constexpr int kPrintableHigh = 126; - static constexpr int kMaxAttempts = 1000; - std::uniform_int_distribution dist(kPrintableLow, kPrintableHigh); - for (int attempt = 0; attempt < kMaxAttempts; ++attempt) { - const char c = static_cast(dist(rng_)); - if (!InRanges(node, c)) { - return c; - } - } - throw std::runtime_error( - "GenerateStringFromRegex: negated class rules out every printable " - "character"); + // Negated class: draw random printable characters until one falls + // outside the forbidden set. + static constexpr int kPrintableLow = 32; + static constexpr int kPrintableHigh = 126; + static constexpr int kMaxAttempts = 1000; + std::uniform_int_distribution dist(kPrintableLow, kPrintableHigh); + for (int attempt = 0; attempt < kMaxAttempts; ++attempt) { + const char c = static_cast(dist(rng_)); + if (!InRanges(node, c)) { + return c; + } + } + throw std::runtime_error( + "GenerateStringFromRegex: negated class rules out every printable " + "character"); } } // namespace xeger_internal diff --git a/tooling/pipeline/src/services/xeger/xeger_parser.cc b/tooling/pipeline/src/services/xeger/xeger_parser.cc index 180b6f04..c77e626f 100644 --- a/tooling/pipeline/src/services/xeger/xeger_parser.cc +++ b/tooling/pipeline/src/services/xeger/xeger_parser.cc @@ -3,8 +3,6 @@ * @brief Recursive-descent parser that turns a regex pattern into an AST. */ -#include "services/xeger/xeger_internal.h" - #include #include #include @@ -14,31 +12,33 @@ #include #include +#include "services/xeger/xeger_internal.h" + namespace xeger_internal { Parser::Parser(std::string_view pattern) : src_(StripAnchors(pattern)) {} NodePtr Parser::Parse() { - NodePtr node = ParseAlternation(); - if (!AtEnd()) { - throw std::runtime_error( - std::format("GenerateStringFromRegex: unexpected '{}' at position {}", - Peek(), pos_)); - } - return node; + NodePtr node = ParseAlternation(); + if (!AtEnd()) { + throw std::runtime_error( + std::format("GenerateStringFromRegex: unexpected '{}' at position {}", + Peek(), pos_)); + } + return node; } std::string Parser::StripAnchors(std::string_view pattern) { - if (!pattern.empty() && pattern.front() == kAnchorStart) { - pattern.remove_prefix(1); - } - const bool has_trailing_dollar = - !pattern.empty() && pattern.back() == kAnchorEnd && - (pattern.size() < 2 || pattern[pattern.size() - 2] != kEscape); - if (has_trailing_dollar) { - pattern.remove_suffix(1); - } - return std::string(pattern); + if (!pattern.empty() && pattern.front() == kAnchorStart) { + pattern.remove_prefix(1); + } + const bool has_trailing_dollar = + !pattern.empty() && pattern.back() == kAnchorEnd && + (pattern.size() < 2 || pattern[pattern.size() - 2] != kEscape); + if (has_trailing_dollar) { + pattern.remove_suffix(1); + } + return std::string(pattern); } bool Parser::AtEnd() const { return pos_ >= src_.size(); } @@ -46,262 +46,263 @@ char Parser::Peek() const { return src_[pos_]; } char Parser::Advance() { return src_[pos_++]; } bool Parser::Match(const char c) { - if (!AtEnd() && Peek() == c) { - ++pos_; - return true; - } - return false; + if (!AtEnd() && Peek() == c) { + ++pos_; + return true; + } + return false; } void Parser::Expect(const char c) { - if (!Match(c)) { - throw std::runtime_error(std::format( - "GenerateStringFromRegex: expected '{}' at position {}", c, pos_)); - } + if (!Match(c)) { + throw std::runtime_error(std::format( + "GenerateStringFromRegex: expected '{}' at position {}", c, pos_)); + } } NodePtr Parser::ParseAlternation() { - std::vector options; - options.push_back(ParseConcat()); - while (Match(kAlternation)) { - options.push_back(ParseConcat()); - } - if (options.size() == 1) { - return std::move(options.front()); - } - auto alternation = std::make_unique(); - alternation->options = std::move(options); - return alternation; + std::vector options; + options.push_back(ParseConcat()); + while (Match(kAlternation)) { + options.push_back(ParseConcat()); + } + if (options.size() == 1) { + return std::move(options.front()); + } + auto alternation = std::make_unique(); + alternation->options = std::move(options); + return alternation; } NodePtr Parser::ParseConcat() { - auto concat = std::make_unique(); - while (!AtEnd() && Peek() != kAlternation && Peek() != kGroupClose) { - concat->parts.push_back(ParseRepeat()); - } - if (concat->parts.size() == 1) { - return std::move(concat->parts.front()); - } - return concat; + auto concat = std::make_unique(); + while (!AtEnd() && Peek() != kAlternation && Peek() != kGroupClose) { + concat->parts.push_back(ParseRepeat()); + } + if (concat->parts.size() == 1) { + return std::move(concat->parts.front()); + } + return concat; } NodePtr Parser::ParseRepeat() { - NodePtr atom = ParseAtom(); - if (AtEnd()) { - return atom; - } - - int lo = 0; - int hi = -1; - switch (Peek()) { - case kStar: - Advance(); - lo = 0; - hi = -1; - break; - case kPlus: - Advance(); - lo = 1; - hi = -1; - break; - case kOptional: - Advance(); - lo = 0; - hi = 1; - break; - case kBraceOpen: - return ParseBrace(std::move(atom)); - default: + NodePtr atom = ParseAtom(); + if (AtEnd()) { return atom; - } - auto repeat = std::make_unique(); - repeat->child = std::move(atom); - repeat->min = lo; - repeat->max = hi; - return repeat; + } + + int lo = 0; + int hi = -1; + switch (Peek()) { + case kStar: + Advance(); + lo = 0; + hi = -1; + break; + case kPlus: + Advance(); + lo = 1; + hi = -1; + break; + case kOptional: + Advance(); + lo = 0; + hi = 1; + break; + case kBraceOpen: + return ParseBrace(std::move(atom)); + default: + return atom; + } + auto repeat = std::make_unique(); + repeat->child = std::move(atom); + repeat->min = lo; + repeat->max = hi; + return repeat; } NodePtr Parser::ParseBrace(NodePtr atom) { - Expect(kBraceOpen); - std::string lower_digits; - std::string upper_digits; - bool has_comma = false; - while (!AtEnd() && std::isdigit(static_cast(Peek())) != 0) { - lower_digits += Advance(); - } - if (Match(kBraceComma)) { - has_comma = true; - while (!AtEnd() && - std::isdigit(static_cast(Peek())) != 0) { - upper_digits += Advance(); - } - } - Expect(kBraceClose); + Expect(kBraceOpen); + std::string lower_digits; + std::string upper_digits; + bool has_comma = false; + while (!AtEnd() && std::isdigit(static_cast(Peek())) != 0) { + lower_digits += Advance(); + } + if (Match(kBraceComma)) { + has_comma = true; + while (!AtEnd() && + std::isdigit(static_cast(Peek())) != 0) { + upper_digits += Advance(); + } + } + Expect(kBraceClose); - auto repeat = std::make_unique(); - repeat->child = std::move(atom); - repeat->min = lower_digits.empty() ? 0 : std::stoi(lower_digits); - if (!has_comma) { - repeat->max = repeat->min; - } else if (upper_digits.empty()) { - repeat->max = -1; - } else { - repeat->max = std::stoi(upper_digits); - } - if (repeat->max != -1 && repeat->max < repeat->min) { - throw std::runtime_error( - "GenerateStringFromRegex: repetition max is smaller than min"); - } - return repeat; + auto repeat = std::make_unique(); + repeat->child = std::move(atom); + repeat->min = lower_digits.empty() ? 0 : std::stoi(lower_digits); + if (!has_comma) { + repeat->max = repeat->min; + } else if (upper_digits.empty()) { + repeat->max = -1; + } else { + repeat->max = std::stoi(upper_digits); + } + if (repeat->max != -1 && repeat->max < repeat->min) { + throw std::runtime_error( + "GenerateStringFromRegex: repetition max is smaller than min"); + } + return repeat; } NodePtr Parser::ParseAtom() { - if (AtEnd()) { - throw std::runtime_error( - "GenerateStringFromRegex: pattern ended unexpectedly"); - } - const char c = Peek(); - switch (c) { - case kGroupOpen: { - Advance(); - // Non-capturing group "(?:...)" -- capture semantics don't apply - // here (nothing back-references a group), so it's treated exactly - // like a plain group once the "?:" marker is consumed. - if (!AtEnd() && Peek() == kNonCapturingMarker) { - if (pos_ + 1 < src_.size() && src_[pos_ + 1] == kNonCapturingColon) { - pos_ += 2; - } else { - throw std::runtime_error(std::format( - "GenerateStringFromRegex: unsupported group syntax at " - "position {} (only plain '(...)' and non-capturing " - "'(?:...)' groups are supported)", - pos_)); - } + if (AtEnd()) { + throw std::runtime_error( + "GenerateStringFromRegex: pattern ended unexpectedly"); + } + const char c = Peek(); + switch (c) { + case kGroupOpen: { + Advance(); + // Non-capturing group "(?:...)" -- capture semantics don't apply + // here (nothing back-references a group), so it's treated exactly + // like a plain group once the "?:" marker is consumed. + if (!AtEnd() && Peek() == kNonCapturingMarker) { + if (pos_ + 1 < src_.size() && + src_[pos_ + 1] == kNonCapturingColon) { + pos_ += 2; + } else { + throw std::runtime_error(std::format( + "GenerateStringFromRegex: unsupported group syntax at " + "position {} (only plain '(...)' and non-capturing " + "'(?:...)' groups are supported)", + pos_)); + } + } + NodePtr inner = ParseAlternation(); + Expect(kGroupClose); + return inner; } - NodePtr inner = ParseAlternation(); - Expect(kGroupClose); - return inner; - } - case kClassOpen: - return ParseCharClass(); - case kAnyChar: - Advance(); - return std::make_unique(); - case kEscape: - Advance(); - return ParseEscape(); - case kStar: - case kPlus: - case kOptional: - case kBraceOpen: - throw std::runtime_error(std::format( - "GenerateStringFromRegex: quantifier with no preceding item at " - "position {}", - pos_)); - default: - Advance(); - return std::make_unique(c); - } + case kClassOpen: + return ParseCharClass(); + case kAnyChar: + Advance(); + return std::make_unique(); + case kEscape: + Advance(); + return ParseEscape(); + case kStar: + case kPlus: + case kOptional: + case kBraceOpen: + throw std::runtime_error(std::format( + "GenerateStringFromRegex: quantifier with no preceding item at " + "position {}", + pos_)); + default: + Advance(); + return std::make_unique(c); + } } NodePtr Parser::MakeClass(std::vector> ranges, const bool negated) { - auto char_class = std::make_unique(); - char_class->ranges = std::move(ranges); - char_class->negated = negated; - return char_class; + auto char_class = std::make_unique(); + char_class->ranges = std::move(ranges); + char_class->negated = negated; + return char_class; } NodePtr Parser::ParseEscape() { - if (AtEnd()) { - throw std::runtime_error( - "GenerateStringFromRegex: a backslash at the very end has nothing " - "to escape"); - } - const char c = Advance(); - switch (c) { - case 'd': - return MakeClass({{'0', '9'}}, false); - case 'D': - return MakeClass({{'0', '9'}}, true); - case 'w': - return MakeClass({{'a', 'z'}, {'A', 'Z'}, {'0', '9'}, {'_', '_'}}, - false); - case 'W': - return MakeClass({{'a', 'z'}, {'A', 'Z'}, {'0', '9'}, {'_', '_'}}, - true); - case 's': - return MakeClass({{' ', ' '}, {'\t', '\t'}, {'\n', '\n'}, {'\r', '\r'}}, - false); - case 'S': - return MakeClass({{' ', ' '}, {'\t', '\t'}, {'\n', '\n'}, {'\r', '\r'}}, - true); - case 'n': - return std::make_unique('\n'); - case 't': - return std::make_unique('\t'); - case 'r': - return std::make_unique('\r'); - default: - // \. \* \( \\ etc. -- the literal character itself. - return std::make_unique(c); - } + if (AtEnd()) { + throw std::runtime_error( + "GenerateStringFromRegex: a backslash at the very end has nothing " + "to escape"); + } + const char c = Advance(); + switch (c) { + case 'd': + return MakeClass({{'0', '9'}}, false); + case 'D': + return MakeClass({{'0', '9'}}, true); + case 'w': + return MakeClass({{'a', 'z'}, {'A', 'Z'}, {'0', '9'}, {'_', '_'}}, + false); + case 'W': + return MakeClass({{'a', 'z'}, {'A', 'Z'}, {'0', '9'}, {'_', '_'}}, + true); + case 's': + return MakeClass( + {{' ', ' '}, {'\t', '\t'}, {'\n', '\n'}, {'\r', '\r'}}, false); + case 'S': + return MakeClass( + {{' ', ' '}, {'\t', '\t'}, {'\n', '\n'}, {'\r', '\r'}}, true); + case 'n': + return std::make_unique('\n'); + case 't': + return std::make_unique('\t'); + case 'r': + return std::make_unique('\r'); + default: + // \. \* \( \\ etc. -- the literal character itself. + return std::make_unique(c); + } } NodePtr Parser::ParseCharClass() { - Expect(kClassOpen); - auto char_class = std::make_unique(); - if (Match(kClassNegate)) { - char_class->negated = true; - } - if (AtEnd()) { - throw std::runtime_error( - "GenerateStringFromRegex: character class '[' is never closed"); - } + Expect(kClassOpen); + auto char_class = std::make_unique(); + if (Match(kClassNegate)) { + char_class->negated = true; + } + if (AtEnd()) { + throw std::runtime_error( + "GenerateStringFromRegex: character class '[' is never closed"); + } - while (!AtEnd() && Peek() != kClassClose) { - char lo = ClassChar(); - const bool is_range = Peek() == kClassRange && pos_ + 1 < src_.size() && - src_[pos_ + 1] != kClassClose; - if (is_range) { - Advance(); - char hi = ClassChar(); - if (hi < lo) { - std::swap(lo, hi); + while (!AtEnd() && Peek() != kClassClose) { + char lo = ClassChar(); + const bool is_range = Peek() == kClassRange && pos_ + 1 < src_.size() && + src_[pos_ + 1] != kClassClose; + if (is_range) { + Advance(); + char hi = ClassChar(); + if (hi < lo) { + std::swap(lo, hi); + } + char_class->ranges.emplace_back(lo, hi); + } else { + char_class->ranges.emplace_back(lo, lo); } - char_class->ranges.emplace_back(lo, hi); - } else { - char_class->ranges.emplace_back(lo, lo); - } - } - Expect(kClassClose); - if (char_class->ranges.empty()) { - throw std::runtime_error( - "GenerateStringFromRegex: empty character class []"); - } - return char_class; + } + Expect(kClassClose); + if (char_class->ranges.empty()) { + throw std::runtime_error( + "GenerateStringFromRegex: empty character class []"); + } + return char_class; } char Parser::ClassChar() { - const char c = Advance(); - if (c != kEscape) { - return c; - } - if (AtEnd()) { - throw std::runtime_error( - "GenerateStringFromRegex: backslash at end of character class"); - } - const char escaped = Advance(); - switch (escaped) { - case 'n': - return '\n'; - case 't': - return '\t'; - case 'r': - return '\r'; - default: - return escaped; - } + const char c = Advance(); + if (c != kEscape) { + return c; + } + if (AtEnd()) { + throw std::runtime_error( + "GenerateStringFromRegex: backslash at end of character class"); + } + const char escaped = Advance(); + switch (escaped) { + case 'n': + return '\n'; + case 't': + return '\t'; + case 'r': + return '\r'; + default: + return escaped; + } } } // namespace xeger_internal diff --git a/tooling/pipeline/src/web_client/http_web_client.cc b/tooling/pipeline/src/web_client/http_web_client.cc index b0910fff..c9f0891e 100644 --- a/tooling/pipeline/src/web_client/http_web_client.cc +++ b/tooling/pipeline/src/web_client/http_web_client.cc @@ -26,47 +26,47 @@ const std::regex kUrlRegex( R"(^(https?://[^/?#]+)(/[^?#]*(?:\?[^#]*)?(?:#.*)?)?)"); std::pair SplitUrl(const std::string& url) { - std::smatch match; - if (!std::regex_match(url, match, kUrlRegex)) { - throw std::invalid_argument("[HttpWebClient] Malformed URL: " + url); - } + std::smatch match; + if (!std::regex_match(url, match, kUrlRegex)) { + throw std::invalid_argument("[HttpWebClient] Malformed URL: " + url); + } - return {match[1].str(), match[2].matched ? match[2].str() : "/"}; + return {match[1].str(), match[2].matched ? match[2].str() : "/"}; } } // namespace std::string HttpWebClient::Get(const std::string& url) { - const auto [origin, path] = SplitUrl(url); + const auto [origin, path] = SplitUrl(url); - httplib::Client client(origin); - client.set_follow_location(true); - client.set_connection_timeout(kConnectionTimeoutSeconds); - client.set_read_timeout(kReadTimeoutSeconds); - client.set_default_headers({{"Accept", "application/json"}, - {"User-Agent", "biergarten-pipeline/1.0"}}); + httplib::Client client(origin); + client.set_follow_location(true); + client.set_connection_timeout(kConnectionTimeoutSeconds); + client.set_read_timeout(kReadTimeoutSeconds); + client.set_default_headers({{"Accept", "application/json"}, + {"User-Agent", "biergarten-pipeline/1.0"}}); - const httplib::Result result = client.Get(path); + const httplib::Result result = client.Get(path); - if (!result) { - throw std::runtime_error( - std::format("[HttpWebClient] Request failed for URL: {} — {}", url, - httplib::to_string(result.error()))); - } + if (!result) { + throw std::runtime_error( + std::format("[HttpWebClient] Request failed for URL: {} — {}", url, + httplib::to_string(result.error()))); + } - if (result->status < kSuccessMin || result->status >= kSuccessMax) { - if (logger_) { - logger_->Log({.level = LogLevel::Error, - .phase = PipelinePhase::Enrichment, - .message = std::format( - "[HttpWebClient] Request failed for URL: {}", url)}); - } - throw std::runtime_error(std::format("[HttpWebClient] HTTP {} for URL: {}", - result->status, url)); - } + if (result->status < kSuccessMin || result->status >= kSuccessMax) { + if (logger_) { + logger_->Log({.level = LogLevel::Error, + .phase = PipelinePhase::Enrichment, + .message = std::format( + "[HttpWebClient] Request failed for URL: {}", url)}); + } + throw std::runtime_error(std::format( + "[HttpWebClient] HTTP {} for URL: {}", result->status, url)); + } - return result->body; + return result->body; } std::string HttpWebClient::EncodeURL(const std::string& value) { - return httplib::encode_uri_component(value); + return httplib::encode_uri_component(value); } diff --git a/tooling/pipeline/surnames-by-country.json b/tooling/pipeline/surnames-by-country.json index 78e9a277..d3c96b9e 100644 --- a/tooling/pipeline/surnames-by-country.json +++ b/tooling/pipeline/surnames-by-country.json @@ -3,221 +3,141 @@ { "id": "AM-1", "rank": 1, - "localized": [ - "Գրիգորյան" - ], - "romanized": [ - "Grigoryan" - ], + "localized": ["Գրիգորյան"], + "romanized": ["Grigoryan"], "count": null }, { "id": "AM-2", "rank": 2, - "localized": [ - "Հարությունյան" - ], - "romanized": [ - "Harutyunyan" - ], + "localized": ["Հարությունյան"], + "romanized": ["Harutyunyan"], "count": null }, { "id": "AM-3", "rank": 3, - "localized": [ - "Սարգսյան" - ], - "romanized": [ - "Sargsyan" - ], + "localized": ["Սարգսյան"], + "romanized": ["Sargsyan"], "count": null }, { "id": "AM-4", "rank": 4, - "localized": [ - "Հովհաննիսյան" - ], - "romanized": [ - "Hovhannisyan" - ], + "localized": ["Հովհաննիսյան"], + "romanized": ["Hovhannisyan"], "count": null }, { "id": "AM-5", "rank": 5, - "localized": [ - "Խաչատրյան" - ], - "romanized": [ - "Khachatryan" - ], + "localized": ["Խաչատրյան"], + "romanized": ["Khachatryan"], "count": null }, { "id": "AM-6", "rank": 6, - "localized": [ - "Հակոբյան" - ], - "romanized": [ - "Hakobyan" - ], + "localized": ["Հակոբյան"], + "romanized": ["Hakobyan"], "count": null }, { "id": "AM-7", "rank": 7, - "localized": [ - "Պետրոսյան" - ], - "romanized": [ - "Petrosyan" - ], + "localized": ["Պետրոսյան"], + "romanized": ["Petrosyan"], "count": null }, { "id": "AM-8", "rank": 8, - "localized": [ - "Վարդանյան" - ], - "romanized": [ - "Vardanyan" - ], + "localized": ["Վարդանյան"], + "romanized": ["Vardanyan"], "count": null }, { "id": "AM-9", "rank": 9, - "localized": [ - "Գեւորգյան" - ], - "romanized": [ - "Gevorgyan" - ], + "localized": ["Գեւորգյան"], + "romanized": ["Gevorgyan"], "count": null }, { "id": "AM-10", "rank": 10, - "localized": [ - "Կարապետյան" - ], - "romanized": [ - "Karapetyan" - ], + "localized": ["Կարապետյան"], + "romanized": ["Karapetyan"], "count": null }, { "id": "AM-11", "rank": 11, - "localized": [ - "Մկրտչյան" - ], - "romanized": [ - "Mkrtchyan" - ], + "localized": ["Մկրտչյան"], + "romanized": ["Mkrtchyan"], "count": null }, { "id": "AM-12", "rank": 12, - "localized": [ - "Ղազարյան" - ], - "romanized": [ - "Ghazaryan" - ], + "localized": ["Ղազարյան"], + "romanized": ["Ghazaryan"], "count": null }, { "id": "AM-13", "rank": 13, - "localized": [ - "Մանուկյան" - ], - "romanized": [ - "Manukyan" - ], + "localized": ["Մանուկյան"], + "romanized": ["Manukyan"], "count": null }, { "id": "AM-14", "rank": 14, - "localized": [ - "Ավետիսյան" - ], - "romanized": [ - "Avetisyan" - ], + "localized": ["Ավետիսյան"], + "romanized": ["Avetisyan"], "count": null }, { "id": "AM-15", "rank": 15, - "localized": [ - "Պողոսյան" - ], - "romanized": [ - "Poghosyan" - ], + "localized": ["Պողոսյան"], + "romanized": ["Poghosyan"], "count": null }, { "id": "AM-16", "rank": 16, - "localized": [ - "Մարտիրոսյան" - ], - "romanized": [ - "Martirosyan" - ], + "localized": ["Մարտիրոսյան"], + "romanized": ["Martirosyan"], "count": null }, { "id": "AM-17", "rank": 17, - "localized": [ - "Սահակյան" - ], - "romanized": [ - "Sahakyan" - ], + "localized": ["Սահակյան"], + "romanized": ["Sahakyan"], "count": null }, { "id": "AM-18", "rank": 18, - "localized": [ - "Առաքելյան" - ], - "romanized": [ - "Arakelyan" - ], + "localized": ["Առաքելյան"], + "romanized": ["Arakelyan"], "count": null }, { "id": "AM-19", "rank": 19, - "localized": [ - "Մարգարյան" - ], - "romanized": [ - "Margaryan" - ], + "localized": ["Մարգարյան"], + "romanized": ["Margaryan"], "count": null }, { "id": "AM-20", "rank": 20, - "localized": [ - "Դավթյան" - ], - "romanized": [ - "Davtyan" - ], + "localized": ["Դավթյան"], + "romanized": ["Davtyan"], "count": null } ], @@ -225,111 +145,71 @@ { "id": "AZ-1", "rank": 1, - "localized": [ - "Məmmədov" - ], - "romanized": [ - "Mammadov" - ], + "localized": ["Məmmədov"], + "romanized": ["Mammadov"], "count": null }, { "id": "AZ-2", "rank": 2, - "localized": [ - "Əliyev" - ], - "romanized": [ - "Aliyev" - ], + "localized": ["Əliyev"], + "romanized": ["Aliyev"], "count": null }, { "id": "AZ-3", "rank": 3, - "localized": [ - "Hüseynov" - ], - "romanized": [ - "Huseynov" - ], + "localized": ["Hüseynov"], + "romanized": ["Huseynov"], "count": null }, { "id": "AZ-4", "rank": 4, - "localized": [ - "Həsənov" - ], - "romanized": [ - "Hasanov" - ], + "localized": ["Həsənov"], + "romanized": ["Hasanov"], "count": null }, { "id": "AZ-5", "rank": 5, - "localized": [ - "Quliyev" - ], - "romanized": [ - "Guliyev" - ], + "localized": ["Quliyev"], + "romanized": ["Guliyev"], "count": null }, { "id": "AZ-6", "rank": 6, - "localized": [ - "İsmayılov" - ], - "romanized": [ - "Ismayilov" - ], + "localized": ["İsmayılov"], + "romanized": ["Ismayilov"], "count": null }, { "id": "AZ-7", "rank": 7, - "localized": [ - "Əhmədov" - ], - "romanized": [ - "Ahmadov" - ], + "localized": ["Əhmədov"], + "romanized": ["Ahmadov"], "count": null }, { "id": "AZ-8", "rank": 8, - "localized": [ - "Abdullayev" - ], - "romanized": [ - "Abdullayev" - ], + "localized": ["Abdullayev"], + "romanized": ["Abdullayev"], "count": null }, { "id": "AZ-9", "rank": 9, - "localized": [ - "Abbasov" - ], - "romanized": [ - "Abbasov" - ], + "localized": ["Abbasov"], + "romanized": ["Abbasov"], "count": null }, { "id": "AZ-10", "rank": 10, - "localized": [ - "Cəfərov" - ], - "romanized": [ - "Jafarov" - ], + "localized": ["Cəfərov"], + "romanized": ["Jafarov"], "count": null } ], @@ -337,67 +217,43 @@ { "id": "BD-1", "rank": 1, - "localized": [ - "আক্তার" - ], - "romanized": [ - "Akter" - ], + "localized": ["আক্তার"], + "romanized": ["Akter"], "count": null }, { "id": "BD-2", "rank": 2, - "localized": [ - "ইসলাম" - ], - "romanized": [ - "Islam" - ], + "localized": ["ইসলাম"], + "romanized": ["Islam"], "count": null }, { "id": "BD-3", "rank": 3, - "localized": [ - "খাতুন" - ], - "romanized": [ - "Khatun" - ], + "localized": ["খাতুন"], + "romanized": ["Khatun"], "count": null }, { "id": "BD-4", "rank": 4, - "localized": [ - "হোসেন" - ], - "romanized": [ - "Hossain" - ], + "localized": ["হোসেন"], + "romanized": ["Hossain"], "count": null }, { "id": "BD-5", "rank": 5, - "localized": [ - "রহমান" - ], - "romanized": [ - "Rahman" - ], + "localized": ["রহমান"], + "romanized": ["Rahman"], "count": null }, { "id": "BD-6", "rank": 6, - "localized": [ - "আহম্মেদ" - ], - "romanized": [ - "Ahmed" - ], + "localized": ["আহম্মেদ"], + "romanized": ["Ahmed"], "count": null } ], @@ -405,1221 +261,813 @@ { "id": "KH-1", "rank": 1, - "localized": [ - "កូយ" - ], + "localized": ["កូយ"], "romanized": [], "count": null }, { "id": "KH-2", "rank": 2, - "localized": [ - "កឹម" - ], + "localized": ["កឹម"], "romanized": [], "count": null }, { "id": "KH-3", "rank": 3, - "localized": [ - "កែប" - ], + "localized": ["កែប"], "romanized": [], "count": null }, { "id": "KH-4", "rank": 4, - "localized": [ - "កែវ" - ], - "romanized": [ - "Keo" - ], + "localized": ["កែវ"], + "romanized": ["Keo"], "count": null }, { "id": "KH-5", "rank": 5, - "localized": [ - "ខាត់" - ], - "romanized": [ - "Khat" - ], + "localized": ["ខាត់"], + "romanized": ["Khat"], "count": null }, { "id": "KH-6", "rank": 6, - "localized": [ - "ខាយ" - ], - "romanized": [ - "Khay" - ], + "localized": ["ខាយ"], + "romanized": ["Khay"], "count": null }, { "id": "KH-7", "rank": 7, - "localized": [ - "ខៀវ" - ], - "romanized": [ - "Khiev" - ], + "localized": ["ខៀវ"], + "romanized": ["Khiev"], "count": null }, { "id": "KH-8", "rank": 8, - "localized": [ - "ខ្លូត" - ], - "romanized": [ - "Khlot" - ], + "localized": ["ខ្លូត"], + "romanized": ["Khlot"], "count": null }, { "id": "KH-9", "rank": 9, - "localized": [ - "គឹម" - ], - "romanized": [ - "Kim" - ], + "localized": ["គឹម"], + "romanized": ["Kim"], "count": null }, { "id": "KH-10", "rank": 10, - "localized": [ - "គួច" - ], + "localized": ["គួច"], "romanized": [], "count": null }, { "id": "KH-11", "rank": 11, - "localized": [ - "កាំង" - ], + "localized": ["កាំង"], "romanized": [], "count": null }, { "id": "KH-12", "rank": 12, - "localized": [ - "ឃាង" - ], + "localized": ["ឃាង"], "romanized": [], "count": null }, { "id": "KH-13", "rank": 13, - "localized": [ - "ឃិន" - ], + "localized": ["ឃិន"], "romanized": [], "count": null }, { "id": "KH-14", "rank": 14, - "localized": [ - "ឃីម" - ], + "localized": ["ឃីម"], "romanized": [], "count": null }, { "id": "KH-15", "rank": 15, - "localized": [ - "ចន្ទ" - ], - "romanized": [ - "Chhan" - ], + "localized": ["ចន្ទ"], + "romanized": ["Chhan"], "count": null }, { "id": "KH-16", "rank": 16, - "localized": [ - "ចាន់" - ], + "localized": ["ចាន់"], "romanized": [], "count": null }, { "id": "KH-17", "rank": 17, - "localized": [ - "ចាប" - ], - "romanized": [ - "Bird" - ], + "localized": ["ចាប"], + "romanized": ["Bird"], "count": null }, { "id": "KH-18", "rank": 18, - "localized": [ - "ចេង" - ], + "localized": ["ចេង"], "romanized": [], "count": null }, { "id": "KH-19", "rank": 19, - "localized": [ - "ចេន" - ], - "romanized": [ - "Chen" - ], + "localized": ["ចេន"], + "romanized": ["Chen"], "count": null }, { "id": "KH-20", "rank": 20, - "localized": [ - "ឆន" - ], - "romanized": [ - "Chhorn" - ], + "localized": ["ឆន"], + "romanized": ["Chhorn"], "count": null }, { "id": "KH-21", "rank": 21, - "localized": [ - "ឆាយ" - ], + "localized": ["ឆាយ"], "romanized": [], "count": null }, { "id": "KH-22", "rank": 22, - "localized": [ - "ជា" - ], - "romanized": [ - "Chea" - ], + "localized": ["ជា"], + "romanized": ["Chea"], "count": null }, { "id": "KH-23", "rank": 23, - "localized": [ - "ជាម" - ], - "romanized": [ - "Cheam" - ], + "localized": ["ជាម"], + "romanized": ["Cheam"], "count": null }, { "id": "KH-24", "rank": 24, - "localized": [ - "ជិន" - ], - "romanized": [ - "Chin" - ], + "localized": ["ជិន"], + "romanized": ["Chin"], "count": null }, { "id": "KH-25", "rank": 25, - "localized": [ - "ជឹម" - ], - "romanized": [ - "Chim" - ], + "localized": ["ជឹម"], + "romanized": ["Chim"], "count": null }, { "id": "KH-26", "rank": 26, - "localized": [ - "ជ័យ" - ], - "romanized": [ - "Chey" - ], + "localized": ["ជ័យ"], + "romanized": ["Chey"], "count": null }, { "id": "KH-27", "rank": 27, - "localized": [ - "ឈិត" - ], - "romanized": [ - "Chhet" - ], + "localized": ["ឈិត"], + "romanized": ["Chhet"], "count": null }, { "id": "KH-28", "rank": 28, - "localized": [ - "ឈិន" - ], + "localized": ["ឈិន"], "romanized": [], "count": null }, { "id": "KH-29", "rank": 29, - "localized": [ - "ឈឹម" - ], - "romanized": [ - "Chhim" - ], + "localized": ["ឈឹម"], + "romanized": ["Chhim"], "count": null }, { "id": "KH-30", "rank": 30, - "localized": [ - "ញឹក" - ], - "romanized": [ - "Nhek" - ], + "localized": ["ញឹក"], + "romanized": ["Nhek"], "count": null }, { "id": "KH-31", "rank": 31, - "localized": [ - "ដួង" - ], - "romanized": [ - "Duong" - ], + "localized": ["ដួង"], + "romanized": ["Duong"], "count": null }, { "id": "KH-32", "rank": 32, - "localized": [ - "ឌិត" - ], - "romanized": [ - "Dith" - ], + "localized": ["ឌិត"], + "romanized": ["Dith"], "count": null }, { "id": "KH-33", "rank": 33, - "localized": [ - "ឌិន" - ], - "romanized": [ - "Din" - ], + "localized": ["ឌិន"], + "romanized": ["Din"], "count": null }, { "id": "KH-34", "rank": 34, - "localized": [ - "ឌី" - ], + "localized": ["ឌី"], "romanized": [], "count": null }, { "id": "KH-35", "rank": 35, - "localized": [ - "ឌុល" - ], - "romanized": [ - "Dul" - ], + "localized": ["ឌុល"], + "romanized": ["Dul"], "count": null }, { "id": "KH-36", "rank": 36, - "localized": [ - "ឌួង" - ], - "romanized": [ - "Duong" - ], + "localized": ["ឌួង"], + "romanized": ["Duong"], "count": null }, { "id": "KH-37", "rank": 37, - "localized": [ - "តក់" - ], - "romanized": [ - "Droplets" - ], + "localized": ["តក់"], + "romanized": ["Droplets"], "count": null }, { "id": "KH-38", "rank": 38, - "localized": [ - "តាង" - ], - "romanized": [ - "Tang" - ], + "localized": ["តាង"], + "romanized": ["Tang"], "count": null }, { "id": "KH-39", "rank": 39, - "localized": [ - "តាត" - ], - "romanized": [ - "Tat" - ], + "localized": ["តាត"], + "romanized": ["Tat"], "count": null }, { "id": "KH-40", "rank": 40, - "localized": [ - "តូច" - ], + "localized": ["តូច"], "romanized": [], "count": null }, { "id": "KH-41", "rank": 41, - "localized": [ - "តាំង" - ], - "romanized": [ - "Taing" - ], + "localized": ["តាំង"], + "romanized": ["Taing"], "count": null }, { "id": "KH-42", "rank": 42, - "localized": [ - "ថន" - ], + "localized": ["ថន"], "romanized": [], "count": null }, { "id": "KH-43", "rank": 43, - "localized": [ - "ទាវ" - ], + "localized": ["ទាវ"], "romanized": [], "count": null }, { "id": "KH-44", "rank": 44, - "localized": [ - "ទី" - ], - "romanized": [ - "Ty" - ], + "localized": ["ទី"], + "romanized": ["Ty"], "count": null }, { "id": "KH-45", "rank": 45, - "localized": [ - "ទុំ" - ], + "localized": ["ទុំ"], "romanized": [], "count": null }, { "id": "KH-46", "rank": 46, - "localized": [ - "ទ្រី" - ], + "localized": ["ទ្រី"], "romanized": [], "count": null }, { "id": "KH-47", "rank": 47, - "localized": [ - "ទេព" - ], - "romanized": [ - "Tep" - ], + "localized": ["ទេព"], + "romanized": ["Tep"], "count": null }, { "id": "KH-48", "rank": 48, - "localized": [ - "ធី" - ], - "romanized": [ - "Thy" - ], + "localized": ["ធី"], + "romanized": ["Thy"], "count": null }, { "id": "KH-49", "rank": 49, - "localized": [ - "នី" - ], + "localized": ["នី"], "romanized": [], "count": null }, { "id": "KH-50", "rank": 50, - "localized": [ - "ប្រាក់" - ], - "romanized": [ - "Khmer" - ], + "localized": ["ប្រាក់"], + "romanized": ["Khmer"], "count": null }, { "id": "KH-51", "rank": 51, - "localized": [ - "ប៉ាង" - ], - "romanized": [ - "Pang" - ], + "localized": ["ប៉ាង"], + "romanized": ["Pang"], "count": null }, { "id": "KH-52", "rank": 52, - "localized": [ - "ប៉ុក" - ], - "romanized": [ - "Pok" - ], + "localized": ["ប៉ុក"], + "romanized": ["Pok"], "count": null }, { "id": "KH-53", "rank": 53, - "localized": [ - "ប៊ុន" - ], - "romanized": [ - "Bun" - ], + "localized": ["ប៊ុន"], + "romanized": ["Bun"], "count": null }, { "id": "KH-54", "rank": 54, - "localized": [ - "ប៉ែន" - ], - "romanized": [ - "Pen" - ], + "localized": ["ប៉ែន"], + "romanized": ["Pen"], "count": null }, { "id": "KH-55", "rank": 55, - "localized": [ - "ផាន" - ], - "romanized": [ - "Phan" - ], + "localized": ["ផាន"], + "romanized": ["Phan"], "count": null }, { "id": "KH-56", "rank": 56, - "localized": [ - "ពិជ" - ], + "localized": ["ពិជ"], "romanized": [], "count": null }, { "id": "KH-57", "rank": 57, - "localized": [ - "ពេជ្រ" - ], - "romanized": [ - "means" - ], + "localized": ["ពេជ្រ"], + "romanized": ["means"], "count": null }, { "id": "KH-58", "rank": 58, - "localized": [ - "ភី" - ], - "romanized": [ - "Phy" - ], + "localized": ["ភី"], + "romanized": ["Phy"], "count": null }, { "id": "KH-59", "rank": 59, - "localized": [ - "មា" - ], - "romanized": [ - "Ma" - ], + "localized": ["មា"], + "romanized": ["Ma"], "count": null }, { "id": "KH-60", "rank": 60, - "localized": [ - "មាន" - ], - "romanized": [ - "Mean" - ], + "localized": ["មាន"], + "romanized": ["Mean"], "count": null }, { "id": "KH-61", "rank": 61, - "localized": [ - "មាស" - ], - "romanized": [ - "Meas" - ], + "localized": ["មាស"], + "romanized": ["Meas"], "count": null }, { "id": "KH-62", "rank": 62, - "localized": [ - "មួយ" - ], - "romanized": [ - "Muy" - ], + "localized": ["មួយ"], + "romanized": ["Muy"], "count": null }, { "id": "KH-63", "rank": 63, - "localized": [ - "មូល" - ], - "romanized": [ - "Mul" - ], + "localized": ["មូល"], + "romanized": ["Mul"], "count": null }, { "id": "KH-64", "rank": 64, - "localized": [ - "មេង" - ], - "romanized": [ - "Meng" - ], + "localized": ["មេង"], + "romanized": ["Meng"], "count": null }, { "id": "KH-65", "rank": 65, - "localized": [ - "ម៉ៅ" - ], - "romanized": [ - "Mao" - ], + "localized": ["ម៉ៅ"], + "romanized": ["Mao"], "count": null }, { "id": "KH-66", "rank": 66, - "localized": [ - "យស់" - ], - "romanized": [ - "Yos" - ], + "localized": ["យស់"], + "romanized": ["Yos"], "count": null }, { "id": "KH-67", "rank": 67, - "localized": [ - "យុន" - ], - "romanized": [ - "Yun" - ], + "localized": ["យុន"], + "romanized": ["Yun"], "count": null }, { "id": "KH-68", "rank": 68, - "localized": [ - "យូ" - ], - "romanized": [ - "Yu" - ], + "localized": ["យូ"], + "romanized": ["Yu"], "count": null }, { "id": "KH-69", "rank": 69, - "localized": [ - "រស់" - ], - "romanized": [ - "Ros" - ], + "localized": ["រស់"], + "romanized": ["Ros"], "count": null }, { "id": "KH-70", "rank": 70, - "localized": [ - "រួយ" - ], + "localized": ["រួយ"], "romanized": [], "count": null }, { "id": "KH-71", "rank": 71, - "localized": [ - "លិម" - ], - "romanized": [ - "Lim" - ], + "localized": ["លិម"], + "romanized": ["Lim"], "count": null }, { "id": "KH-72", "rank": 72, - "localized": [ - "លី" - ], + "localized": ["លី"], "romanized": [], "count": null }, { "id": "KH-73", "rank": 73, - "localized": [ - "លីវ" - ], + "localized": ["លីវ"], "romanized": [], "count": null }, { "id": "KH-74", "rank": 74, - "localized": [ - "លឹម" - ], + "localized": ["លឹម"], "romanized": [], "count": null }, { "id": "KH-75", "rank": 75, - "localized": [ - "វ៉ាង" - ], - "romanized": [ - "Vang" - ], + "localized": ["វ៉ាង"], + "romanized": ["Vang"], "count": null }, { "id": "KH-76", "rank": 76, - "localized": [ - "វង្ស" - ], - "romanized": [ - "Vong" - ], + "localized": ["វង្ស"], + "romanized": ["Vong"], "count": null }, { "id": "KH-77", "rank": 77, - "localized": [ - "ស" - ], - "romanized": [ - "Sor" - ], + "localized": ["ស"], + "romanized": ["Sor"], "count": null }, { "id": "KH-78", "rank": 78, - "localized": [ - "សង" - ], - "romanized": [ - "Sang" - ], + "localized": ["សង"], + "romanized": ["Sang"], "count": null }, { "id": "KH-79", "rank": 79, - "localized": [ - "សម" - ], - "romanized": [ - "Sam" - ], + "localized": ["សម"], + "romanized": ["Sam"], "count": null }, { "id": "KH-80", "rank": 80, - "localized": [ - "សរ" - ], - "romanized": [ - "Sor" - ], + "localized": ["សរ"], + "romanized": ["Sor"], "count": null }, { "id": "KH-81", "rank": 81, - "localized": [ - "សាង" - ], - "romanized": [ - "Sang" - ], + "localized": ["សាង"], + "romanized": ["Sang"], "count": null }, { "id": "KH-82", "rank": 82, - "localized": [ - "សាត" - ], - "romanized": [ - "Sat" - ], + "localized": ["សាត"], + "romanized": ["Sat"], "count": null }, { "id": "KH-83", "rank": 83, - "localized": [ - "សាន" - ], - "romanized": [ - "San" - ], + "localized": ["សាន"], + "romanized": ["San"], "count": null }, { "id": "KH-84", "rank": 84, - "localized": [ - "សាយ" - ], - "romanized": [ - "Say" - ], + "localized": ["សាយ"], + "romanized": ["Say"], "count": null }, { "id": "KH-85", "rank": 85, - "localized": [ - "សិន" - ], - "romanized": [ - "Sin" - ], + "localized": ["សិន"], + "romanized": ["Sin"], "count": null }, { "id": "KH-86", "rank": 86, - "localized": [ - "សឺន" - ], - "romanized": [ - "Son" - ], + "localized": ["សឺន"], + "romanized": ["Son"], "count": null }, { "id": "KH-87", "rank": 87, - "localized": [ - "សុខ" - ], - "romanized": [ - "Sok" - ], + "localized": ["សុខ"], + "romanized": ["Sok"], "count": null }, { "id": "KH-88", "rank": 88, - "localized": [ - "សុង" - ], - "romanized": [ - "Song" - ], + "localized": ["សុង"], + "romanized": ["Song"], "count": null }, { "id": "KH-89", "rank": 89, - "localized": [ - "សុន" - ], - "romanized": [ - "Son" - ], + "localized": ["សុន"], + "romanized": ["Son"], "count": null }, { "id": "KH-90", "rank": 90, - "localized": [ - "ស៊ុយ" - ], - "romanized": [ - "Suy" - ], + "localized": ["ស៊ុយ"], + "romanized": ["Suy"], "count": null }, { "id": "KH-91", "rank": 91, - "localized": [ - "សូ" - ], - "romanized": [ - "So" - ], + "localized": ["សូ"], + "romanized": ["So"], "count": null }, { "id": "KH-92", "rank": 92, - "localized": [ - "ស៊ូ" - ], - "romanized": [ - "Su" - ], + "localized": ["ស៊ូ"], + "romanized": ["Su"], "count": null }, { "id": "KH-93", "rank": 93, - "localized": [ - "សួន" - ], - "romanized": [ - "Soun" - ], + "localized": ["សួន"], + "romanized": ["Soun"], "count": null }, { "id": "KH-94", "rank": 94, - "localized": [ - "សឿង" - ], + "localized": ["សឿង"], "romanized": [], "count": null }, { "id": "KH-95", "rank": 95, - "localized": [ - "សៀង" - ], - "romanized": [ - "Sieng" - ], + "localized": ["សៀង"], + "romanized": ["Sieng"], "count": null }, { "id": "KH-96", "rank": 96, - "localized": [ - "សេង" - ], - "romanized": [ - "Seng" - ], + "localized": ["សេង"], + "romanized": ["Seng"], "count": null }, { "id": "KH-97", "rank": 97, - "localized": [ - "សេន" - ], - "romanized": [ - "Sen" - ], + "localized": ["សេន"], + "romanized": ["Sen"], "count": null }, { "id": "KH-98", "rank": 98, - "localized": [ - "សោម" - ], - "romanized": [ - "Som" - ], + "localized": ["សោម"], + "romanized": ["Som"], "count": null }, { "id": "KH-99", "rank": 99, - "localized": [ - "សៅ" - ], + "localized": ["សៅ"], "romanized": [], "count": null }, { "id": "KH-100", "rank": 100, - "localized": [ - "ហាក៉" - ], + "localized": ["ហាក៉"], "romanized": [], "count": null }, { "id": "KH-101", "rank": 101, - "localized": [ - "ហុង" - ], - "romanized": [ - "Hong" - ], + "localized": ["ហុង"], + "romanized": ["Hong"], "count": null }, { "id": "KH-102", "rank": 102, - "localized": [ - "ហ៊ុន" - ], - "romanized": [ - "Hun" - ], + "localized": ["ហ៊ុន"], + "romanized": ["Hun"], "count": null }, { "id": "KH-103", "rank": 103, - "localized": [ - "ហូ" - ], - "romanized": [ - "Ho" - ], + "localized": ["ហូ"], + "romanized": ["Ho"], "count": null }, { "id": "KH-104", "rank": 104, - "localized": [ - "ឡាយ" - ], + "localized": ["ឡាយ"], "romanized": [], "count": null }, { "id": "KH-105", "rank": 105, - "localized": [ - "ឡុង" - ], - "romanized": [ - "Long" - ], + "localized": ["ឡុង"], + "romanized": ["Long"], "count": null }, { "id": "KH-106", "rank": 106, - "localized": [ - "អាង" - ], - "romanized": [ - "Ang" - ], + "localized": ["អាង"], + "romanized": ["Ang"], "count": null }, { "id": "KH-107", "rank": 107, - "localized": [ - "អិម" - ], - "romanized": [ - "Im" - ], + "localized": ["អិម"], + "romanized": ["Im"], "count": null }, { "id": "KH-108", "rank": 108, - "localized": [ - "អុង" - ], - "romanized": [ - "Ong" - ], + "localized": ["អុង"], + "romanized": ["Ong"], "count": null }, { "id": "KH-109", "rank": 109, - "localized": [ - "អ៊ុច" - ], - "romanized": [ - "Uch" - ], + "localized": ["អ៊ុច"], + "romanized": ["Uch"], "count": null }, { "id": "KH-110", "rank": 110, - "localized": [ - "អ៊ុយ" - ], - "romanized": [ - "Uy" - ], + "localized": ["អ៊ុយ"], + "romanized": ["Uy"], "count": null }, { "id": "KH-111", "rank": 111, - "localized": [ - "អៀម" - ], - "romanized": [ - "Eam" - ], + "localized": ["អៀម"], + "romanized": ["Eam"], "count": null }, { "id": "KH-112", "rank": 112, - "localized": [ - "អៀវ" - ], - "romanized": [ - "Iv" - ], + "localized": ["អៀវ"], + "romanized": ["Iv"], "count": null }, { "id": "KH-113", "rank": 113, - "localized": [ - "អ៊ុំ" - ], - "romanized": [ - "Um" - ], + "localized": ["អ៊ុំ"], + "romanized": ["Um"], "count": null }, { "id": "KH-114", "rank": 114, - "localized": [ - "ឯក" - ], - "romanized": [ - "Ek" - ], + "localized": ["ឯក"], + "romanized": ["Ek"], "count": null }, { "id": "KH-115", "rank": 115, - "localized": [ - "ឱក" - ], - "romanized": [ - "Ok" - ], + "localized": ["ឱក"], + "romanized": ["Ok"], "count": null }, { "id": "KH-116", "rank": 116, - "localized": [ - "ឱម" - ], - "romanized": [ - "Om" - ], + "localized": ["ឱម"], + "romanized": ["Om"], "count": null } ], @@ -1627,251 +1075,141 @@ { "id": "CN-1", "rank": 1, - "localized": [ - "王" - ], - "romanized": [ - "Wáng", - "Wong" - ], + "localized": ["王"], + "romanized": ["Wáng", "Wong"], "count": 101500000 }, { "id": "CN-2", "rank": 2, - "localized": [ - "李" - ], - "romanized": [ - "Lǐ", - "Lee" - ], + "localized": ["李"], + "romanized": ["Lǐ", "Lee"], "count": 100900000 }, { "id": "CN-3", "rank": 3, - "localized": [ - "張", - "张" - ], - "romanized": [ - "Zhāng", - "Cheung" - ], + "localized": ["張", "张"], + "romanized": ["Zhāng", "Cheung"], "count": 95400000 }, { "id": "CN-4", "rank": 4, - "localized": [ - "劉", - "刘" - ], - "romanized": [ - "Liú", - "Lau" - ], + "localized": ["劉", "刘"], + "romanized": ["Liú", "Lau"], "count": 72100000 }, { "id": "CN-5", "rank": 5, - "localized": [ - "陳", - "陈" - ], - "romanized": [ - "Chén", - "Chan" - ], + "localized": ["陳", "陈"], + "romanized": ["Chén", "Chan"], "count": 63000000 }, { "id": "CN-6", "rank": 6, - "localized": [ - "楊", - "杨" - ], - "romanized": [ - "Yáng", - "Yeung" - ], + "localized": ["楊", "杨"], + "romanized": ["Yáng", "Yeung"], "count": 46200000 }, { "id": "CN-7", "rank": 7, - "localized": [ - "黄", - "黃" - ], - "romanized": [ - "Huáng", - "Wong" - ], + "localized": ["黄", "黃"], + "romanized": ["Huáng", "Wong"], "count": 33700000 }, { "id": "CN-8", "rank": 8, - "localized": [ - "趙", - "赵" - ], - "romanized": [ - "Zhào", - "Chiu" - ], + "localized": ["趙", "赵"], + "romanized": ["Zhào", "Chiu"], "count": 28600000 }, { "id": "CN-9", "rank": 9, - "localized": [ - "吳", - "吴" - ], - "romanized": [ - "Ng", - "Wú" - ], + "localized": ["吳", "吴"], + "romanized": ["Ng", "Wú"], "count": 27800000 }, { "id": "CN-10", "rank": 10, - "localized": [ - "周" - ], - "romanized": [ - "Zhōu", - "Chow" - ], + "localized": ["周"], + "romanized": ["Zhōu", "Chow"], "count": 26800000 }, { "id": "CN-11", "rank": 11, - "localized": [ - "徐" - ], - "romanized": [ - "Tsui", - "Xú" - ], + "localized": ["徐"], + "romanized": ["Tsui", "Xú"], "count": 20200000 }, { "id": "CN-12", "rank": 12, - "localized": [ - "孫", - "孙" - ], - "romanized": [ - "Suen", - "Sūn" - ], + "localized": ["孫", "孙"], + "romanized": ["Suen", "Sūn"], "count": 19400000 }, { "id": "CN-13", "rank": 13, - "localized": [ - "馬", - "马" - ], - "romanized": [ - "Ma", - "Mǎ" - ], + "localized": ["馬", "马"], + "romanized": ["Ma", "Mǎ"], "count": 19100000 }, { "id": "CN-14", "rank": 14, - "localized": [ - "朱" - ], - "romanized": [ - "Chu", - "Zhū" - ], + "localized": ["朱"], + "romanized": ["Chu", "Zhū"], "count": 18100000 }, { "id": "CN-15", "rank": 15, - "localized": [ - "胡" - ], - "romanized": [ - "Hú", - "Wu" - ], + "localized": ["胡"], + "romanized": ["Hú", "Wu"], "count": 16500000 }, { "id": "CN-16", "rank": 16, - "localized": [ - "郭" - ], - "romanized": [ - "Guō", - "Kwok" - ], + "localized": ["郭"], + "romanized": ["Guō", "Kwok"], "count": 15800000 }, { "id": "CN-17", "rank": 17, - "localized": [ - "何" - ], - "romanized": [ - "Ho", - "Hé" - ], + "localized": ["何"], + "romanized": ["Ho", "Hé"], "count": 14800000 }, { "id": "CN-18", "rank": 18, - "localized": [ - "林" - ], - "romanized": [ - "Lam", - "Lín" - ], + "localized": ["林"], + "romanized": ["Lam", "Lín"], "count": 14200000 }, { "id": "CN-19", "rank": 19, - "localized": [ - "高" - ], - "romanized": [ - "Gāo", - "Ko" - ], + "localized": ["高"], + "romanized": ["Gāo", "Ko"], "count": 14100000 }, { "id": "CN-20", "rank": 20, - "localized": [ - "羅", - "罗" - ], - "romanized": [ - "Law", - "Luó" - ], + "localized": ["羅", "罗"], + "romanized": ["Law", "Luó"], "count": 14000000 } ], @@ -1879,224 +1217,141 @@ { "id": "GE-1", "rank": 1, - "localized": [ - "ბერიძე" - ], - "romanized": [ - "Beridze" - ], + "localized": ["ბერიძე"], + "romanized": ["Beridze"], "count": 24962 }, { "id": "GE-2", "rank": 2, - "localized": [ - "მამედოვი" - ], - "romanized": [ - "Mamedovi", - "Mamedov" - ], + "localized": ["მამედოვი"], + "romanized": ["Mamedovi", "Mamedov"], "count": 23675 }, { "id": "GE-3", "rank": 3, - "localized": [ - "კაპანაძე" - ], - "romanized": [ - "Kapanadze" - ], + "localized": ["კაპანაძე"], + "romanized": ["Kapanadze"], "count": 17202 }, { "id": "GE-4", "rank": 4, - "localized": [ - "გელაშვილი" - ], - "romanized": [ - "Gelashvili" - ], + "localized": ["გელაშვილი"], + "romanized": ["Gelashvili"], "count": 16350 }, { "id": "GE-5", "rank": 5, - "localized": [ - "ალიევი" - ], - "romanized": [ - "Alievi", - "Aliyev" - ], + "localized": ["ალიევი"], + "romanized": ["Alievi", "Aliyev"], "count": 15742 }, { "id": "GE-6", "rank": 6, - "localized": [ - "მაისურაძე" - ], - "romanized": [ - "Maisuradze" - ], + "localized": ["მაისურაძე"], + "romanized": ["Maisuradze"], "count": 14824 }, { "id": "GE-7", "rank": 7, - "localized": [ - "გიორგაძე" - ], - "romanized": [ - "Giorgadze" - ], + "localized": ["გიორგაძე"], + "romanized": ["Giorgadze"], "count": 12954 }, { "id": "GE-8", "rank": 8, - "localized": [ - "ლომიძე" - ], - "romanized": [ - "Lomidze" - ], + "localized": ["ლომიძე"], + "romanized": ["Lomidze"], "count": 11796 }, { "id": "GE-9", "rank": 9, - "localized": [ - "წიკლაური" - ], - "romanized": [ - "Tsiklauri" - ], + "localized": ["წიკლაური"], + "romanized": ["Tsiklauri"], "count": 11571 }, { "id": "GE-10", "rank": 10, - "localized": [ - "ბოლქვაძე" - ], - "romanized": [ - "Bolkvadze" - ], + "localized": ["ბოლქვაძე"], + "romanized": ["Bolkvadze"], "count": 10916 }, { "id": "GE-11", "rank": 11, - "localized": [ - "კვარაცხელია" - ], - "romanized": [ - "Kvaratskhelia" - ], + "localized": ["კვარაცხელია"], + "romanized": ["Kvaratskhelia"], "count": 10447 }, { "id": "GE-12", "rank": 12, - "localized": [ - "ნოზაძე" - ], - "romanized": [ - "Nozadze" - ], + "localized": ["ნოზაძე"], + "romanized": ["Nozadze"], "count": 10183 }, { "id": "GE-13", "rank": 13, - "localized": [ - "ხუციშვილი" - ], - "romanized": [ - "Khutsishvili" - ], + "localized": ["ხუციშვილი"], + "romanized": ["Khutsishvili"], "count": 10075 }, { "id": "GE-14", "rank": 14, - "localized": [ - "შენგელია" - ], - "romanized": [ - "Shengelia" - ], + "localized": ["შენგელია"], + "romanized": ["Shengelia"], "count": 9928 }, { "id": "GE-15", "rank": 15, - "localized": [ - "აბულაძე" - ], - "romanized": [ - "Abuladze" - ], + "localized": ["აბულაძე"], + "romanized": ["Abuladze"], "count": 9663 }, { "id": "GE-16", "rank": 16, - "localized": [ - "მიქელაძე" - ], - "romanized": [ - "Mikeladze" - ], + "localized": ["მიქელაძე"], + "romanized": ["Mikeladze"], "count": 9220 }, { "id": "GE-17", "rank": 17, - "localized": [ - "ტაბატაძე" - ], - "romanized": [ - "Tabatadze" - ], + "localized": ["ტაბატაძე"], + "romanized": ["Tabatadze"], "count": 8654 }, { "id": "GE-18", "rank": 18, - "localized": [ - "მჭედლიშვილი" - ], - "romanized": [ - "Mchedlishvili" - ], + "localized": ["მჭედლიშვილი"], + "romanized": ["Mchedlishvili"], "count": 8446 }, { "id": "GE-19", "rank": 19, - "localized": [ - "ბაირამოვი" - ], - "romanized": [ - "Bairamov", - "Bairamovi" - ], + "localized": ["ბაირამოვი"], + "romanized": ["Bairamov", "Bairamovi"], "count": 8373 }, { "id": "GE-20", "rank": 20, - "localized": [ - "გოგოლაძე" - ], - "romanized": [ - "Gogoladze" - ], + "localized": ["გოგოლაძე"], + "romanized": ["Gogoladze"], "count": 8362 } ], @@ -2104,78 +1359,50 @@ { "id": "IN-1", "rank": 1, - "localized": [ - "देवी" - ], - "romanized": [ - "Devi" - ], + "localized": ["देवी"], + "romanized": ["Devi"], "count": null }, { "id": "IN-2", "rank": 2, - "localized": [ - "कुमार" - ], - "romanized": [ - "Kumar" - ], + "localized": ["कुमार"], + "romanized": ["Kumar"], "count": null }, { "id": "IN-3", "rank": 3, - "localized": [ - "सिंह" - ], - "romanized": [ - "Singh" - ], + "localized": ["सिंह"], + "romanized": ["Singh"], "count": null }, { "id": "IN-4", "rank": 4, - "localized": [ - "शर्मा" - ], - "romanized": [ - "Sharma" - ], + "localized": ["शर्मा"], + "romanized": ["Sharma"], "count": null }, { "id": "IN-5", "rank": 5, - "localized": [ - "अली" - ], - "romanized": [ - "Ali" - ], + "localized": ["अली"], + "romanized": ["Ali"], "count": null }, { "id": "IN-6", "rank": 6, - "localized": [ - "यादव" - ], - "romanized": [ - "Yadav" - ], + "localized": ["यादव"], + "romanized": ["Yadav"], "count": null }, { "id": "IN-7", "rank": 7, - "localized": [ - "पटेल" - ], - "romanized": [ - "Patel" - ], + "localized": ["पटेल"], + "romanized": ["Patel"], "count": null } ], @@ -2183,343 +1410,211 @@ { "id": "IL-1", "rank": 1, - "localized": [ - "כהן" - ], - "romanized": [ - "Cohen" - ], + "localized": ["כהן"], + "romanized": ["Cohen"], "count": 180725 }, { "id": "IL-2", "rank": 2, - "localized": [ - "לוי" - ], - "romanized": [ - "Levi", - "Levy" - ], + "localized": ["לוי"], + "romanized": ["Levi", "Levy"], "count": 104876 }, { "id": "IL-3", "rank": 3, - "localized": [ - "מזרחי" - ], - "romanized": [ - "Mizrahi", - "Mizrachi" - ], + "localized": ["מזרחי"], + "romanized": ["Mizrahi", "Mizrachi"], "count": 30901 }, { "id": "IL-4", "rank": 4, - "localized": [ - "פרץ" - ], - "romanized": [ - "Peretz" - ], + "localized": ["פרץ"], + "romanized": ["Peretz"], "count": 29964 }, { "id": "IL-5", "rank": 5, - "localized": [ - "ביטון" - ], - "romanized": [ - "Biton" - ], + "localized": ["ביטון"], + "romanized": ["Biton"], "count": 28092 }, { "id": "IL-6", "rank": 6, - "localized": [ - "דהן" - ], - "romanized": [ - "Dahan" - ], + "localized": ["דהן"], + "romanized": ["Dahan"], "count": 21537 }, { "id": "IL-7", "rank": 7, - "localized": [ - "אברהם" - ], - "romanized": [ - "Avraham" - ], + "localized": ["אברהם"], + "romanized": ["Avraham"], "count": 20600 }, { "id": "IL-8", "rank": 8, - "localized": [ - "פרידמן" - ], - "romanized": [ - "Friedman" - ], + "localized": ["פרידמן"], + "romanized": ["Friedman"], "count": 19664 }, { "id": "IL-9", "rank": 9, - "localized": [ - "מלכה" - ], - "romanized": [ - "Malka", - "Malcah" - ], + "localized": ["מלכה"], + "romanized": ["Malka", "Malcah"], "count": 17791 }, { "id": "IL-10", "rank": 10, - "localized": [ - "אזולאי" - ], - "romanized": [ - "Azoulay" - ], + "localized": ["אזולאי"], + "romanized": ["Azoulay"], "count": 17791 }, { "id": "IL-11", "rank": 11, - "localized": [ - "כץ" - ], - "romanized": [ - "Katz" - ], + "localized": ["כץ"], + "romanized": ["Katz"], "count": 17791 }, { "id": "IL-12", "rank": 12, - "localized": [ - "יוסף" - ], - "romanized": [ - "Yosef" - ], + "localized": ["יוסף"], + "romanized": ["Yosef"], "count": 16855 }, { "id": "IL-13", "rank": 13, - "localized": [ - "דוד" - ], - "romanized": [ - "David" - ], + "localized": ["דוד"], + "romanized": ["David"], "count": 15918 }, { "id": "IL-14", "rank": 14, - "localized": [ - "עמר" - ], - "romanized": [ - "Amar", - "Omer" - ], + "localized": ["עמר"], + "romanized": ["Amar", "Omer"], "count": 15918 }, { "id": "IL-15", "rank": 15, - "localized": [ - "אוחיון" - ], - "romanized": [ - "Ochion", - "Ohayon" - ], + "localized": ["אוחיון"], + "romanized": ["Ochion", "Ohayon"], "count": 14982 }, { "id": "IL-16", "rank": 16, - "localized": [ - "חדד" - ], - "romanized": [ - "Hadad", - "Chadad" - ], + "localized": ["חדד"], + "romanized": ["Hadad", "Chadad"], "count": 14982 }, { "id": "IL-17", "rank": 17, - "localized": [ - "גבאי" - ], - "romanized": [ - "Gabai" - ], + "localized": ["גבאי"], + "romanized": ["Gabai"], "count": 14982 }, { "id": "IL-18", "rank": 18, - "localized": [ - "בן דוד" - ], - "romanized": [ - "Ben-David" - ], + "localized": ["בן דוד"], + "romanized": ["Ben-David"], "count": 13109 }, { "id": "IL-19", "rank": 19, - "localized": [ - "אדרי" - ], - "romanized": [ - "Edri", - "Edry", - "Adrei", - "Adary" - ], + "localized": ["אדרי"], + "romanized": ["Edri", "Edry", "Adrei", "Adary"], "count": 13109 }, { "id": "IL-20", "rank": 20, - "localized": [ - "לוין" - ], - "romanized": [ - "Levin" - ], + "localized": ["לוין"], + "romanized": ["Levin"], "count": 13109 }, { "id": "IL-21", "rank": 21, - "localized": [ - "טל" - ], - "romanized": [ - "Tal" - ], + "localized": ["טל"], + "romanized": ["Tal"], "count": 12173 }, { "id": "IL-22", "rank": 22, - "localized": [ - "קליין" - ], - "romanized": [ - "Klein" - ], + "localized": ["קליין"], + "romanized": ["Klein"], "count": 12173 }, { "id": "IL-23", "rank": 23, - "localized": [ - "חן" - ], - "romanized": [ - "Chen", - "Khen" - ], + "localized": ["חן"], + "romanized": ["Chen", "Khen"], "count": 12173 }, { "id": "IL-24", "rank": 24, - "localized": [ - "שפירא" - ], - "romanized": [ - "Shapira" - ], + "localized": ["שפירא"], + "romanized": ["Shapira"], "count": 12173 }, { "id": "IL-25", "rank": 25, - "localized": [ - "חזן" - ], - "romanized": [ - "Chazan", - "Hazan" - ], + "localized": ["חזן"], + "romanized": ["Chazan", "Hazan"], "count": 12173 }, { "id": "IL-26", "rank": 26, - "localized": [ - "משה" - ], - "romanized": [ - "Moshe" - ], + "localized": ["משה"], + "romanized": ["Moshe"], "count": 12173 }, { "id": "IL-27", "rank": 27, - "localized": [ - "אשכנזי" - ], - "romanized": [ - "Ashkenazi" - ], + "localized": ["אשכנזי"], + "romanized": ["Ashkenazi"], "count": 11236 }, { "id": "IL-28", "rank": 28, - "localized": [ - "אוחנה" - ], - "romanized": [ - "Ohana" - ], + "localized": ["אוחנה"], + "romanized": ["Ohana"], "count": 11236 }, { "id": "IL-29", "rank": 29, - "localized": [ - "סגל" - ], - "romanized": [ - "Segal", - "Segel" - ], + "localized": ["סגל"], + "romanized": ["Segal", "Segel"], "count": 11236 }, { "id": "IL-30", "rank": 30, - "localized": [ - "גולן" - ], - "romanized": [ - "Golan" - ], + "localized": ["גולן"], + "romanized": ["Golan"], "count": 11236 } ], @@ -2527,1113 +1622,701 @@ { "id": "JP-1", "rank": 1, - "localized": [ - "佐藤" - ], - "romanized": [ - "Satō" - ], + "localized": ["佐藤"], + "romanized": ["Satō"], "count": 1990000 }, { "id": "JP-2", "rank": 2, - "localized": [ - "鈴木" - ], - "romanized": [ - "Suzuki" - ], + "localized": ["鈴木"], + "romanized": ["Suzuki"], "count": 1900000 }, { "id": "JP-3", "rank": 3, - "localized": [ - "高橋" - ], - "romanized": [ - "Takahashi" - ], + "localized": ["高橋"], + "romanized": ["Takahashi"], "count": 1470000 }, { "id": "JP-4", "rank": 4, - "localized": [ - "田中" - ], - "romanized": [ - "Tanaka" - ], + "localized": ["田中"], + "romanized": ["Tanaka"], "count": 1340000 }, { "id": "JP-5", "rank": 5, - "localized": [ - "渡辺" - ], - "romanized": [ - "Watanabe" - ], + "localized": ["渡辺"], + "romanized": ["Watanabe"], "count": 1200000 }, { "id": "JP-6", "rank": 6, - "localized": [ - "伊藤" - ], - "romanized": [ - "Itō" - ], + "localized": ["伊藤"], + "romanized": ["Itō"], "count": 1150000 }, { "id": "JP-7", "rank": 7, - "localized": [ - "中村" - ], - "romanized": [ - "Nakamura" - ], + "localized": ["中村"], + "romanized": ["Nakamura"], "count": 1080000 }, { "id": "JP-8", "rank": 8, - "localized": [ - "小林" - ], - "romanized": [ - "Kobayashi" - ], + "localized": ["小林"], + "romanized": ["Kobayashi"], "count": 1060000 }, { "id": "JP-9", "rank": 9, - "localized": [ - "山本" - ], - "romanized": [ - "Yamamoto" - ], + "localized": ["山本"], + "romanized": ["Yamamoto"], "count": 1020000 }, { "id": "JP-10", "rank": 10, - "localized": [ - "加藤" - ], - "romanized": [ - "Katō" - ], + "localized": ["加藤"], + "romanized": ["Katō"], "count": 920000 }, { "id": "JP-11", "rank": 11, - "localized": [ - "吉田" - ], - "romanized": [ - "Yoshida" - ], + "localized": ["吉田"], + "romanized": ["Yoshida"], "count": 850000 }, { "id": "JP-12", "rank": 12, - "localized": [ - "山田" - ], - "romanized": [ - "Yamada" - ], + "localized": ["山田"], + "romanized": ["Yamada"], "count": 820000 }, { "id": "JP-13", "rank": 13, - "localized": [ - "佐々木" - ], - "romanized": [ - "Sasaki" - ], + "localized": ["佐々木"], + "romanized": ["Sasaki"], "count": 710000 }, { "id": "JP-14", "rank": 14, - "localized": [ - "山口" - ], - "romanized": [ - "Yamaguchi" - ], + "localized": ["山口"], + "romanized": ["Yamaguchi"], "count": 640000 }, { "id": "JP-15", "rank": 15, - "localized": [ - "松本" - ], - "romanized": [ - "Matsumoto" - ], + "localized": ["松本"], + "romanized": ["Matsumoto"], "count": 630000 }, { "id": "JP-16", "rank": 16, - "localized": [ - "井上" - ], - "romanized": [ - "Inoue" - ], + "localized": ["井上"], + "romanized": ["Inoue"], "count": 600000 }, { "id": "JP-17", "rank": 17, - "localized": [ - "木村" - ], - "romanized": [ - "Kimura" - ], + "localized": ["木村"], + "romanized": ["Kimura"], "count": 580000 }, { "id": "JP-18", "rank": 18, - "localized": [ - "清水" - ], - "romanized": [ - "Shimizu" - ], + "localized": ["清水"], + "romanized": ["Shimizu"], "count": 560000 }, { "id": "JP-19", "rank": 19, - "localized": [ - "林" - ], - "romanized": [ - "Hayashi" - ], + "localized": ["林"], + "romanized": ["Hayashi"], "count": 550000 }, { "id": "JP-20", "rank": 20, - "localized": [ - "斉藤" - ], - "romanized": [ - "Saitō" - ], + "localized": ["斉藤"], + "romanized": ["Saitō"], "count": 530000 }, { "id": "JP-21", "rank": 21, - "localized": [ - "斎藤" - ], - "romanized": [ - "Saitō" - ], + "localized": ["斎藤"], + "romanized": ["Saitō"], "count": 520000 }, { "id": "JP-22", "rank": 22, - "localized": [ - "山崎" - ], - "romanized": [ - "Yamasaki", - "Yamazaki" - ], + "localized": ["山崎"], + "romanized": ["Yamasaki", "Yamazaki"], "count": 490000 }, { "id": "JP-23", "rank": 23, - "localized": [ - "中島" - ], - "romanized": [ - "Nakajima", - "Nakashima" - ], + "localized": ["中島"], + "romanized": ["Nakajima", "Nakashima"], "count": 480000 }, { "id": "JP-24", "rank": 24, - "localized": [ - "森" - ], - "romanized": [ - "Mori" - ], + "localized": ["森"], + "romanized": ["Mori"], "count": 470000 }, { "id": "JP-25", "rank": 25, - "localized": [ - "阿部" - ], - "romanized": [ - "Abe" - ], + "localized": ["阿部"], + "romanized": ["Abe"], "count": 470000 }, { "id": "JP-26", "rank": 26, - "localized": [ - "池田" - ], - "romanized": [ - "Ikeda" - ], + "localized": ["池田"], + "romanized": ["Ikeda"], "count": 450000 }, { "id": "JP-27", "rank": 27, - "localized": [ - "橋本" - ], - "romanized": [ - "Hashimoto" - ], + "localized": ["橋本"], + "romanized": ["Hashimoto"], "count": 450000 }, { "id": "JP-28", "rank": 28, - "localized": [ - "石川" - ], - "romanized": [ - "Ishikawa" - ], + "localized": ["石川"], + "romanized": ["Ishikawa"], "count": 440000 }, { "id": "JP-29", "rank": 29, - "localized": [ - "山下" - ], - "romanized": [ - "Yamashita" - ], + "localized": ["山下"], + "romanized": ["Yamashita"], "count": 410000 }, { "id": "JP-30", "rank": 30, - "localized": [ - "小川" - ], - "romanized": [ - "Ogawa" - ], + "localized": ["小川"], + "romanized": ["Ogawa"], "count": 410000 }, { "id": "JP-31", "rank": 31, - "localized": [ - "石井" - ], - "romanized": [ - "Ishii" - ], + "localized": ["石井"], + "romanized": ["Ishii"], "count": 400000 }, { "id": "JP-32", "rank": 32, - "localized": [ - "長谷川" - ], - "romanized": [ - "Hasegawa" - ], + "localized": ["長谷川"], + "romanized": ["Hasegawa"], "count": 390000 }, { "id": "JP-33", "rank": 33, - "localized": [ - "後藤" - ], - "romanized": [ - "Gotō" - ], + "localized": ["後藤"], + "romanized": ["Gotō"], "count": 390000 }, { "id": "JP-34", "rank": 34, - "localized": [ - "岡田" - ], - "romanized": [ - "Okada" - ], + "localized": ["岡田"], + "romanized": ["Okada"], "count": 380000 }, { "id": "JP-35", "rank": 35, - "localized": [ - "近藤" - ], - "romanized": [ - "Kondō" - ], + "localized": ["近藤"], + "romanized": ["Kondō"], "count": 370000 }, { "id": "JP-36", "rank": 36, - "localized": [ - "前田" - ], - "romanized": [ - "Maeda" - ], + "localized": ["前田"], + "romanized": ["Maeda"], "count": 370000 }, { "id": "JP-37", "rank": 37, - "localized": [ - "藤田" - ], - "romanized": [ - "Fujita" - ], + "localized": ["藤田"], + "romanized": ["Fujita"], "count": 370000 }, { "id": "JP-38", "rank": 38, - "localized": [ - "遠藤" - ], - "romanized": [ - "Endō" - ], + "localized": ["遠藤"], + "romanized": ["Endō"], "count": 360000 }, { "id": "JP-39", "rank": 39, - "localized": [ - "青木" - ], - "romanized": [ - "Aoki" - ], + "localized": ["青木"], + "romanized": ["Aoki"], "count": 350000 }, { "id": "JP-40", "rank": 40, - "localized": [ - "坂本" - ], - "romanized": [ - "Sakamoto" - ], + "localized": ["坂本"], + "romanized": ["Sakamoto"], "count": 350000 }, { "id": "JP-41", "rank": 41, - "localized": [ - "村上" - ], - "romanized": [ - "Murakami" - ], + "localized": ["村上"], + "romanized": ["Murakami"], "count": 340000 }, { "id": "JP-42", "rank": 42, - "localized": [ - "太田" - ], - "romanized": [ - "Ōta" - ], + "localized": ["太田"], + "romanized": ["Ōta"], "count": 320000 }, { "id": "JP-43", "rank": 43, - "localized": [ - "金子" - ], - "romanized": [ - "Kaneko" - ], + "localized": ["金子"], + "romanized": ["Kaneko"], "count": 310000 }, { "id": "JP-44", "rank": 44, - "localized": [ - "藤井" - ], - "romanized": [ - "Fujii" - ], + "localized": ["藤井"], + "romanized": ["Fujii"], "count": 310000 }, { "id": "JP-45", "rank": 45, - "localized": [ - "福田" - ], - "romanized": [ - "Fukuda" - ], + "localized": ["福田"], + "romanized": ["Fukuda"], "count": 300000 }, { "id": "JP-46", "rank": 46, - "localized": [ - "西村" - ], - "romanized": [ - "Nishimura" - ], + "localized": ["西村"], + "romanized": ["Nishimura"], "count": 300000 }, { "id": "JP-47", "rank": 47, - "localized": [ - "三浦" - ], - "romanized": [ - "Miura" - ], + "localized": ["三浦"], + "romanized": ["Miura"], "count": 300000 }, { "id": "JP-48", "rank": 48, - "localized": [ - "竹内" - ], - "romanized": [ - "Takeuchi" - ], + "localized": ["竹内"], + "romanized": ["Takeuchi"], "count": 290000 }, { "id": "JP-49", "rank": 49, - "localized": [ - "中川" - ], - "romanized": [ - "Nakagawa" - ], + "localized": ["中川"], + "romanized": ["Nakagawa"], "count": 290000 }, { "id": "JP-50", "rank": 50, - "localized": [ - "岡本" - ], - "romanized": [ - "Okamoto" - ], + "localized": ["岡本"], + "romanized": ["Okamoto"], "count": 290000 }, { "id": "JP-51", "rank": 51, - "localized": [ - "松田" - ], - "romanized": [ - "Matsuda" - ], + "localized": ["松田"], + "romanized": ["Matsuda"], "count": 290000 }, { "id": "JP-52", "rank": 52, - "localized": [ - "原田" - ], - "romanized": [ - "Harada" - ], + "localized": ["原田"], + "romanized": ["Harada"], "count": 290000 }, { "id": "JP-53", "rank": 53, - "localized": [ - "中野" - ], - "romanized": [ - "Nakano" - ], + "localized": ["中野"], + "romanized": ["Nakano"], "count": 290000 }, { "id": "JP-54", "rank": 54, - "localized": [ - "小野" - ], - "romanized": [ - "Ono" - ], + "localized": ["小野"], + "romanized": ["Ono"], "count": 280000 }, { "id": "JP-55", "rank": 55, - "localized": [ - "田村" - ], - "romanized": [ - "Tamura" - ], + "localized": ["田村"], + "romanized": ["Tamura"], "count": 280000 }, { "id": "JP-56", "rank": 56, - "localized": [ - "藤原" - ], - "romanized": [ - "Fujiwara", - "Fujihara" - ], + "localized": ["藤原"], + "romanized": ["Fujiwara", "Fujihara"], "count": 270000 }, { "id": "JP-57", "rank": 57, - "localized": [ - "中山" - ], - "romanized": [ - "Nakayama" - ], + "localized": ["中山"], + "romanized": ["Nakayama"], "count": 270000 }, { "id": "JP-58", "rank": 58, - "localized": [ - "石田" - ], - "romanized": [ - "Ishida" - ], + "localized": ["石田"], + "romanized": ["Ishida"], "count": 270000 }, { "id": "JP-59", "rank": 59, - "localized": [ - "小島" - ], - "romanized": [ - "Kojima" - ], + "localized": ["小島"], + "romanized": ["Kojima"], "count": 260000 }, { "id": "JP-60", "rank": 60, - "localized": [ - "和田" - ], - "romanized": [ - "Wada" - ], + "localized": ["和田"], + "romanized": ["Wada"], "count": 260000 }, { "id": "JP-61", "rank": 61, - "localized": [ - "森田" - ], - "romanized": [ - "Morita" - ], + "localized": ["森田"], + "romanized": ["Morita"], "count": 250000 }, { "id": "JP-62", "rank": 62, - "localized": [ - "内田" - ], - "romanized": [ - "Uchida" - ], + "localized": ["内田"], + "romanized": ["Uchida"], "count": 250000 }, { "id": "JP-63", "rank": 63, - "localized": [ - "柴田" - ], - "romanized": [ - "Shibata" - ], + "localized": ["柴田"], + "romanized": ["Shibata"], "count": 250000 }, { "id": "JP-64", "rank": 64, - "localized": [ - "酒井" - ], - "romanized": [ - "Sakai" - ], + "localized": ["酒井"], + "romanized": ["Sakai"], "count": 240000 }, { "id": "JP-65", "rank": 65, - "localized": [ - "原" - ], - "romanized": [ - "Hara" - ], + "localized": ["原"], + "romanized": ["Hara"], "count": 240000 }, { "id": "JP-66", "rank": 66, - "localized": [ - "高木" - ], - "romanized": [ - "Takagi", - "Takaki" - ], + "localized": ["高木"], + "romanized": ["Takagi", "Takaki"], "count": 240000 }, { "id": "JP-67", "rank": 67, - "localized": [ - "横山" - ], - "romanized": [ - "Yokoyama" - ], + "localized": ["横山"], + "romanized": ["Yokoyama"], "count": 240000 }, { "id": "JP-68", "rank": 68, - "localized": [ - "安藤" - ], - "romanized": [ - "Andō" - ], + "localized": ["安藤"], + "romanized": ["Andō"], "count": 240000 }, { "id": "JP-69", "rank": 69, - "localized": [ - "宮崎" - ], - "romanized": [ - "Miyazaki", - "Miyasaki" - ], + "localized": ["宮崎"], + "romanized": ["Miyazaki", "Miyasaki"], "count": 240000 }, { "id": "JP-70", "rank": 70, - "localized": [ - "上田" - ], - "romanized": [ - "Ueta", - "Ueda" - ], + "localized": ["上田"], + "romanized": ["Ueta", "Ueda"], "count": 240000 }, { "id": "JP-71", "rank": 71, - "localized": [ - "島田" - ], - "romanized": [ - "Shimada" - ], + "localized": ["島田"], + "romanized": ["Shimada"], "count": 230000 }, { "id": "JP-72", "rank": 72, - "localized": [ - "工藤" - ], - "romanized": [ - "Kudō" - ], + "localized": ["工藤"], + "romanized": ["Kudō"], "count": 230000 }, { "id": "JP-73", "rank": 73, - "localized": [ - "大野" - ], - "romanized": [ - "Ōno" - ], + "localized": ["大野"], + "romanized": ["Ōno"], "count": 220000 }, { "id": "JP-74", "rank": 74, - "localized": [ - "宮本" - ], - "romanized": [ - "Miyamoto" - ], + "localized": ["宮本"], + "romanized": ["Miyamoto"], "count": 220000 }, { "id": "JP-75", "rank": 75, - "localized": [ - "杉山" - ], - "romanized": [ - "Sugiyama" - ], + "localized": ["杉山"], + "romanized": ["Sugiyama"], "count": 220000 }, { "id": "JP-76", "rank": 76, - "localized": [ - "今井" - ], - "romanized": [ - "Imai" - ], + "localized": ["今井"], + "romanized": ["Imai"], "count": 220000 }, { "id": "JP-77", "rank": 77, - "localized": [ - "丸山" - ], - "romanized": [ - "Maruyama" - ], + "localized": ["丸山"], + "romanized": ["Maruyama"], "count": 210000 }, { "id": "JP-78", "rank": 78, - "localized": [ - "増田" - ], - "romanized": [ - "Masuda" - ], + "localized": ["増田"], + "romanized": ["Masuda"], "count": 210000 }, { "id": "JP-79", "rank": 79, - "localized": [ - "高田" - ], - "romanized": [ - "Takata", - "Takada" - ], + "localized": ["高田"], + "romanized": ["Takata", "Takada"], "count": 210000 }, { "id": "JP-80", "rank": 80, - "localized": [ - "村田" - ], - "romanized": [ - "Murata" - ], + "localized": ["村田"], + "romanized": ["Murata"], "count": 210000 }, { "id": "JP-81", "rank": 81, - "localized": [ - "平野" - ], - "romanized": [ - "Hirano" - ], + "localized": ["平野"], + "romanized": ["Hirano"], "count": 210000 }, { "id": "JP-82", "rank": 82, - "localized": [ - "大塚" - ], - "romanized": [ - "Ōtsuka" - ], + "localized": ["大塚"], + "romanized": ["Ōtsuka"], "count": 210000 }, { "id": "JP-83", "rank": 83, - "localized": [ - "菅原" - ], - "romanized": [ - "Sugahara", - "Sugawara" - ], + "localized": ["菅原"], + "romanized": ["Sugahara", "Sugawara"], "count": 210000 }, { "id": "JP-84", "rank": 84, - "localized": [ - "武田" - ], - "romanized": [ - "Taketa", - "Takeda" - ], + "localized": ["武田"], + "romanized": ["Taketa", "Takeda"], "count": 200000 }, { "id": "JP-85", "rank": 85, - "localized": [ - "新井" - ], - "romanized": [ - "Arai" - ], + "localized": ["新井"], + "romanized": ["Arai"], "count": 200000 }, { "id": "JP-86", "rank": 86, - "localized": [ - "小山" - ], - "romanized": [ - "Koyama", - "Oyama" - ], + "localized": ["小山"], + "romanized": ["Koyama", "Oyama"], "count": 200000 }, { "id": "JP-87", "rank": 87, - "localized": [ - "野口" - ], - "romanized": [ - "Noguchi" - ], + "localized": ["野口"], + "romanized": ["Noguchi"], "count": 200000 }, { "id": "JP-88", "rank": 88, - "localized": [ - "桜井" - ], - "romanized": [ - "Sakurai" - ], + "localized": ["桜井"], + "romanized": ["Sakurai"], "count": 200000 }, { "id": "JP-89", "rank": 89, - "localized": [ - "千葉" - ], - "romanized": [ - "Chiba" - ], + "localized": ["千葉"], + "romanized": ["Chiba"], "count": 200000 }, { "id": "JP-90", "rank": 90, - "localized": [ - "岩崎" - ], - "romanized": [ - "Iwasaki" - ], + "localized": ["岩崎"], + "romanized": ["Iwasaki"], "count": 200000 }, { "id": "JP-91", "rank": 91, - "localized": [ - "佐野" - ], - "romanized": [ - "Sano" - ], + "localized": ["佐野"], + "romanized": ["Sano"], "count": 200000 }, { "id": "JP-92", "rank": 92, - "localized": [ - "谷口" - ], - "romanized": [ - "Taniguchi" - ], + "localized": ["谷口"], + "romanized": ["Taniguchi"], "count": 200000 }, { "id": "JP-93", "rank": 93, - "localized": [ - "上野" - ], - "romanized": [ - "Ueno" - ], + "localized": ["上野"], + "romanized": ["Ueno"], "count": 200000 }, { "id": "JP-94", "rank": 94, - "localized": [ - "松井" - ], - "romanized": [ - "Matsui" - ], + "localized": ["松井"], + "romanized": ["Matsui"], "count": 190000 }, { "id": "JP-95", "rank": 95, - "localized": [ - "河野" - ], - "romanized": [ - "Kōno", - "Kawano" - ], + "localized": ["河野"], + "romanized": ["Kōno", "Kawano"], "count": 190000 }, { "id": "JP-96", "rank": 96, - "localized": [ - "市川" - ], - "romanized": [ - "Ichikawa" - ], + "localized": ["市川"], + "romanized": ["Ichikawa"], "count": 190000 }, { "id": "JP-97", "rank": 97, - "localized": [ - "渡部" - ], - "romanized": [ - "Watanabe", - "Watabe" - ], + "localized": ["渡部"], + "romanized": ["Watanabe", "Watabe"], "count": 190000 }, { "id": "JP-98", "rank": 98, - "localized": [ - "野村" - ], - "romanized": [ - "Nomura" - ], + "localized": ["野村"], + "romanized": ["Nomura"], "count": 180000 }, { "id": "JP-99", "rank": 99, - "localized": [ - "菊地" - ], - "romanized": [ - "Kikuchi" - ], + "localized": ["菊地"], + "romanized": ["Kikuchi"], "count": 180000 }, { "id": "JP-100", "rank": 100, - "localized": [ - "木下" - ], - "romanized": [ - "Kinoshita" - ], + "localized": ["木下"], + "romanized": ["Kinoshita"], "count": 180000 } ], @@ -3641,364 +2324,232 @@ { "id": "KZ-1", "rank": 1, - "localized": [ - "Ахметов" - ], - "romanized": [ - "Ahmetov" - ], + "localized": ["Ахметов"], + "romanized": ["Ahmetov"], "count": 73627 }, { "id": "KZ-2", "rank": 2, - "localized": [ - "Омаров" - ], - "romanized": [ - "Omarov" - ], + "localized": ["Омаров"], + "romanized": ["Omarov"], "count": 45123 }, { "id": "KZ-3", "rank": 3, - "localized": [ - "Ким" - ], - "romanized": [ - "Kim" - ], + "localized": ["Ким"], + "romanized": ["Kim"], "count": 42274 }, { "id": "KZ-4", "rank": 4, - "localized": [ - "Оспанов" - ], - "romanized": [ - "Ospanov" - ], + "localized": ["Оспанов"], + "romanized": ["Ospanov"], "count": 41068 }, { "id": "KZ-5", "rank": 5, - "localized": [ - "Иванов" - ], - "romanized": [ - "Ivanov" - ], + "localized": ["Иванов"], + "romanized": ["Ivanov"], "count": 39296 }, { "id": "KZ-6", "rank": 6, - "localized": [ - "Алиев" - ], - "romanized": [ - "Aliev" - ], + "localized": ["Алиев"], + "romanized": ["Aliev"], "count": 36084 }, { "id": "KZ-7", "rank": 7, - "localized": [ - "Сулейменов" - ], - "romanized": [ - "Suleimenov" - ], + "localized": ["Сулейменов"], + "romanized": ["Suleimenov"], "count": 33940 }, { "id": "KZ-8", "rank": 8, - "localized": [ - "Искаков" - ], - "romanized": [ - "Iskakov" - ], + "localized": ["Искаков"], + "romanized": ["Iskakov"], "count": 31988 }, { "id": "KZ-9", "rank": 9, - "localized": [ - "Абдрахманов" - ], - "romanized": [ - "Abdrahmanov" - ], + "localized": ["Абдрахманов"], + "romanized": ["Abdrahmanov"], "count": 29091 }, { "id": "KZ-10", "rank": 10, - "localized": [ - "Ибрагимов" - ], - "romanized": [ - "Ibragimov" - ], + "localized": ["Ибрагимов"], + "romanized": ["Ibragimov"], "count": 28755 }, { "id": "KZ-11", "rank": 11, - "localized": [ - "Калиев" - ], - "romanized": [ - "Kaliev" - ], + "localized": ["Калиев"], + "romanized": ["Kaliev"], "count": 28219 }, { "id": "KZ-12", "rank": 12, - "localized": [ - "Садыков" - ], - "romanized": [ - "Sadykov" - ], + "localized": ["Садыков"], + "romanized": ["Sadykov"], "count": 27810 }, { "id": "KZ-13", "rank": 13, - "localized": [ - "Ибраев" - ], - "romanized": [ - "Ibraev" - ], + "localized": ["Ибраев"], + "romanized": ["Ibraev"], "count": 26531 }, { "id": "KZ-14", "rank": 14, - "localized": [ - "Кузнецов" - ], - "romanized": [ - "Kuznetsov" - ], + "localized": ["Кузнецов"], + "romanized": ["Kuznetsov"], "count": 25990 }, { "id": "KZ-15", "rank": 15, - "localized": [ - "Попов" - ], - "romanized": [ - "Popov" - ], + "localized": ["Попов"], + "romanized": ["Popov"], "count": 24956 }, { "id": "KZ-16", "rank": 16, - "localized": [ - "Смагулов" - ], - "romanized": [ - "Smagulov" - ], + "localized": ["Смагулов"], + "romanized": ["Smagulov"], "count": 24005 }, { "id": "KZ-17", "rank": 17, - "localized": [ - "Абдуллаев" - ], - "romanized": [ - "Abdullaev" - ], + "localized": ["Абдуллаев"], + "romanized": ["Abdullaev"], "count": 23729 }, { "id": "KZ-18", "rank": 18, - "localized": [ - "Исаев" - ], - "romanized": [ - "Isaev" - ], + "localized": ["Исаев"], + "romanized": ["Isaev"], "count": 22910 }, { "id": "KZ-19", "rank": 19, - "localized": [ - "Султанов" - ], - "romanized": [ - "Sultanov" - ], + "localized": ["Султанов"], + "romanized": ["Sultanov"], "count": 22808 }, { "id": "KZ-22", "rank": 22, - "localized": [ - "Юсупов" - ], - "romanized": [ - "Iusupov" - ], + "localized": ["Юсупов"], + "romanized": ["Iusupov"], "count": 22763 }, { "id": "KZ-21", "rank": 21, - "localized": [ - "Исмаилов" - ], - "romanized": [ - "Ismailov" - ], + "localized": ["Исмаилов"], + "romanized": ["Ismailov"], "count": 21392 }, { "id": "KZ-22", "rank": 22, - "localized": [ - "Нургалиев" - ], - "romanized": [ - "Nurgaliev" - ], + "localized": ["Нургалиев"], + "romanized": ["Nurgaliev"], "count": 21133 }, { "id": "KZ-23", "rank": 23, - "localized": [ - "Каримов" - ], - "romanized": [ - "Karimov" - ], + "localized": ["Каримов"], + "romanized": ["Karimov"], "count": 20575 }, { "id": "KZ-24", "rank": 24, - "localized": [ - "Серік" - ], - "romanized": [ - "Серик" - ], + "localized": ["Серік"], + "romanized": ["Серик"], "count": 19550 }, { "id": "KZ-25", "rank": 25, - "localized": [ - "Ли" - ], - "romanized": [ - "Li" - ], + "localized": ["Ли"], + "romanized": ["Li"], "count": 17049 }, { "id": "KZ-26", "rank": 26, - "localized": [ - "Цой" - ], - "romanized": [ - "Tsoi" - ], + "localized": ["Цой"], + "romanized": ["Tsoi"], "count": 12088 }, { "id": "KZ-27", "rank": 27, - "localized": [ - "Амангельды" - ], - "romanized": [ - "Amangeldy" - ], + "localized": ["Амангельды"], + "romanized": ["Amangeldy"], "count": 15125 }, { "id": "KZ-28", "rank": 28, - "localized": [ - "Болат" - ], - "romanized": [ - "Bolat" - ], + "localized": ["Болат"], + "romanized": ["Bolat"], "count": 11234 }, { "id": "KZ-29", "rank": 29, - "localized": [ - "Бондаренко" - ], - "romanized": [ - "Bondarenko" - ], + "localized": ["Бондаренко"], + "romanized": ["Bondarenko"], "count": 10648 }, { "id": "KZ-30", "rank": 30, - "localized": [ - "Марат" - ], - "romanized": [ - "Marat" - ], + "localized": ["Марат"], + "romanized": ["Marat"], "count": 10417 }, { "id": "KZ-31", "rank": 31, - "localized": [ - "Серікбай" - ], - "romanized": [ - "Серикбай" - ], + "localized": ["Серікбай"], + "romanized": ["Серикбай"], "count": 10193 }, { "id": "KZ-32", "rank": 32, - "localized": [ - "Мурат" - ], - "romanized": [ - "Murat" - ], + "localized": ["Мурат"], + "romanized": ["Murat"], "count": 10106 }, { "id": "KZ-33", "rank": 33, - "localized": [ - "Кусаинов" - ], - "romanized": [ - "Kusainov" - ], + "localized": ["Кусаинов"], + "romanized": ["Kusainov"], "count": 10103 } ], @@ -4006,704 +2557,351 @@ { "id": "KR-1", "rank": 1, - "localized": [ - "金", - "김" - ], - "romanized": [ - "Gim", - "Kim", - "Ghim" - ], + "localized": ["金", "김"], + "romanized": ["Gim", "Kim", "Ghim"], "count": null }, { "id": "KR-2", "rank": 2, - "localized": [ - "리", - "李", - "이" - ], - "romanized": [ - "Yi", - "Lee", - "Rhee" - ], + "localized": ["리", "李", "이"], + "romanized": ["Yi", "Lee", "Rhee"], "count": null }, { "id": "KR-3", "rank": 3, - "localized": [ - "朴", - "박" - ], - "romanized": [ - "Pak", - "Bak", - "Park" - ], + "localized": ["朴", "박"], + "romanized": ["Pak", "Bak", "Park"], "count": null }, { "id": "KR-4", "rank": 4, - "localized": [ - "崔", - "최" - ], - "romanized": [ - "Choy", - "Choe", - "Joy", - "Choi" - ], + "localized": ["崔", "최"], + "romanized": ["Choy", "Choe", "Joy", "Choi"], "count": null }, { "id": "KR-5", "rank": 5, - "localized": [ - "鄭", - "정" - ], - "romanized": [ - "Young", - "Jung", - "Chung", - "Cheong", - "Jeong" - ], + "localized": ["鄭", "정"], + "romanized": ["Young", "Jung", "Chung", "Cheong", "Jeong"], "count": null }, { "id": "KR-6", "rank": 6, - "localized": [ - "姜", - "강" - ], - "romanized": [ - "Gang", - "Kang", - "Ghang" - ], + "localized": ["姜", "강"], + "romanized": ["Gang", "Kang", "Ghang"], "count": null }, { "id": "KR-7", "rank": 7, - "localized": [ - "조", - "趙" - ], - "romanized": [ - "Jo", - "Cho", - "Joe" - ], + "localized": ["조", "趙"], + "romanized": ["Jo", "Cho", "Joe"], "count": null }, { "id": "KR-8", "rank": 8, - "localized": [ - "윤", - "尹" - ], - "romanized": [ - "Yoon", - "Yun", - "Youn" - ], + "localized": ["윤", "尹"], + "romanized": ["Yoon", "Yun", "Youn"], "count": null }, { "id": "KR-9", "rank": 9, - "localized": [ - "張", - "장" - ], - "romanized": [ - "Jang", - "Chang" - ], + "localized": ["張", "장"], + "romanized": ["Jang", "Chang"], "count": null }, { "id": "KR-10", "rank": 10, - "localized": [ - "임", - "림", - "林" - ], - "romanized": [ - "Rim", - "Im", - "Lim", - "Rhim" - ], + "localized": ["임", "림", "林"], + "romanized": ["Rim", "Im", "Lim", "Rhim"], "count": null }, { "id": "KR-11", "rank": 11, - "localized": [ - "韓", - "한" - ], - "romanized": [ - "Han" - ], + "localized": ["韓", "한"], + "romanized": ["Han"], "count": null }, { "id": "KR-12", "rank": 12, - "localized": [ - "吳", - "오" - ], - "romanized": [ - "Oh", - "O" - ], + "localized": ["吳", "오"], + "romanized": ["Oh", "O"], "count": null }, { "id": "KR-13", "rank": 13, - "localized": [ - "徐", - "서" - ], - "romanized": [ - "Seoh", - "Suh", - "Seo" - ], + "localized": ["徐", "서"], + "romanized": ["Seoh", "Suh", "Seo"], "count": null }, { "id": "KR-14", "rank": 14, - "localized": [ - "申", - "신" - ], - "romanized": [ - "Shin", - "Sin" - ], + "localized": ["申", "신"], + "romanized": ["Shin", "Sin"], "count": null }, { "id": "KR-15", "rank": 15, - "localized": [ - "權", - "권" - ], - "romanized": [ - "Gwon", - "Kuen", - "Kwon" - ], + "localized": ["權", "권"], + "romanized": ["Gwon", "Kuen", "Kwon"], "count": null }, { "id": "KR-16", "rank": 16, - "localized": [ - "黃", - "황" - ], - "romanized": [ - "Hwang", - "Huang" - ], + "localized": ["黃", "황"], + "romanized": ["Hwang", "Huang"], "count": null }, { "id": "KR-17", "rank": 17, - "localized": [ - "안", - "安" - ], - "romanized": [ - "An", - "Ahn" - ], + "localized": ["안", "安"], + "romanized": ["An", "Ahn"], "count": null }, { "id": "KR-18", "rank": 18, - "localized": [ - "宋", - "송" - ], - "romanized": [ - "Song" - ], + "localized": ["宋", "송"], + "romanized": ["Song"], "count": null }, { "id": "KR-19", "rank": 19, - "localized": [ - "柳", - "류", - "유" - ], - "romanized": [ - "Yu", - "Ryoo", - "Yoo", - "Ryu" - ], + "localized": ["柳", "류", "유"], + "romanized": ["Yu", "Ryoo", "Yoo", "Ryu"], "count": null }, { "id": "KR-20", "rank": 20, - "localized": [ - "全", - "전" - ], - "romanized": [ - "Cheon", - "Jun", - "Chun", - "Jeon" - ], + "localized": ["全", "전"], + "romanized": ["Cheon", "Jun", "Chun", "Jeon"], "count": null }, { "id": "KR-21", "rank": 21, - "localized": [ - "洪", - "홍" - ], - "romanized": [ - "Hong" - ], + "localized": ["洪", "홍"], + "romanized": ["Hong"], "count": null }, { "id": "KR-22", "rank": 22, - "localized": [ - "高", - "고" - ], - "romanized": [ - "Koh", - "Goh", - "Go", - "Ko" - ], + "localized": ["高", "고"], + "romanized": ["Koh", "Goh", "Go", "Ko"], "count": null }, { "id": "KR-23", "rank": 23, - "localized": [ - "문", - "文" - ], - "romanized": [ - "Mon", - "Munn", - "Mun", - "Moon" - ], + "localized": ["문", "文"], + "romanized": ["Mon", "Munn", "Mun", "Moon"], "count": null }, { "id": "KR-24", "rank": 24, - "localized": [ - "량", - "양", - "梁" - ], - "romanized": [ - "Yang", - "Ryang" - ], + "localized": ["량", "양", "梁"], + "romanized": ["Yang", "Ryang"], "count": null }, { "id": "KR-25", "rank": 25, - "localized": [ - "손", - "孫" - ], - "romanized": [ - "Son", - "Sohn", - "Sonn" - ], + "localized": ["손", "孫"], + "romanized": ["Son", "Sohn", "Sonn"], "count": null }, { "id": "KR-26", "rank": 26, - "localized": [ - "裵", - "배" - ], - "romanized": [ - "Pae", - "Bae", - "Bai", - "Pai" - ], + "localized": ["裵", "배"], + "romanized": ["Pae", "Bae", "Bai", "Pai"], "count": null }, { "id": "KR-27", "rank": 27, - "localized": [ - "조", - "曺" - ], - "romanized": [ - "Jo", - "Cho" - ], + "localized": ["조", "曺"], + "romanized": ["Jo", "Cho"], "count": null }, { "id": "KR-28", "rank": 28, - "localized": [ - "백", - "白" - ], - "romanized": [ - "Bhak", - "Paik", - "Bak", - "Baek", - "Phak", - "Pak" - ], + "localized": ["백", "白"], + "romanized": ["Bhak", "Paik", "Bak", "Baek", "Phak", "Pak"], "count": null }, { "id": "KR-29", "rank": 29, - "localized": [ - "허", - "許" - ], - "romanized": [ - "Hur", - "Heo", - "Her", - "Hui" - ], + "localized": ["허", "許"], + "romanized": ["Hur", "Heo", "Her", "Hui"], "count": null }, { "id": "KR-30", "rank": 30, - "localized": [ - "劉", - "류", - "유" - ], - "romanized": [ - "Liu", - "Yoo", - "Yu", - "Lau", - "Yau" - ], + "localized": ["劉", "류", "유"], + "romanized": ["Liu", "Yoo", "Yu", "Lau", "Yau"], "count": null }, { "id": "KR-31", "rank": 31, - "localized": [ - "남" - ], - "romanized": [ - "Nan", - "Nham", - "Nam" - ], + "localized": ["남"], + "romanized": ["Nan", "Nham", "Nam"], "count": null }, { "id": "KR-32", "rank": 32, - "localized": [ - "南", - "심", - "沈" - ], - "romanized": [ - "Shen", - "Sim", - "Shim" - ], + "localized": ["南", "심", "沈"], + "romanized": ["Shen", "Sim", "Shim"], "count": null }, { "id": "KR-33", "rank": 33, - "localized": [ - "노", - "로", - "盧" - ], - "romanized": [ - "Roh", - "No", - "Noh" - ], + "localized": ["노", "로", "盧"], + "romanized": ["Roh", "No", "Noh"], "count": null }, { "id": "KR-34", "rank": 34, - "localized": [ - "丁", - "정" - ], - "romanized": [ - "Jung", - "Jeong" - ], + "localized": ["丁", "정"], + "romanized": ["Jung", "Jeong"], "count": null }, { "id": "KR-35", "rank": 35, - "localized": [ - "河", - "하" - ], - "romanized": [ - "Ha", - "Hah" - ], + "localized": ["河", "하"], + "romanized": ["Ha", "Hah"], "count": null }, { "id": "KR-36", "rank": 36, - "localized": [ - "郭", - "곽" - ], - "romanized": [ - "Gwak", - "Kwak", - "Koak" - ], + "localized": ["郭", "곽"], + "romanized": ["Gwak", "Kwak", "Koak"], "count": null }, { "id": "KR-37", "rank": 37, - "localized": [ - "성", - "成" - ], - "romanized": [ - "Seong", - "Sung", - "Shung", - "Shong" - ], + "localized": ["성", "成"], + "romanized": ["Seong", "Sung", "Shung", "Shong"], "count": null }, { "id": "KR-38", "rank": 38, - "localized": [ - "車", - "차" - ], - "romanized": [ - "Cha" - ], + "localized": ["車", "차"], + "romanized": ["Cha"], "count": null }, { "id": "KR-39", "rank": 39, - "localized": [ - "주", - "朱" - ], - "romanized": [ - "Chu", - "Zhu", - "Juu", - "Ju", - "Choo", - "Zuu", - "Joo" - ], + "localized": ["주", "朱"], + "romanized": ["Chu", "Zhu", "Juu", "Ju", "Choo", "Zuu", "Joo"], "count": null }, { "id": "KR-40", "rank": 40, - "localized": [ - "禹", - "우" - ], - "romanized": [ - "Woo", - "U" - ], + "localized": ["禹", "우"], + "romanized": ["Woo", "U"], "count": null }, { "id": "KR-41", "rank": 41, - "localized": [ - "구", - "具" - ], - "romanized": [ - "Goo", - "Gu", - "Koo" - ], + "localized": ["구", "具"], + "romanized": ["Goo", "Gu", "Koo"], "count": null }, { "id": "KR-42", "rank": 42, - "localized": [ - "辛", - "신" - ], - "romanized": [ - "Shin", - "Sin" - ], + "localized": ["辛", "신"], + "romanized": ["Shin", "Sin"], "count": null }, { "id": "KR-43", "rank": 43, - "localized": [ - "임", - "任" - ], - "romanized": [ - "Im", - "Yim" - ], + "localized": ["임", "任"], + "romanized": ["Im", "Yim"], "count": null }, { "id": "KR-44", "rank": 44, - "localized": [ - "라", - "羅", - "나" - ], - "romanized": [ - "La", - "Na", - "Ra" - ], + "localized": ["라", "羅", "나"], + "romanized": ["La", "Na", "Ra"], "count": null }, { "id": "KR-45", "rank": 45, - "localized": [ - "전", - "田" - ], - "romanized": [ - "Jun", - "Jeon" - ], + "localized": ["전", "田"], + "romanized": ["Jun", "Jeon"], "count": null }, { "id": "KR-46", "rank": 46, - "localized": [ - "閔", - "민" - ], - "romanized": [ - "Min" - ], + "localized": ["閔", "민"], + "romanized": ["Min"], "count": null }, { "id": "KR-47", "rank": 47, - "localized": [ - "유", - "兪" - ], - "romanized": [ - "Yoo", - "Yu" - ], + "localized": ["유", "兪"], + "romanized": ["Yoo", "Yu"], "count": null }, { "id": "KR-48", "rank": 48, - "localized": [ - "陳", - "진" - ], - "romanized": [ - "Jean", - "Jin", - "Jen", - "Chen" - ], + "localized": ["陳", "진"], + "romanized": ["Jean", "Jin", "Jen", "Chen"], "count": null }, { "id": "KR-49", "rank": 49, - "localized": [ - "池", - "지" - ], - "romanized": [ - "Ji", - "Jee" - ], + "localized": ["池", "지"], + "romanized": ["Ji", "Jee"], "count": null }, { "id": "KR-50", "rank": 50, - "localized": [ - "엄", - "嚴" - ], - "romanized": [ - "Um", - "Eom", - "Uhm" - ], + "localized": ["엄", "嚴"], + "romanized": ["Um", "Eom", "Uhm"], "count": null } ], @@ -4711,227 +2909,141 @@ { "id": "NP-1", "rank": 1, - "localized": [ - "चौधरी" - ], - "romanized": [ - "Chaudhary", - "Chowdhury" - ], + "localized": ["चौधरी"], + "romanized": ["Chaudhary", "Chowdhury"], "count": null }, { "id": "NP-2", "rank": 2, - "localized": [ - "तामाङ" - ], - "romanized": [ - "Tamang" - ], + "localized": ["तामाङ"], + "romanized": ["Tamang"], "count": null }, { "id": "NP-3", "rank": 3, - "localized": [ - "गुरुङ" - ], - "romanized": [ - "Gurung" - ], + "localized": ["गुरुङ"], + "romanized": ["Gurung"], "count": null }, { "id": "NP-4", "rank": 4, - "localized": [ - "थापा" - ], - "romanized": [ - "Thapa" - ], + "localized": ["थापा"], + "romanized": ["Thapa"], "count": null }, { "id": "NP-5", "rank": 5, - "localized": [ - "राणा" - ], - "romanized": [ - "Rana" - ], + "localized": ["राणा"], + "romanized": ["Rana"], "count": null }, { "id": "NP-6", "rank": 6, - "localized": [ - "यादव" - ], - "romanized": [ - "Yadav" - ], + "localized": ["यादव"], + "romanized": ["Yadav"], "count": null }, { "id": "NP-7", "rank": 7, - "localized": [ - "मगर" - ], - "romanized": [ - "Magar" - ], + "localized": ["मगर"], + "romanized": ["Magar"], "count": null }, { "id": "NP-8", "rank": 8, - "localized": [ - "राई" - ], - "romanized": [ - "Rai" - ], + "localized": ["राई"], + "romanized": ["Rai"], "count": null }, { "id": "NP-9", "rank": 9, - "localized": [ - "श्रेष्ठ" - ], - "romanized": [ - "Shrestha" - ], + "localized": ["श्रेष्ठ"], + "romanized": ["Shrestha"], "count": null }, { "id": "NP-10", "rank": 10, - "localized": [ - "लामा" - ], - "romanized": [ - "Lama" - ], + "localized": ["लामा"], + "romanized": ["Lama"], "count": null }, { "id": "NP-11", "rank": 11, - "localized": [ - "क्षेत्री", - "चेट्री" - ], - "romanized": [ - "Chetry", - "Chhetri" - ], + "localized": ["क्षेत्री", "चेट्री"], + "romanized": ["Chetry", "Chhetri"], "count": null }, { "id": "NP-12", "rank": 12, - "localized": [ - "साह", - "शाह" - ], - "romanized": [ - "Shah", - "Sah " - ], + "localized": ["साह", "शाह"], + "romanized": ["Shah", "Sah "], "count": null }, { "id": "NP-13", "rank": 13, - "localized": [ - "शर्मा" - ], - "romanized": [ - "Sharma" - ], + "localized": ["शर्मा"], + "romanized": ["Sharma"], "count": null }, { "id": "NP-14", "rank": 14, - "localized": [ - "सिंह" - ], - "romanized": [ - "Singh" - ], + "localized": ["सिंह"], + "romanized": ["Singh"], "count": null }, { "id": "NP-15", "rank": 15, - "localized": [ - "विश्वकर्मा" - ], - "romanized": [ - "Bishwakarma" - ], + "localized": ["विश्वकर्मा"], + "romanized": ["Bishwakarma"], "count": null }, { "id": "NP-16", "rank": 16, - "localized": [ - "महर्जन" - ], - "romanized": [ - "Maharjan" - ], + "localized": ["महर्जन"], + "romanized": ["Maharjan"], "count": null }, { "id": "NP-17", "rank": 17, - "localized": [ - "नेपाली" - ], - "romanized": [ - "Nepali " - ], + "localized": ["नेपाली"], + "romanized": ["Nepali "], "count": null }, { "id": "NP-18", "rank": 18, - "localized": [ - "परियार" - ], - "romanized": [ - "Pariyar" - ], + "localized": ["परियार"], + "romanized": ["Pariyar"], "count": null }, { "id": "NP-19", "rank": 19, - "localized": [ - "पोखरेल" - ], - "romanized": [ - "Pokharel", - "Pokhrel " - ], + "localized": ["पोखरेल"], + "romanized": ["Pokharel", "Pokhrel "], "count": null }, { "id": "NP-20", "rank": 20, - "localized": [ - "थारु" - ], - "romanized": [ - "Tharu" - ], + "localized": ["थारु"], + "romanized": ["Tharu"], "count": null } ], @@ -4940,450 +3052,350 @@ "id": "PH-1", "rank": 1, "localized": [], - "romanized": [ - "dela Cruz" - ], + "romanized": ["dela Cruz"], "count": 625640 }, { "id": "PH-2", "rank": 2, "localized": [], - "romanized": [ - "Garcia" - ], + "romanized": ["Garcia"], "count": 441075 }, { "id": "PH-3", "rank": 3, "localized": [], - "romanized": [ - "Reyes" - ], + "romanized": ["Reyes"], "count": 412750 }, { "id": "PH-4", "rank": 4, "localized": [], - "romanized": [ - "Ramos" - ], + "romanized": ["Ramos"], "count": 375999 }, { "id": "PH-5", "rank": 5, "localized": [], - "romanized": [ - "Mendoza" - ], + "romanized": ["Mendoza"], "count": 372042 }, { "id": "PH-6", "rank": 6, "localized": [], - "romanized": [ - "Santos" - ], + "romanized": ["Santos"], "count": 342746 }, { "id": "PH-7", "rank": 7, "localized": [], - "romanized": [ - "Flores" - ], + "romanized": ["Flores"], "count": 312187 }, { "id": "PH-8", "rank": 8, "localized": [], - "romanized": [ - "Gonzales" - ], + "romanized": ["Gonzales"], "count": 293787 }, { "id": "PH-9", "rank": 9, "localized": [], - "romanized": [ - "Bautista" - ], + "romanized": ["Bautista"], "count": 287625 }, { "id": "PH-10", "rank": 10, "localized": [], - "romanized": [ - "Villanueva" - ], + "romanized": ["Villanueva"], "count": 277730 }, { "id": "PH-11", "rank": 11, "localized": [], - "romanized": [ - "Fernandez" - ], + "romanized": ["Fernandez"], "count": 269820 }, { "id": "PH-12", "rank": 12, "localized": [], - "romanized": [ - "Cruz" - ], + "romanized": ["Cruz"], "count": 262822 }, { "id": "PH-13", "rank": 13, "localized": [], - "romanized": [ - "de Guzman" - ], + "romanized": ["de Guzman"], "count": 249319 }, { "id": "PH-14", "rank": 14, "localized": [], - "romanized": [ - "Lopez" - ], + "romanized": ["Lopez"], "count": 230958 }, { "id": "PH-15", "rank": 15, "localized": [], - "romanized": [ - "Perez" - ], + "romanized": ["Perez"], "count": 220113 }, { "id": "PH-16", "rank": 16, "localized": [], - "romanized": [ - "Castillo" - ], + "romanized": ["Castillo"], "count": 211405 }, { "id": "PH-17", "rank": 17, "localized": [], - "romanized": [ - "Francisco" - ], + "romanized": ["Francisco"], "count": 207840 }, { "id": "PH-18", "rank": 18, "localized": [], - "romanized": [ - "Rivera" - ], + "romanized": ["Rivera"], "count": 184543 }, { "id": "PH-19", "rank": 19, "localized": [], - "romanized": [ - "Aquino" - ], + "romanized": ["Aquino"], "count": 183088 }, { "id": "PH-20", "rank": 20, "localized": [], - "romanized": [ - "Castro" - ], + "romanized": ["Castro"], "count": 173686 }, { "id": "PH-21", "rank": 21, "localized": [], - "romanized": [ - "Sanchez" - ], + "romanized": ["Sanchez"], "count": 162886 }, { "id": "PH-22", "rank": 22, "localized": [], - "romanized": [ - "Torres" - ], + "romanized": ["Torres"], "count": 162353 }, { "id": "PH-23", "rank": 23, "localized": [], - "romanized": [ - "de Leon" - ], + "romanized": ["de Leon"], "count": 156637 }, { "id": "PH-24", "rank": 24, "localized": [], - "romanized": [ - "Domingo" - ], + "romanized": ["Domingo"], "count": 147652 }, { "id": "PH-25", "rank": 25, "localized": [], - "romanized": [ - "Martinez" - ], + "romanized": ["Martinez"], "count": 143359 }, { "id": "PH-26", "rank": 26, "localized": [], - "romanized": [ - "Rodriguez" - ], + "romanized": ["Rodriguez"], "count": 143072 }, { "id": "PH-27", "rank": 27, "localized": [], - "romanized": [ - "Santiago" - ], + "romanized": ["Santiago"], "count": 140475 }, { "id": "PH-28", "rank": 28, "localized": [], - "romanized": [ - "Soriano" - ], + "romanized": ["Soriano"], "count": 140203 }, { "id": "PH-29", "rank": 29, "localized": [], - "romanized": [ - "delos Santos" - ], + "romanized": ["delos Santos"], "count": 139229 }, { "id": "PH-30", "rank": 30, "localized": [], - "romanized": [ - "Diaz" - ], + "romanized": ["Diaz"], "count": 136449 }, { "id": "PH-31", "rank": 31, "localized": [], - "romanized": [ - "Hernandez" - ], + "romanized": ["Hernandez"], "count": 135744 }, { "id": "PH-32", "rank": 32, "localized": [], - "romanized": [ - "Tolentino" - ], + "romanized": ["Tolentino"], "count": 133010 }, { "id": "PH-33", "rank": 33, "localized": [], - "romanized": [ - "Valdez" - ], + "romanized": ["Valdez"], "count": 132416 }, { "id": "PH-34", "rank": 34, "localized": [], - "romanized": [ - "Ramirez" - ], + "romanized": ["Ramirez"], "count": 131829 }, { "id": "PH-35", "rank": 35, "localized": [], - "romanized": [ - "Morales" - ], + "romanized": ["Morales"], "count": 129957 }, { "id": "PH-36", "rank": 36, "localized": [], - "romanized": [ - "Mercado" - ], + "romanized": ["Mercado"], "count": 125314 }, { "id": "PH-37", "rank": 37, "localized": [], - "romanized": [ - "Tan" - ], + "romanized": ["Tan"], "count": 123290 }, { "id": "PH-38", "rank": 38, "localized": [], - "romanized": [ - "Aguilar" - ], + "romanized": ["Aguilar"], "count": 121635 }, { "id": "PH-39", "rank": 39, "localized": [], - "romanized": [ - "Navarro" - ], + "romanized": ["Navarro"], "count": 113992 }, { "id": "PH-40", "rank": 40, "localized": [], - "romanized": [ - "Manalo" - ], + "romanized": ["Manalo"], "count": 111336 }, { "id": "PH-41", "rank": 41, "localized": [], - "romanized": [ - "Gomez" - ], + "romanized": ["Gomez"], "count": 108844 }, { "id": "PH-42", "rank": 42, "localized": [], - "romanized": [ - "Dizon" - ], + "romanized": ["Dizon"], "count": 106507 }, { "id": "PH-43", "rank": 43, "localized": [], - "romanized": [ - "del Rosario" - ], + "romanized": ["del Rosario"], "count": 105210 }, { "id": "PH-44", "rank": 44, "localized": [], - "romanized": [ - "Javier" - ], + "romanized": ["Javier"], "count": 104515 }, { "id": "PH-45", "rank": 45, "localized": [], - "romanized": [ - "Corpuz" - ], + "romanized": ["Corpuz"], "count": 104026 }, { "id": "PH-46", "rank": 46, "localized": [], - "romanized": [ - "Gutierrez" - ], + "romanized": ["Gutierrez"], "count": 103352 }, { "id": "PH-47", "rank": 47, "localized": [], - "romanized": [ - "Salvador" - ], + "romanized": ["Salvador"], "count": 103117 }, { "id": "PH-48", "rank": 48, "localized": [], - "romanized": [ - "Velasco" - ], + "romanized": ["Velasco"], "count": 101375 }, { "id": "PH-49", "rank": 49, "localized": [], - "romanized": [ - "Miranda" - ], + "romanized": ["Miranda"], "count": 101258 }, { "id": "PH-50", "rank": 50, "localized": [], - "romanized": [ - "David" - ], + "romanized": ["David"], "count": 100641 } ], @@ -5391,221 +3403,141 @@ { "id": "RU-1", "rank": 1, - "localized": [ - "Смирно́в" - ], - "romanized": [ - "Smirnov" - ], + "localized": ["Смирно́в"], + "romanized": ["Smirnov"], "count": 2308740 }, { "id": "RU-2", "rank": 2, - "localized": [ - "Ивано́в" - ], - "romanized": [ - "Ivanov" - ], + "localized": ["Ивано́в"], + "romanized": ["Ivanov"], "count": 1864200 }, { "id": "RU-3", "rank": 3, - "localized": [ - "Кузнецо́в" - ], - "romanized": [ - "Kuznetsov" - ], + "localized": ["Кузнецо́в"], + "romanized": ["Kuznetsov"], "count": 1290600 }, { "id": "RU-4", "rank": 4, - "localized": [ - "Попо́в" - ], - "romanized": [ - "Popov" - ], + "localized": ["Попо́в"], + "romanized": ["Popov"], "count": 1132860 }, { "id": "RU-5", "rank": 5, - "localized": [ - "Соколо́в" - ], - "romanized": [ - "Sokolov" - ], + "localized": ["Соколо́в"], + "romanized": ["Sokolov"], "count": 1046820 }, { "id": "RU-6", "rank": 6, - "localized": [ - "Ле́бедев" - ], - "romanized": [ - "Lebedev" - ], + "localized": ["Ле́бедев"], + "romanized": ["Lebedev"], "count": 932100 }, { "id": "RU-7", "rank": 7, - "localized": [ - "Козло́в" - ], - "romanized": [ - "Kozlov" - ], + "localized": ["Козло́в"], + "romanized": ["Kozlov"], "count": 831720 }, { "id": "RU-8", "rank": 8, - "localized": [ - "Но́виков" - ], - "romanized": [ - "Novikov" - ], + "localized": ["Но́виков"], + "romanized": ["Novikov"], "count": 774360 }, { "id": "RU-9", "rank": 9, - "localized": [ - "Моро́зов" - ], - "romanized": [ - "Morozov" - ], + "localized": ["Моро́зов"], + "romanized": ["Morozov"], "count": 760020 }, { "id": "RU-10", "rank": 10, - "localized": [ - "Петро́в" - ], - "romanized": [ - "Petrov" - ], + "localized": ["Петро́в"], + "romanized": ["Petrov"], "count": 630960 }, { "id": "RU-11", "rank": 11, - "localized": [ - "Во́лков" - ], - "romanized": [ - "Volkov" - ], + "localized": ["Во́лков"], + "romanized": ["Volkov"], "count": 630960 }, { "id": "RU-12", "rank": 12, - "localized": [ - "Соловьёв" - ], - "romanized": [ - "Solovyov" - ], + "localized": ["Соловьёв"], + "romanized": ["Solovyov"], "count": 630960 }, { "id": "RU-13", "rank": 13, - "localized": [ - "Васи́льев" - ], - "romanized": [ - "Vasilyev" - ], + "localized": ["Васи́льев"], + "romanized": ["Vasilyev"], "count": 602280 }, { "id": "RU-14", "rank": 14, - "localized": [ - "За́йцев" - ], - "romanized": [ - "Zaytsev" - ], + "localized": ["За́йцев"], + "romanized": ["Zaytsev"], "count": 587940 }, { "id": "RU-15", "rank": 15, - "localized": [ - "Па́влов" - ], - "romanized": [ - "Pavlov" - ], + "localized": ["Па́влов"], + "romanized": ["Pavlov"], "count": 559260 }, { "id": "RU-16", "rank": 16, - "localized": [ - "Семёнов" - ], - "romanized": [ - "Semyonov" - ], + "localized": ["Семёнов"], + "romanized": ["Semyonov"], "count": 501900 }, { "id": "RU-17", "rank": 17, - "localized": [ - "Го́лубев" - ], - "romanized": [ - "Golubev" - ], + "localized": ["Го́лубев"], + "romanized": ["Golubev"], "count": 458880 }, { "id": "RU-18", "rank": 18, - "localized": [ - "Виногра́дов" - ], - "romanized": [ - "Vinogradov" - ], + "localized": ["Виногра́дов"], + "romanized": ["Vinogradov"], "count": 458880 }, { "id": "RU-19", "rank": 19, - "localized": [ - "Богда́нов" - ], - "romanized": [ - "Bogdanov" - ], + "localized": ["Богда́нов"], + "romanized": ["Bogdanov"], "count": 444540 }, { "id": "RU-20", "rank": 20, - "localized": [ - "Воробьёв" - ], - "romanized": [ - "Vorobyov" - ], + "localized": ["Воробьёв"], + "romanized": ["Vorobyov"], "count": 430200 } ], @@ -5613,551 +3545,351 @@ { "id": "LK-1", "rank": 1, - "localized": [ - "Perera" - ], - "romanized": [ - "Perera" - ], + "localized": ["Perera"], + "romanized": ["Perera"], "count": 862080 }, { "id": "LK-2", "rank": 2, - "localized": [ - "Fernando" - ], - "romanized": [ - "Fernando" - ], + "localized": ["Fernando"], + "romanized": ["Fernando"], "count": 520965 }, { "id": "LK-3", "rank": 3, - "localized": [ - "de Silva" - ], - "romanized": [ - "de Silva" - ], + "localized": ["de Silva"], + "romanized": ["de Silva"], "count": 299772 }, { "id": "LK-4", "rank": 4, - "localized": [ - "Bandara" - ], - "romanized": [ - "Bandara" - ], + "localized": ["Bandara"], + "romanized": ["Bandara"], "count": 227388 }, { "id": "LK-5", "rank": 5, - "localized": [ - "Kumara" - ], - "romanized": [ - "Kumara" - ], + "localized": ["Kumara"], + "romanized": ["Kumara"], "count": 201695 }, { "id": "LK-6", "rank": 6, - "localized": [ - "Dissanayake" - ], - "romanized": [ - "Dissanayake" - ], + "localized": ["Dissanayake"], + "romanized": ["Dissanayake"], "count": 172612 }, { "id": "LK-7", "rank": 7, - "localized": [ - "Mohamed" - ], - "romanized": [ - "Mohamed" - ], + "localized": ["Mohamed"], + "romanized": ["Mohamed"], "count": 154874 }, { "id": "LK-8", "rank": 8, - "localized": [ - "Gamage" - ], - "romanized": [ - "Gamage" - ], + "localized": ["Gamage"], + "romanized": ["Gamage"], "count": 149527 }, { "id": "LK-9", "rank": 9, - "localized": [ - "Liyanage" - ], - "romanized": [ - "Liyanage" - ], + "localized": ["Liyanage"], + "romanized": ["Liyanage"], "count": 143854 }, { "id": "LK-10", "rank": 10, - "localized": [ - "Jayasinghe" - ], - "romanized": [ - "Jayasinghe" - ], + "localized": ["Jayasinghe"], + "romanized": ["Jayasinghe"], "count": 142224 }, { "id": "LK-11", "rank": 11, - "localized": [ - "Ranasinghe" - ], - "romanized": [ - "Ranasinghe" - ], + "localized": ["Ranasinghe"], + "romanized": ["Ranasinghe"], "count": 139680 }, { "id": "LK-12", "rank": 12, - "localized": [ - "Herath" - ], - "romanized": [ - "Herath" - ], + "localized": ["Herath"], + "romanized": ["Herath"], "count": 123182 }, { "id": "LK-13", "rank": 13, - "localized": [ - "Weerasinghe" - ], - "romanized": [ - "Weerasinghe" - ], + "localized": ["Weerasinghe"], + "romanized": ["Weerasinghe"], "count": 122008 }, { "id": "LK-14", "rank": 14, - "localized": [ - "Peiris" - ], - "romanized": [ - "Peiris" - ], + "localized": ["Peiris"], + "romanized": ["Peiris"], "count": 115944 }, { "id": "LK-15", "rank": 15, - "localized": [ - "Rathnayake" - ], - "romanized": [ - "Rathnayake" - ], + "localized": ["Rathnayake"], + "romanized": ["Rathnayake"], "count": 102902 }, { "id": "LK-16", "rank": 16, - "localized": [ - "Wickramasinghe" - ], - "romanized": [ - "Wickramasinghe" - ], + "localized": ["Wickramasinghe"], + "romanized": ["Wickramasinghe"], "count": 96968 }, { "id": "LK-17", "rank": 17, - "localized": [ - "Wijesinghe" - ], - "romanized": [ - "Wijesinghe" - ], + "localized": ["Wijesinghe"], + "romanized": ["Wijesinghe"], "count": 94816 }, { "id": "LK-18", "rank": 18, - "localized": [ - "Hettiarachchi" - ], - "romanized": [ - "Hettiarachchi" - ], + "localized": ["Hettiarachchi"], + "romanized": ["Hettiarachchi"], "count": 87512 }, { "id": "LK-19", "rank": 19, - "localized": [ - "Nanayakkara" - ], - "romanized": [ - "Nanayakkara" - ], + "localized": ["Nanayakkara"], + "romanized": ["Nanayakkara"], "count": 78057 }, { "id": "LK-20", "rank": 20, - "localized": [ - "Ahamed" - ], - "romanized": [ - "Ahamed" - ], + "localized": ["Ahamed"], + "romanized": ["Ahamed"], "count": 74601 }, { "id": "LK-21", "rank": 21, - "localized": [ - "Rajapaksha" - ], - "romanized": [ - "Rajapaksha" - ], + "localized": ["Rajapaksha"], + "romanized": ["Rajapaksha"], "count": 71144 }, { "id": "LK-22", "rank": 22, - "localized": [ - "Mendis" - ], - "romanized": [ - "Mendis" - ], + "localized": ["Mendis"], + "romanized": ["Mendis"], "count": 70623 }, { "id": "LK-23", "rank": 23, - "localized": [ - "Pathirana" - ], - "romanized": [ - "Pathirana" - ], + "localized": ["Pathirana"], + "romanized": ["Pathirana"], "count": 70297 }, { "id": "LK-24", "rank": 24, - "localized": [ - "Ekanayake" - ], - "romanized": [ - "Ekanayake" - ], + "localized": ["Ekanayake"], + "romanized": ["Ekanayake"], "count": 69840 }, { "id": "LK-25", "rank": 25, - "localized": [ - "Gunasekara" - ], - "romanized": [ - "Gunasekara" - ], + "localized": ["Gunasekara"], + "romanized": ["Gunasekara"], "count": 69384 }, { "id": "LK-26", "rank": 26, - "localized": [ - "Dias" - ], - "romanized": [ - "Dias" - ], + "localized": ["Dias"], + "romanized": ["Dias"], "count": 67623 }, { "id": "LK-27", "rank": 27, - "localized": [ - "Sampath" - ], - "romanized": [ - "Sampath" - ], + "localized": ["Sampath"], + "romanized": ["Sampath"], "count": 67232 }, { "id": "LK-28", "rank": 28, - "localized": [ - "Amarasinghe" - ], - "romanized": [ - "Amarasinghe" - ], + "localized": ["Amarasinghe"], + "romanized": ["Amarasinghe"], "count": 64949 }, { "id": "LK-29", "rank": 29, - "localized": [ - "Ratnayake" - ], - "romanized": [ - "Ratnayake" - ], + "localized": ["Ratnayake"], + "romanized": ["Ratnayake"], "count": 59863 }, { "id": "LK-30", "rank": 30, - "localized": [ - "Chathuranga" - ], - "romanized": [ - "Chathuranga" - ], + "localized": ["Chathuranga"], + "romanized": ["Chathuranga"], "count": 58754 }, { "id": "LK-31", "rank": 31, - "localized": [ - "Senanayake" - ], - "romanized": [ - "Senanayake" - ], + "localized": ["Senanayake"], + "romanized": ["Senanayake"], "count": 55037 }, { "id": "LK-32", "rank": 32, - "localized": [ - "Samarasinghe" - ], - "romanized": [ - "Samarasinghe" - ], + "localized": ["Samarasinghe"], + "romanized": ["Samarasinghe"], "count": 54320 }, { "id": "LK-33", "rank": 33, - "localized": [ - "Lakmal" - ], - "romanized": [ - "Lakmal" - ], + "localized": ["Lakmal"], + "romanized": ["Lakmal"], "count": 53733 }, { "id": "LK-34", "rank": 34, - "localized": [ - "Munasinghe" - ], - "romanized": [ - "Munasinghe" - ], + "localized": ["Munasinghe"], + "romanized": ["Munasinghe"], "count": 52755 }, { "id": "LK-35", "rank": 35, - "localized": [ - "Rodrigo" - ], - "romanized": [ - "Rodrigo" - ], + "localized": ["Rodrigo"], + "romanized": ["Rodrigo"], "count": 51777 }, { "id": "LK-36", "rank": 36, - "localized": [ - "Seneviratne" - ], - "romanized": [ - "Seneviratne" - ], + "localized": ["Seneviratne"], + "romanized": ["Seneviratne"], "count": 51581 }, { "id": "LK-37", "rank": 37, - "localized": [ - "Rathnayaka" - ], - "romanized": [ - "Rathnayaka" - ], + "localized": ["Rathnayaka"], + "romanized": ["Rathnayaka"], "count": 49886 }, { "id": "LK-38", "rank": 38, - "localized": [ - "Edirisinghe" - ], - "romanized": [ - "Edirisinghe" - ], + "localized": ["Edirisinghe"], + "romanized": ["Edirisinghe"], "count": 48516 }, { "id": "LK-39", "rank": 39, - "localized": [ - "Jayawardena" - ], - "romanized": [ - "Jayawardena" - ], + "localized": ["Jayawardena"], + "romanized": ["Jayawardena"], "count": 48386 }, { "id": "LK-40", "rank": 40, - "localized": [ - "Fonseka" - ], - "romanized": [ - "Fonseka" - ], + "localized": ["Fonseka"], + "romanized": ["Fonseka"], "count": 47995 }, { "id": "LK-41", "rank": 41, - "localized": [ - "Sanjeewa" - ], - "romanized": [ - "Sanjeewa" - ], + "localized": ["Sanjeewa"], + "romanized": ["Sanjeewa"], "count": 47147 }, { "id": "LK-42", "rank": 42, - "localized": [ - "Gunawardana" - ], - "romanized": [ - "Gunawardana" - ], + "localized": ["Gunawardana"], + "romanized": ["Gunawardana"], "count": 46625 }, { "id": "LK-43", "rank": 43, - "localized": [ - "Gunawardena" - ], - "romanized": [ - "Gunawardena" - ], + "localized": ["Gunawardena"], + "romanized": ["Gunawardena"], "count": 45386 }, { "id": "LK-44", "rank": 44, - "localized": [ - "Karunaratne" - ], - "romanized": [ - "Karunaratne" - ], + "localized": ["Karunaratne"], + "romanized": ["Karunaratne"], "count": 44930 }, { "id": "LK-45", "rank": 45, - "localized": [ - "Jayaweera" - ], - "romanized": [ - "Jayaweera" - ], + "localized": ["Jayaweera"], + "romanized": ["Jayaweera"], "count": 43495 }, { "id": "LK-46", "rank": 46, - "localized": [ - "Jayasekara" - ], - "romanized": [ - "Jayasekara" - ], + "localized": ["Jayasekara"], + "romanized": ["Jayasekara"], "count": 43365 }, { "id": "LK-47", "rank": 47, - "localized": [ - "Ranaweera" - ], - "romanized": [ - "Ranaweera" - ], + "localized": ["Ranaweera"], + "romanized": ["Ranaweera"], "count": 42387 }, { "id": "LK-48", "rank": 48, - "localized": [ - "Jayawardana" - ], - "romanized": [ - "Jayawardana" - ], + "localized": ["Jayawardana"], + "romanized": ["Jayawardana"], "count": 40822 }, { "id": "LK-49", "rank": 49, - "localized": [ - "Jayasuriya" - ], - "romanized": [ - "Jayasuriya" - ], + "localized": ["Jayasuriya"], + "romanized": ["Jayasuriya"], "count": 40561 }, { "id": "LK-50", "rank": 50, - "localized": [ - "Madusanka" - ], - "romanized": [ - "Madusanka" - ], + "localized": ["Madusanka"], + "romanized": ["Madusanka"], "count": 40300 } ], @@ -6165,221 +3897,141 @@ { "id": "TR-1", "rank": 1, - "localized": [ - "Yılmaz" - ], - "romanized": [ - "Yılmaz" - ], + "localized": ["Yılmaz"], + "romanized": ["Yılmaz"], "count": null }, { "id": "TR-2", "rank": 2, - "localized": [ - "Kaya" - ], - "romanized": [ - "Kaya" - ], + "localized": ["Kaya"], + "romanized": ["Kaya"], "count": null }, { "id": "TR-3", "rank": 3, - "localized": [ - "Demir" - ], - "romanized": [ - "Demir" - ], + "localized": ["Demir"], + "romanized": ["Demir"], "count": null }, { "id": "TR-4", "rank": 4, - "localized": [ - "Şahin" - ], - "romanized": [ - "Şahin" - ], + "localized": ["Şahin"], + "romanized": ["Şahin"], "count": null }, { "id": "TR-5", "rank": 5, - "localized": [ - "Çelik" - ], - "romanized": [ - "Çelik" - ], + "localized": ["Çelik"], + "romanized": ["Çelik"], "count": null }, { "id": "TR-6", "rank": 6, - "localized": [ - "Yıldız" - ], - "romanized": [ - "Yıldız" - ], + "localized": ["Yıldız"], + "romanized": ["Yıldız"], "count": null }, { "id": "TR-7", "rank": 7, - "localized": [ - "Yıldırım" - ], - "romanized": [ - "Yıldırım" - ], + "localized": ["Yıldırım"], + "romanized": ["Yıldırım"], "count": null }, { "id": "TR-8", "rank": 8, - "localized": [ - "Öztürk" - ], - "romanized": [ - "Öztürk" - ], + "localized": ["Öztürk"], + "romanized": ["Öztürk"], "count": null }, { "id": "TR-9", "rank": 9, - "localized": [ - "Aydın" - ], - "romanized": [ - "Aydın" - ], + "localized": ["Aydın"], + "romanized": ["Aydın"], "count": null }, { "id": "TR-10", "rank": 10, - "localized": [ - "Özdemir" - ], - "romanized": [ - "Özdemir" - ], + "localized": ["Özdemir"], + "romanized": ["Özdemir"], "count": null }, { "id": "TR-11", "rank": 11, - "localized": [ - "Arslan" - ], - "romanized": [ - "Arslan" - ], + "localized": ["Arslan"], + "romanized": ["Arslan"], "count": null }, { "id": "TR-12", "rank": 12, - "localized": [ - "Doğan" - ], - "romanized": [ - "Doğan" - ], + "localized": ["Doğan"], + "romanized": ["Doğan"], "count": null }, { "id": "TR-13", "rank": 13, - "localized": [ - "Kılıç" - ], - "romanized": [ - "Kılıç" - ], + "localized": ["Kılıç"], + "romanized": ["Kılıç"], "count": null }, { "id": "TR-14", "rank": 14, - "localized": [ - "Aslan" - ], - "romanized": [ - "Aslan" - ], + "localized": ["Aslan"], + "romanized": ["Aslan"], "count": null }, { "id": "TR-15", "rank": 15, - "localized": [ - "Çetin" - ], - "romanized": [ - "Çetin" - ], + "localized": ["Çetin"], + "romanized": ["Çetin"], "count": null }, { "id": "TR-16", "rank": 16, - "localized": [ - "Kara" - ], - "romanized": [ - "Kara" - ], + "localized": ["Kara"], + "romanized": ["Kara"], "count": null }, { "id": "TR-17", "rank": 17, - "localized": [ - "Koç" - ], - "romanized": [ - "Koç" - ], + "localized": ["Koç"], + "romanized": ["Koç"], "count": null }, { "id": "TR-18", "rank": 18, - "localized": [ - "Kurt" - ], - "romanized": [ - "Kurt" - ], + "localized": ["Kurt"], + "romanized": ["Kurt"], "count": null }, { "id": "TR-19", "rank": 19, - "localized": [ - "Özkan" - ], - "romanized": [ - "Özkan" - ], + "localized": ["Özkan"], + "romanized": ["Özkan"], "count": null }, { "id": "TR-20", "rank": 20, - "localized": [ - "Şimşek" - ], - "romanized": [ - "Şimşek" - ], + "localized": ["Şimşek"], + "romanized": ["Şimşek"], "count": null } ], @@ -6387,485 +4039,309 @@ { "id": "VN-1", "rank": 1, - "localized": [ - "阮" - ], - "romanized": [ - "Nguyễn" - ], + "localized": ["阮"], + "romanized": ["Nguyễn"], "count": 37038600 }, { "id": "VN-2", "rank": 2, - "localized": [ - "陳" - ], - "romanized": [ - "Trần" - ], + "localized": ["陳"], + "romanized": ["Trần"], "count": 10721700 }, { "id": "VN-3", "rank": 3, - "localized": [ - "黎" - ], - "romanized": [ - "Lê" - ], + "localized": ["黎"], + "romanized": ["Lê"], "count": 9259650 }, { "id": "VN-4", "rank": 4, - "localized": [ - "范" - ], - "romanized": [ - "Phạm" - ], + "localized": ["范"], + "romanized": ["Phạm"], "count": 6920370 }, { "id": "VN-5", "rank": 5, - "localized": [ - "黃" - ], - "romanized": [ - "Huỳnh/Hoàng" - ], + "localized": ["黃"], + "romanized": ["Huỳnh/Hoàng"], "count": 4970970 }, { "id": "VN-6", "rank": 6, - "localized": [ - "潘" - ], - "romanized": [ - "Phan" - ], + "localized": ["潘"], + "romanized": ["Phan"], "count": 4386150 }, { "id": "VN-7", "rank": 7, - "localized": [ - "武" - ], - "romanized": [ - "Vũ/Võ" - ], + "localized": ["武"], + "romanized": ["Vũ/Võ"], "count": 3801330 }, { "id": "VN-8", "rank": 8, - "localized": [ - "鄧" - ], - "romanized": [ - "Đặng" - ], + "localized": ["鄧"], + "romanized": ["Đặng"], "count": 2046870 }, { "id": "VN-9", "rank": 9, - "localized": [ - "裴" - ], - "romanized": [ - "Bùi" - ], + "localized": ["裴"], + "romanized": ["Bùi"], "count": 1949400 }, { "id": "VN-10", "rank": 10, - "localized": [ - "杜" - ], - "romanized": [ - "Đỗ" - ], + "localized": ["杜"], + "romanized": ["Đỗ"], "count": 1364580 }, { "id": "VN-11", "rank": 11, - "localized": [ - "胡" - ], - "romanized": [ - "Hồ" - ], + "localized": ["胡"], + "romanized": ["Hồ"], "count": 1267110 }, { "id": "VN-12", "rank": 12, - "localized": [ - "吳" - ], - "romanized": [ - "Ngô" - ], + "localized": ["吳"], + "romanized": ["Ngô"], "count": 1267110 }, { "id": "VN-13", "rank": 13, - "localized": [ - "楊" - ], - "romanized": [ - "Dương" - ], + "localized": ["楊"], + "romanized": ["Dương"], "count": 974700 }, { "id": "VN-14", "rank": 14, - "localized": [ - "李" - ], - "romanized": [ - "Lý" - ], + "localized": ["李"], + "romanized": ["Lý"], "count": 487350 }, { "id": "VN-15", "rank": 15, - "localized": [ - "費" - ], - "romanized": [ - "Phí" - ], + "localized": ["費"], + "romanized": ["Phí"], "count": null }, { "id": "VN-16", "rank": 16, - "localized": [ - "陶" - ], - "romanized": [ - "Đào" - ], + "localized": ["陶"], + "romanized": ["Đào"], "count": null }, { "id": "VN-17", "rank": 17, - "localized": [ - "段" - ], - "romanized": [ - "Đoàn" - ], + "localized": ["段"], + "romanized": ["Đoàn"], "count": null }, { "id": "VN-18", "rank": 18, - "localized": [ - "王" - ], - "romanized": [ - "Vương" - ], + "localized": ["王"], + "romanized": ["Vương"], "count": null }, { "id": "VN-19", "rank": 19, - "localized": [ - "鄭" - ], - "romanized": [ - "Trịnh" - ], + "localized": ["鄭"], + "romanized": ["Trịnh"], "count": null }, { "id": "VN-20", "rank": 20, - "localized": [ - "張" - ], - "romanized": [ - "Trương" - ], + "localized": ["張"], + "romanized": ["Trương"], "count": null }, { "id": "VN-21", "rank": 21, - "localized": [ - "林" - ], - "romanized": [ - "Lâm" - ], + "localized": ["林"], + "romanized": ["Lâm"], "count": null }, { "id": "VN-22", "rank": 22, - "localized": [ - "馮" - ], - "romanized": [ - "Phùng" - ], + "localized": ["馮"], + "romanized": ["Phùng"], "count": null }, { "id": "VN-23", "rank": 23, - "localized": [ - "梅" - ], - "romanized": [ - "Mai" - ], + "localized": ["梅"], + "romanized": ["Mai"], "count": null }, { "id": "VN-24", "rank": 24, - "localized": [ - "蘇" - ], - "romanized": [ - "Tô" - ], + "localized": ["蘇"], + "romanized": ["Tô"], "count": null }, { "id": "VN-25", "rank": 25, - "localized": [ - "何" - ], - "romanized": [ - "Hà" - ], + "localized": ["何"], + "romanized": ["Hà"], "count": null }, { "id": "VN-26", "rank": 26, - "localized": [ - "謝" - ], - "romanized": [ - "Tạ" - ], + "localized": ["謝"], + "romanized": ["Tạ"], "count": null }, { "id": "VN-27", "rank": 27, - "localized": [ - "申" - ], - "romanized": [ - "Thân" - ], + "localized": ["申"], + "romanized": ["Thân"], "count": null }, { "id": "VN-28", "rank": 28, - "localized": [ - "卓" - ], - "romanized": [ - "Trác" - ], + "localized": ["卓"], + "romanized": ["Trác"], "count": null }, { "id": "VN-29", "rank": 29, - "localized": [ - "宋" - ], - "romanized": [ - "Tống" - ], + "localized": ["宋"], + "romanized": ["Tống"], "count": null }, { "id": "VN-30", "rank": 30, - "localized": [ - "華" - ], - "romanized": [ - "Hoa" - ], + "localized": ["華"], + "romanized": ["Hoa"], "count": null }, { "id": "VN-31", "rank": 31, - "localized": [ - "曲" - ], - "romanized": [ - "Khúc" - ], + "localized": ["曲"], + "romanized": ["Khúc"], "count": null }, { "id": "VN-32", "rank": 32, - "localized": [ - "徐" - ], - "romanized": [ - "Từ" - ], + "localized": ["徐"], + "romanized": ["Từ"], "count": null }, { "id": "VN-33", "rank": 33, - "localized": [ - "常" - ], - "romanized": [ - "Thường" - ], + "localized": ["常"], + "romanized": ["Thường"], "count": null }, { "id": "VN-34", "rank": 34, - "localized": [ - "蕭" - ], - "romanized": [ - "Tiêu" - ], + "localized": ["蕭"], + "romanized": ["Tiêu"], "count": null }, { "id": "VN-35", "rank": 35, - "localized": [ - "午" - ], - "romanized": [ - "Ngọ" - ], + "localized": ["午"], + "romanized": ["Ngọ"], "count": null }, { "id": "VN-36", "rank": 36, - "localized": [ - "金" - ], - "romanized": [ - "Kim" - ], + "localized": ["金"], + "romanized": ["Kim"], "count": null }, { "id": "VN-37", "rank": 37, - "localized": [ - "郭" - ], - "romanized": [ - "Quách" - ], + "localized": ["郭"], + "romanized": ["Quách"], "count": null }, { "id": "VN-38", "rank": 38, - "localized": [ - "譚" - ], - "romanized": [ - "Đàm" - ], + "localized": ["譚"], + "romanized": ["Đàm"], "count": null }, { "id": "VN-39", "rank": 39, - "localized": [ - "趙" - ], - "romanized": [ - "Triệu" - ], + "localized": ["趙"], + "romanized": ["Triệu"], "count": null }, { "id": "VN-40", "rank": 40, - "localized": [ - "莫" - ], - "romanized": [ - "Mạc" - ], + "localized": ["莫"], + "romanized": ["Mạc"], "count": null }, { "id": "VN-41", "rank": 41, - "localized": [ - "蔡" - ], - "romanized": [ - "Thái" - ], + "localized": ["蔡"], + "romanized": ["Thái"], "count": null }, { "id": "VN-42", "rank": 42, - "localized": [ - "劉" - ], - "romanized": [ - "Lưu" - ], + "localized": ["劉"], + "romanized": ["Lưu"], "count": null }, { "id": "VN-43", "rank": 43, - "localized": [ - "石" - ], - "romanized": [ - "Thạch" - ], + "localized": ["石"], + "romanized": ["Thạch"], "count": null }, { "id": "VN-44", "rank": 44, - "localized": [ - "梁" - ], - "romanized": [ - "Lương" - ], + "localized": ["梁"], + "romanized": ["Lương"], "count": null } ], @@ -6873,45 +4349,21 @@ { "id": "TW-1", "rank": 1, - "localized": [ - "陳", - "陈" - ], - "romanized": [ - "Can", - "Ting", - "Ch'en", - "Chun", - "Chan", - "Tân", - "Chén" - ], + "localized": ["陳", "陈"], + "romanized": ["Can", "Ting", "Ch'en", "Chun", "Chan", "Tân", "Chén"], "count": 2625698 }, { "id": "TW-2", "rank": 2, - "localized": [ - "林" - ], - "romanized": [ - "Lín", - "Lin", - "Liem", - "Lum", - "Lîm", - "Lam", - "Lim" - ], + "localized": ["林"], + "romanized": ["Lín", "Lin", "Liem", "Lum", "Lîm", "Lam", "Lim"], "count": 1958667 }, { "id": "TW-3", "rank": 3, - "localized": [ - "黄", - "黃" - ], + "localized": ["黄", "黃"], "romanized": [ "Vang", "Wang", @@ -6927,10 +4379,7 @@ { "id": "TW-4", "rank": 4, - "localized": [ - "張", - "张" - ], + "localized": ["張", "张"], "romanized": [ "Zoeng", "Chang", @@ -6948,76 +4397,35 @@ { "id": "TW-5", "rank": 5, - "localized": [ - "李" - ], - "romanized": [ - "Lǐ", - "Lei", - "Li", - "Lee", - "Lí", - "Le" - ], + "localized": ["李"], + "romanized": ["Lǐ", "Lei", "Li", "Lee", "Lí", "Le"], "count": 1209141 }, { "id": "TW-6", "rank": 6, - "localized": [ - "王" - ], - "romanized": [ - "Wang", - "Heng", - "Ông", - "Wáng", - "Vong" - ], + "localized": ["王"], + "romanized": ["Wang", "Heng", "Ông", "Wáng", "Vong"], "count": 968727 }, { "id": "TW-7", "rank": 7, - "localized": [ - "吳", - "吴" - ], - "romanized": [ - "Gô͘", - "Ngô͘", - "Gouw", - "Wu", - "Wú", - "Woo", - "Goh" - ], + "localized": ["吳", "吴"], + "romanized": ["Gô͘", "Ngô͘", "Gouw", "Wu", "Wú", "Woo", "Goh"], "count": 952228 }, { "id": "TW-8", "rank": 8, - "localized": [ - "劉", - "刘" - ], - "romanized": [ - "Liu", - "Low", - "Liú", - "Lou", - "Lâu", - "Lao", - "Lau" - ], + "localized": ["劉", "刘"], + "romanized": ["Liu", "Low", "Liú", "Lou", "Lâu", "Lao", "Lau"], "count": 744812 }, { "id": "TW-9", "rank": 9, - "localized": [ - "蔡" - ], + "localized": ["蔡"], "romanized": [ "Ts'ai", "Tsoi", @@ -7037,10 +4445,7 @@ { "id": "TW-10", "rank": 10, - "localized": [ - "楊", - "杨" - ], + "localized": ["楊", "杨"], "romanized": [ "Yang", "Young", @@ -7059,462 +4464,288 @@ { "id": "AL-1", "rank": null, - "localized": [ - "Hoxha" - ], - "romanized": [ - "Hoxha" - ], + "localized": ["Hoxha"], + "romanized": ["Hoxha"], "count": null }, { "id": "AL-2", "rank": null, - "localized": [ - "Prifti" - ], - "romanized": [ - "Prifti" - ], + "localized": ["Prifti"], + "romanized": ["Prifti"], "count": null }, { "id": "AL-3", "rank": null, - "localized": [ - "Shehu" - ], - "romanized": [ - "Shehu" - ], + "localized": ["Shehu"], + "romanized": ["Shehu"], "count": null }, { "id": "AL-4", "rank": null, - "localized": [ - "Dervishi" - ], - "romanized": [ - "Dervishi" - ], + "localized": ["Dervishi"], + "romanized": ["Dervishi"], "count": null }, { "id": "AL-5", "rank": null, - "localized": [ - "Bektashi" - ], - "romanized": [ - "Bektashi" - ], + "localized": ["Bektashi"], + "romanized": ["Bektashi"], "count": null }, { "id": "AL-6", "rank": null, - "localized": [ - "Begu" - ], - "romanized": [ - "Begu" - ], + "localized": ["Begu"], + "romanized": ["Begu"], "count": null }, { "id": "AL-7", "rank": null, - "localized": [ - "Gjoni" - ], - "romanized": [ - "Gjoni" - ], + "localized": ["Gjoni"], + "romanized": ["Gjoni"], "count": null }, { "id": "AL-8", "rank": null, - "localized": [ - "Leka" - ], - "romanized": [ - "Leka" - ], + "localized": ["Leka"], + "romanized": ["Leka"], "count": null }, { "id": "AL-9", "rank": null, - "localized": [ - "Gjoni" - ], - "romanized": [ - "Gjoni" - ], + "localized": ["Gjoni"], + "romanized": ["Gjoni"], "count": null }, { "id": "AL-10", "rank": null, - "localized": [ - "Murati" - ], - "romanized": [ - "Murati" - ], + "localized": ["Murati"], + "romanized": ["Murati"], "count": null }, { "id": "AL-11", "rank": null, - "localized": [ - "Mehmeti" - ], - "romanized": [ - "Mehmeti" - ], + "localized": ["Mehmeti"], + "romanized": ["Mehmeti"], "count": null }, { "id": "AL-12", "rank": null, - "localized": [ - "Hysi" - ], - "romanized": [ - "Hysi" - ], + "localized": ["Hysi"], + "romanized": ["Hysi"], "count": null }, { "id": "AL-13", "rank": null, - "localized": [ - "Gjika" - ], - "romanized": [ - "Gjika" - ], + "localized": ["Gjika"], + "romanized": ["Gjika"], "count": null }, { "id": "AL-14", "rank": null, - "localized": [ - "Marku" - ], - "romanized": [ - "Marku" - ], + "localized": ["Marku"], + "romanized": ["Marku"], "count": null }, { "id": "AL-15", "rank": null, - "localized": [ - "Kola", - "Kolla", - "Nikolla" - ], - "romanized": [ - "Kola", - "Kolla", - "Nikolla" - ], + "localized": ["Kola", "Kolla", "Nikolla"], + "romanized": ["Kola", "Kolla", "Nikolla"], "count": null }, { "id": "AL-16", "rank": null, - "localized": [ - "Hasani" - ], - "romanized": [ - "Hasani" - ], + "localized": ["Hasani"], + "romanized": ["Hasani"], "count": null }, { "id": "AL-17", "rank": null, - "localized": [ - "Kristi", - "Kristo" - ], - "romanized": [ - "Kristi", - "Kristo" - ], + "localized": ["Kristi", "Kristo"], + "romanized": ["Kristi", "Kristo"], "count": null }, { "id": "AL-18", "rank": null, - "localized": [ - "Luka" - ], - "romanized": [ - "Luka" - ], + "localized": ["Luka"], + "romanized": ["Luka"], "count": null }, { "id": "AL-19", "rank": null, - "localized": [ - "Brahimi" - ], - "romanized": [ - "Brahimi" - ], + "localized": ["Brahimi"], + "romanized": ["Brahimi"], "count": null }, { "id": "AL-20", "rank": null, - "localized": [ - "Sinani" - ], - "romanized": [ - "Sinani" - ], + "localized": ["Sinani"], + "romanized": ["Sinani"], "count": null }, { "id": "AL-21", "rank": null, - "localized": [ - "Thanasi" - ], - "romanized": [ - "Thanasi" - ], + "localized": ["Thanasi"], + "romanized": ["Thanasi"], "count": null }, { "id": "AL-22", "rank": null, - "localized": [ - "Halili" - ], - "romanized": [ - "Halili" - ], + "localized": ["Halili"], + "romanized": ["Halili"], "count": null }, { "id": "AL-23", "rank": null, - "localized": [ - "Abazi" - ], - "romanized": [ - "Abazi" - ], + "localized": ["Abazi"], + "romanized": ["Abazi"], "count": null }, { "id": "AL-24", "rank": null, - "localized": [ - "Dibra" - ], - "romanized": [ - "Dibra" - ], + "localized": ["Dibra"], + "romanized": ["Dibra"], "count": null }, { "id": "AL-25", "rank": null, - "localized": [ - "Laçi" - ], - "romanized": [ - "Laçi" - ], + "localized": ["Laçi"], + "romanized": ["Laçi"], "count": null }, { "id": "AL-26", "rank": null, - "localized": [ - "Shkodra" - ], - "romanized": [ - "Shkodra" - ], + "localized": ["Shkodra"], + "romanized": ["Shkodra"], "count": null }, { "id": "AL-27", "rank": null, - "localized": [ - "Prishtina" - ], - "romanized": [ - "Prishtina" - ], + "localized": ["Prishtina"], + "romanized": ["Prishtina"], "count": null }, { "id": "AL-28", "rank": null, - "localized": [ - "Delvina" - ], - "romanized": [ - "Delvina" - ], + "localized": ["Delvina"], + "romanized": ["Delvina"], "count": null }, { "id": "AL-29", "rank": null, - "localized": [ - "Koroveshi" - ], - "romanized": [ - "Koroveshi" - ], + "localized": ["Koroveshi"], + "romanized": ["Koroveshi"], "count": null }, { "id": "AL-30", "rank": null, - "localized": [ - "Përmeti" - ], - "romanized": [ - "Përmeti" - ], + "localized": ["Përmeti"], + "romanized": ["Përmeti"], "count": null }, { "id": "AL-31", "rank": null, - "localized": [ - "Frashëri" - ], - "romanized": [ - "Frashëri" - ], + "localized": ["Frashëri"], + "romanized": ["Frashëri"], "count": null }, { "id": "AL-32", "rank": null, - "localized": [ - "Gegaj", - "Gega" - ], - "romanized": [ - "Gegaj", - "Gega" - ], + "localized": ["Gegaj", "Gega"], + "romanized": ["Gegaj", "Gega"], "count": null }, { "id": "AL-33", "rank": null, - "localized": [ - "Toska", - "Toskaj" - ], - "romanized": [ - "Toska", - "Toskaj" - ], + "localized": ["Toska", "Toskaj"], + "romanized": ["Toska", "Toskaj"], "count": null }, { "id": "AL-34", "rank": null, - "localized": [ - "Çami" - ], - "romanized": [ - "Çami" - ], + "localized": ["Çami"], + "romanized": ["Çami"], "count": null }, { "id": "AL-35", "rank": null, - "localized": [ - "Kelmendi" - ], - "romanized": [ - "Kelmendi" - ], + "localized": ["Kelmendi"], + "romanized": ["Kelmendi"], "count": null }, { "id": "AL-36", "rank": null, - "localized": [ - "Shkreli" - ], - "romanized": [ - "Shkreli" - ], + "localized": ["Shkreli"], + "romanized": ["Shkreli"], "count": null }, { "id": "AL-37", "rank": null, - "localized": [ - "Berisha" - ], - "romanized": [ - "Berisha" - ], + "localized": ["Berisha"], + "romanized": ["Berisha"], "count": null }, { "id": "AL-38", "rank": null, - "localized": [ - "Krasniqi" - ], - "romanized": [ - "Krasniqi" - ], + "localized": ["Krasniqi"], + "romanized": ["Krasniqi"], "count": null }, { "id": "AL-39", "rank": null, - "localized": [ - "Gashi" - ], - "romanized": [ - "Gashi" - ], + "localized": ["Gashi"], + "romanized": ["Gashi"], "count": null }, { "id": "AL-40", "rank": null, - "localized": [ - "Kuqi" - ], - "romanized": [ - "Kuqi" - ], + "localized": ["Kuqi"], + "romanized": ["Kuqi"], "count": null }, { "id": "AL-41", "rank": null, - "localized": [ - "Bardhi" - ], - "romanized": [ - "Bardhi" - ], + "localized": ["Bardhi"], + "romanized": ["Bardhi"], "count": null } ], @@ -7522,452 +4753,288 @@ { "id": "AT-1", "rank": 1, - "localized": [ - "Gruber" - ], - "romanized": [ - "Gruber" - ], + "localized": ["Gruber"], + "romanized": ["Gruber"], "count": 35743 }, { "id": "AT-2", "rank": 2, - "localized": [ - "Huber" - ], - "romanized": [ - "Huber" - ], + "localized": ["Huber"], + "romanized": ["Huber"], "count": 34686 }, { "id": "AT-3", "rank": 3, - "localized": [ - "Bauer" - ], - "romanized": [ - "Bauer" - ], + "localized": ["Bauer"], + "romanized": ["Bauer"], "count": 30208 }, { "id": "AT-4", "rank": 4, - "localized": [ - "Wagner" - ], - "romanized": [ - "Wagner" - ], + "localized": ["Wagner"], + "romanized": ["Wagner"], "count": 27763 }, { "id": "AT-5", "rank": 5, - "localized": [ - "Müller" - ], - "romanized": [ - "Müller" - ], + "localized": ["Müller"], + "romanized": ["Müller"], "count": 26975 }, { "id": "AT-6", "rank": 6, - "localized": [ - "Pichler" - ], - "romanized": [ - "Pichler" - ], + "localized": ["Pichler"], + "romanized": ["Pichler"], "count": 24655 }, { "id": "AT-7", "rank": 7, - "localized": [ - "Steiner" - ], - "romanized": [ - "Steiner" - ], + "localized": ["Steiner"], + "romanized": ["Steiner"], "count": 24297 }, { "id": "AT-8", "rank": 8, - "localized": [ - "Moser" - ], - "romanized": [ - "Moser" - ], + "localized": ["Moser"], + "romanized": ["Moser"], "count": 23948 }, { "id": "AT-9", "rank": 9, - "localized": [ - "Mayer" - ], - "romanized": [ - "Mayer" - ], + "localized": ["Mayer"], + "romanized": ["Mayer"], "count": 23760 }, { "id": "AT-10", "rank": 10, - "localized": [ - "Hofer" - ], - "romanized": [ - "Hofer" - ], + "localized": ["Hofer"], + "romanized": ["Hofer"], "count": 22201 }, { "id": "AT-11", "rank": 11, - "localized": [ - "Leitner" - ], - "romanized": [ - "Leitner" - ], + "localized": ["Leitner"], + "romanized": ["Leitner"], "count": 21754 }, { "id": "AT-12", "rank": 12, - "localized": [ - "Berger" - ], - "romanized": [ - "Berger" - ], + "localized": ["Berger"], + "romanized": ["Berger"], "count": 21342 }, { "id": "AT-13", "rank": 13, - "localized": [ - "Fuchs" - ], - "romanized": [ - "Fuchs" - ], + "localized": ["Fuchs"], + "romanized": ["Fuchs"], "count": 20151 }, { "id": "AT-14", "rank": 14, - "localized": [ - "Eder" - ], - "romanized": [ - "Eder" - ], + "localized": ["Eder"], + "romanized": ["Eder"], "count": 19201 }, { "id": "AT-15", "rank": 15, - "localized": [ - "Fischer" - ], - "romanized": [ - "Fischer" - ], + "localized": ["Fischer"], + "romanized": ["Fischer"], "count": 19174 }, { "id": "AT-16", "rank": 16, - "localized": [ - "Schmid" - ], - "romanized": [ - "Schmid" - ], + "localized": ["Schmid"], + "romanized": ["Schmid"], "count": 18941 }, { "id": "AT-17", "rank": 17, - "localized": [ - "Winkler" - ], - "romanized": [ - "Winkler" - ], + "localized": ["Winkler"], + "romanized": ["Winkler"], "count": 18046 }, { "id": "AT-18", "rank": 18, - "localized": [ - "Weber" - ], - "romanized": [ - "Weber" - ], + "localized": ["Weber"], + "romanized": ["Weber"], "count": 17867 }, { "id": "AT-19", "rank": 19, - "localized": [ - "Schwarz" - ], - "romanized": [ - "Schwarz" - ], + "localized": ["Schwarz"], + "romanized": ["Schwarz"], "count": 17562 }, { "id": "AT-20", "rank": 20, - "localized": [ - "Maier" - ], - "romanized": [ - "Maier" - ], + "localized": ["Maier"], + "romanized": ["Maier"], "count": 17428 }, { "id": "AT-21", "rank": 21, - "localized": [ - "Schneider" - ], - "romanized": [ - "Schneider" - ], + "localized": ["Schneider"], + "romanized": ["Schneider"], "count": 17150 }, { "id": "AT-22", "rank": 22, - "localized": [ - "Reiter" - ], - "romanized": [ - "Reiter" - ], + "localized": ["Reiter"], + "romanized": ["Reiter"], "count": 16031 }, { "id": "AT-23", "rank": 23, - "localized": [ - "Mayr" - ], - "romanized": [ - "Mayr" - ], + "localized": ["Mayr"], + "romanized": ["Mayr"], "count": 15681 }, { "id": "AT-24", "rank": 24, - "localized": [ - "Schmidt" - ], - "romanized": [ - "Schmidt" - ], + "localized": ["Schmidt"], + "romanized": ["Schmidt"], "count": 15583 }, { "id": "AT-25", "rank": 25, - "localized": [ - "Wimmer" - ], - "romanized": [ - "Wimmer" - ], + "localized": ["Wimmer"], + "romanized": ["Wimmer"], "count": 14580 }, { "id": "AT-26", "rank": 26, - "localized": [ - "Egger" - ], - "romanized": [ - "Egger" - ], + "localized": ["Egger"], + "romanized": ["Egger"], "count": 14419 }, { "id": "AT-27", "rank": 27, - "localized": [ - "Brunner" - ], - "romanized": [ - "Brunner" - ], + "localized": ["Brunner"], + "romanized": ["Brunner"], "count": 14347 }, { "id": "AT-28", "rank": 28, - "localized": [ - "Lang" - ], - "romanized": [ - "Lang" - ], + "localized": ["Lang"], + "romanized": ["Lang"], "count": 14320 }, { "id": "AT-29", "rank": 29, - "localized": [ - "Baumgartner" - ], - "romanized": [ - "Baumgartner" - ], + "localized": ["Baumgartner"], + "romanized": ["Baumgartner"], "count": 14204 }, { "id": "AT-30", "rank": 30, - "localized": [ - "Auer" - ], - "romanized": [ - "Auer" - ], + "localized": ["Auer"], + "romanized": ["Auer"], "count": 13926 }, { "id": "AT-31", "rank": 31, - "localized": [ - "Binder" - ], - "romanized": [ - "Binder" - ], + "localized": ["Binder"], + "romanized": ["Binder"], "count": 13057 }, { "id": "AT-32", "rank": 32, - "localized": [ - "Lechner" - ], - "romanized": [ - "Lechner" - ], + "localized": ["Lechner"], + "romanized": ["Lechner"], "count": 12851 }, { "id": "AT-33", "rank": 33, - "localized": [ - "Wolf" - ], - "romanized": [ - "Wolf" - ], + "localized": ["Wolf"], + "romanized": ["Wolf"], "count": 12493 }, { "id": "AT-34", "rank": 34, - "localized": [ - "Wallner" - ], - "romanized": [ - "Wallner" - ], + "localized": ["Wallner"], + "romanized": ["Wallner"], "count": 12484 }, { "id": "AT-35", "rank": 35, - "localized": [ - "Aigner" - ], - "romanized": [ - "Aigner" - ], + "localized": ["Aigner"], + "romanized": ["Aigner"], "count": 12413 }, { "id": "AT-36", "rank": 36, - "localized": [ - "Ebner" - ], - "romanized": [ - "Ebner" - ], + "localized": ["Ebner"], + "romanized": ["Ebner"], "count": 12018 }, { "id": "AT-37", "rank": 37, - "localized": [ - "Koller" - ], - "romanized": [ - "Koller" - ], + "localized": ["Koller"], + "romanized": ["Koller"], "count": 11651 }, { "id": "AT-38", "rank": 38, - "localized": [ - "Lehner" - ], - "romanized": [ - "Lehner" - ], + "localized": ["Lehner"], + "romanized": ["Lehner"], "count": 11356 }, { "id": "AT-39", "rank": 39, - "localized": [ - "Haas" - ], - "romanized": [ - "Haas" - ], + "localized": ["Haas"], + "romanized": ["Haas"], "count": 11293 }, { "id": "AT-40", "rank": 40, - "localized": [ - "Schuster" - ], - "romanized": [ - "Schuster" - ], + "localized": ["Schuster"], + "romanized": ["Schuster"], "count": 10460 }, { "id": "AT-41", "rank": 41, - "localized": [ - "Heilig" - ], - "romanized": [ - "Heilig" - ], + "localized": ["Heilig"], + "romanized": ["Heilig"], "count": 10397 } ], @@ -7975,61 +5042,36 @@ { "id": "BY-1", "rank": 1, - "localized": [ - "Іваноў", - "Иванов" - ], - "romanized": [ - "Ivanoŭ" - ], + "localized": ["Іваноў", "Иванов"], + "romanized": ["Ivanoŭ"], "count": 7000 }, { "id": "BY-2", "rank": 2, - "localized": [ - "Козлов", - "Казлоў" - ], - "romanized": [ - "Kazloŭ" - ], + "localized": ["Козлов", "Казлоў"], + "romanized": ["Kazloŭ"], "count": 4700 }, { "id": "BY-3", "rank": 3, - "localized": [ - "Кавалёў", - "Ковалёв" - ], - "romanized": [ - "Kavalioŭ" - ], + "localized": ["Кавалёў", "Ковалёв"], + "romanized": ["Kavalioŭ"], "count": 4300 }, { "id": "BY-4", "rank": 4, - "localized": [ - "Козловский", - "Казлоўскі" - ], - "romanized": [ - "Kazloŭski" - ], + "localized": ["Козловский", "Казлоўскі"], + "romanized": ["Kazloŭski"], "count": 3900 }, { "id": "BY-5", "rank": 5, - "localized": [ - "Новік", - "Новик" - ], - "romanized": [ - "Novik" - ], + "localized": ["Новік", "Новик"], + "romanized": ["Novik"], "count": 3300 } ], @@ -8037,287 +5079,183 @@ { "id": "BE-1", "rank": 1, - "localized": [ - "Peeters" - ], - "romanized": [ - "Peeters" - ], + "localized": ["Peeters"], + "romanized": ["Peeters"], "count": 31079 }, { "id": "BE-2", "rank": 2, - "localized": [ - "Janssens" - ], - "romanized": [ - "Janssens" - ], + "localized": ["Janssens"], + "romanized": ["Janssens"], "count": 28532 }, { "id": "BE-3", "rank": 3, - "localized": [ - "Maes" - ], - "romanized": [ - "Maes" - ], + "localized": ["Maes"], + "romanized": ["Maes"], "count": 24594 }, { "id": "BE-4", "rank": 4, - "localized": [ - "Jacobs" - ], - "romanized": [ - "Jacobs" - ], + "localized": ["Jacobs"], + "romanized": ["Jacobs"], "count": 19077 }, { "id": "BE-5", "rank": 5, - "localized": [ - "Mertens" - ], - "romanized": [ - "Mertens" - ], + "localized": ["Mertens"], + "romanized": ["Mertens"], "count": 17906 }, { "id": "BE-6", "rank": 6, - "localized": [ - "Willems" - ], - "romanized": [ - "Willems" - ], + "localized": ["Willems"], + "romanized": ["Willems"], "count": 17747 }, { "id": "BE-7", "rank": 7, - "localized": [ - "Claes" - ], - "romanized": [ - "Claes" - ], + "localized": ["Claes"], + "romanized": ["Claes"], "count": 15798 }, { "id": "BE-8", "rank": 8, - "localized": [ - "Goossens" - ], - "romanized": [ - "Goossens" - ], + "localized": ["Goossens"], + "romanized": ["Goossens"], "count": 15269 }, { "id": "BE-9", "rank": 9, - "localized": [ - "Wouters" - ], - "romanized": [ - "Wouters" - ], + "localized": ["Wouters"], + "romanized": ["Wouters"], "count": 14999 }, { "id": "BE-10", "rank": 10, - "localized": [ - "De Smet" - ], - "romanized": [ - "De Smet" - ], + "localized": ["De Smet"], + "romanized": ["De Smet"], "count": 13484 }, { "id": "BE-11", "rank": 13, - "localized": [ - "Dubois" - ], - "romanized": [ - "Dubois" - ], + "localized": ["Dubois"], + "romanized": ["Dubois"], "count": 12387 }, { "id": "BE-12", "rank": 17, - "localized": [ - "Lambert" - ], - "romanized": [ - "Lambert" - ], + "localized": ["Lambert"], + "romanized": ["Lambert"], "count": 11232 }, { "id": "BE-13", "rank": 21, - "localized": [ - "Dupont" - ], - "romanized": [ - "Dupont" - ], + "localized": ["Dupont"], + "romanized": ["Dupont"], "count": 9795 }, { "id": "BE-14", "rank": 31, - "localized": [ - "Martin" - ], - "romanized": [ - "Martin" - ], + "localized": ["Martin"], + "romanized": ["Martin"], "count": 8677 }, { "id": "BE-15", "rank": 36, - "localized": [ - "Diallo" - ], - "romanized": [ - "Diallo" - ], + "localized": ["Diallo"], + "romanized": ["Diallo"], "count": 8159 }, { "id": "BE-16", "rank": 37, - "localized": [ - "Simon" - ], - "romanized": [ - "Simon" - ], + "localized": ["Simon"], + "romanized": ["Simon"], "count": 7533 }, { "id": "BE-17", "rank": 40, - "localized": [ - "Dumont" - ], - "romanized": [ - "Dumont" - ], + "localized": ["Dumont"], + "romanized": ["Dumont"], "count": 7389 }, { "id": "BE-18", "rank": 45, - "localized": [ - "Leclercq" - ], - "romanized": [ - "Leclercq" - ], + "localized": ["Leclercq"], + "romanized": ["Leclercq"], "count": 7117 }, { "id": "BE-19", "rank": 47, - "localized": [ - "Laurent" - ], - "romanized": [ - "Laurent" - ], + "localized": ["Laurent"], + "romanized": ["Laurent"], "count": 6785 }, { "id": "BE-20", "rank": 50, - "localized": [ - "Denis" - ], - "romanized": [ - "Denis" - ], + "localized": ["Denis"], + "romanized": ["Denis"], "count": 6636 }, { "id": "BE-21", "rank": 59, - "localized": [ - "Lejeune" - ], - "romanized": [ - "Lejeune" - ], + "localized": ["Lejeune"], + "romanized": ["Lejeune"], "count": 6246 }, { "id": "BE-22", "rank": 119, - "localized": [ - "Bah" - ], - "romanized": [ - "Bah" - ], + "localized": ["Bah"], + "romanized": ["Bah"], "count": 4516 }, { "id": "BE-23", "rank": 234, - "localized": [ - "Barry" - ], - "romanized": [ - "Barry" - ], + "localized": ["Barry"], + "romanized": ["Barry"], "count": 3332 }, { "id": "BE-24", "rank": 318, - "localized": [ - "Nguyen" - ], - "romanized": [ - "Nguyen" - ], + "localized": ["Nguyen"], + "romanized": ["Nguyen"], "count": 2736 }, { "id": "BE-25", "rank": 451, - "localized": [ - "Sow" - ], - "romanized": [ - "Sow" - ], + "localized": ["Sow"], + "romanized": ["Sow"], "count": 2132 }, { "id": "BE-26", "rank": 956, - "localized": [ - "Benali" - ], - "romanized": [ - "Benali" - ], + "localized": ["Benali"], + "romanized": ["Benali"], "count": 1267 } ], @@ -8325,496 +5263,316 @@ { "id": "BA-1", "rank": null, - "localized": [ - "Hodžić" - ], - "romanized": [ - "Hodžić" - ], + "localized": ["Hodžić"], + "romanized": ["Hodžić"], "count": null }, { "id": "BA-2", "rank": null, - "localized": [ - "Hadžić" - ], - "romanized": [ - "Hadžić" - ], + "localized": ["Hadžić"], + "romanized": ["Hadžić"], "count": null }, { "id": "BA-3", "rank": null, - "localized": [ - "Čengić" - ], - "romanized": [ - "Čengić" - ], + "localized": ["Čengić"], + "romanized": ["Čengić"], "count": null }, { "id": "BA-4", "rank": null, - "localized": [ - "Delić" - ], - "romanized": [ - "Delić" - ], + "localized": ["Delić"], + "romanized": ["Delić"], "count": null }, { "id": "BA-5", "rank": null, - "localized": [ - "Demirović" - ], - "romanized": [ - "Demirović" - ], + "localized": ["Demirović"], + "romanized": ["Demirović"], "count": null }, { "id": "BA-6", "rank": null, - "localized": [ - "Kovačević" - ], - "romanized": [ - "Kovačević" - ], + "localized": ["Kovačević"], + "romanized": ["Kovačević"], "count": null }, { "id": "BA-7", "rank": null, - "localized": [ - "Tahirović" - ], - "romanized": [ - "Tahirović" - ], + "localized": ["Tahirović"], + "romanized": ["Tahirović"], "count": null }, { "id": "BA-8", "rank": null, - "localized": [ - "Ferhatović" - ], - "romanized": [ - "Ferhatović" - ], + "localized": ["Ferhatović"], + "romanized": ["Ferhatović"], "count": null }, { "id": "BA-9", "rank": null, - "localized": [ - "Muratović" - ], - "romanized": [ - "Muratović" - ], + "localized": ["Muratović"], + "romanized": ["Muratović"], "count": null }, { "id": "BA-10", "rank": null, - "localized": [ - "Ibrahimović" - ], - "romanized": [ - "Ibrahimović" - ], + "localized": ["Ibrahimović"], + "romanized": ["Ibrahimović"], "count": null }, { "id": "BA-11", "rank": null, - "localized": [ - "Hasanović" - ], - "romanized": [ - "Hasanović" - ], + "localized": ["Hasanović"], + "romanized": ["Hasanović"], "count": null }, { "id": "BA-12", "rank": null, - "localized": [ - "Mehmedović" - ], - "romanized": [ - "Mehmedović" - ], + "localized": ["Mehmedović"], + "romanized": ["Mehmedović"], "count": null }, { "id": "BA-13", "rank": null, - "localized": [ - "Salihović" - ], - "romanized": [ - "Salihović" - ], + "localized": ["Salihović"], + "romanized": ["Salihović"], "count": null }, { "id": "BA-14", "rank": null, - "localized": [ - "Terzić" - ], - "romanized": [ - "Terzić" - ], + "localized": ["Terzić"], + "romanized": ["Terzić"], "count": null }, { "id": "BA-15", "rank": null, - "localized": [ - "Ademović" - ], - "romanized": [ - "Ademović" - ], + "localized": ["Ademović"], + "romanized": ["Ademović"], "count": null }, { "id": "BA-16", "rank": null, - "localized": [ - "Adilović" - ], - "romanized": [ - "Adilović" - ], + "localized": ["Adilović"], + "romanized": ["Adilović"], "count": null }, { "id": "BA-17", "rank": null, - "localized": [ - "Delemović" - ], - "romanized": [ - "Delemović" - ], + "localized": ["Delemović"], + "romanized": ["Delemović"], "count": null }, { "id": "BA-18", "rank": null, - "localized": [ - "Zukić" - ], - "romanized": [ - "Zukić" - ], + "localized": ["Zukić"], + "romanized": ["Zukić"], "count": null }, { "id": "BA-19", "rank": null, - "localized": [ - "Krličević" - ], - "romanized": [ - "Krličević" - ], + "localized": ["Krličević"], + "romanized": ["Krličević"], "count": null }, { "id": "BA-20", "rank": null, - "localized": [ - "Suljić" - ], - "romanized": [ - "Suljić" - ], + "localized": ["Suljić"], + "romanized": ["Suljić"], "count": null }, { "id": "BA-21", "rank": null, - "localized": [ - "Ahmetović" - ], - "romanized": [ - "Ahmetović" - ], + "localized": ["Ahmetović"], + "romanized": ["Ahmetović"], "count": null }, { "id": "BA-22", "rank": null, - "localized": [ - "Kovačević" - ], - "romanized": [ - "Kovačević" - ], + "localized": ["Kovačević"], + "romanized": ["Kovačević"], "count": null }, { "id": "BA-23", "rank": null, - "localized": [ - "Subotić" - ], - "romanized": [ - "Subotić" - ], + "localized": ["Subotić"], + "romanized": ["Subotić"], "count": null }, { "id": "BA-24", "rank": null, - "localized": [ - "Savić" - ], - "romanized": [ - "Savić" - ], + "localized": ["Savić"], + "romanized": ["Savić"], "count": null }, { "id": "BA-25", "rank": null, - "localized": [ - "Popović" - ], - "romanized": [ - "Popović" - ], + "localized": ["Popović"], + "romanized": ["Popović"], "count": null }, { "id": "BA-26", "rank": null, - "localized": [ - "Jovanović" - ], - "romanized": [ - "Jovanović" - ], + "localized": ["Jovanović"], + "romanized": ["Jovanović"], "count": null }, { "id": "BA-27", "rank": null, - "localized": [ - "Petrović" - ], - "romanized": [ - "Petrović" - ], + "localized": ["Petrović"], + "romanized": ["Petrović"], "count": null }, { "id": "BA-28", "rank": null, - "localized": [ - "Đurić" - ], - "romanized": [ - "Đurić" - ], + "localized": ["Đurić"], + "romanized": ["Đurić"], "count": null }, { "id": "BA-29", "rank": null, - "localized": [ - "Babić" - ], - "romanized": [ - "Babić" - ], + "localized": ["Babić"], + "romanized": ["Babić"], "count": null }, { "id": "BA-30", "rank": null, - "localized": [ - "Lukić" - ], - "romanized": [ - "Lukić" - ], + "localized": ["Lukić"], + "romanized": ["Lukić"], "count": null }, { "id": "BA-31", "rank": null, - "localized": [ - "Knežević" - ], - "romanized": [ - "Knežević" - ], + "localized": ["Knežević"], + "romanized": ["Knežević"], "count": null }, { "id": "BA-32", "rank": null, - "localized": [ - "Marković" - ], - "romanized": [ - "Marković" - ], + "localized": ["Marković"], + "romanized": ["Marković"], "count": null }, { "id": "BA-33", "rank": null, - "localized": [ - "Ilić" - ], - "romanized": [ - "Ilić" - ], + "localized": ["Ilić"], + "romanized": ["Ilić"], "count": null }, { "id": "BA-34", "rank": null, - "localized": [ - "Đukić" - ], - "romanized": [ - "Đukić" - ], + "localized": ["Đukić"], + "romanized": ["Đukić"], "count": null }, { "id": "BA-35", "rank": null, - "localized": [ - "Vuković" - ], - "romanized": [ - "Vuković" - ], + "localized": ["Vuković"], + "romanized": ["Vuković"], "count": null }, { "id": "BA-36", "rank": null, - "localized": [ - "Vujić" - ], - "romanized": [ - "Vujić" - ], + "localized": ["Vujić"], + "romanized": ["Vujić"], "count": null }, { "id": "BA-37", "rank": null, - "localized": [ - "Simić" - ], - "romanized": [ - "Simić" - ], + "localized": ["Simić"], + "romanized": ["Simić"], "count": null }, { "id": "BA-38", "rank": null, - "localized": [ - "Radić" - ], - "romanized": [ - "Radić" - ], + "localized": ["Radić"], + "romanized": ["Radić"], "count": null }, { "id": "BA-39", "rank": null, - "localized": [ - "Nikolić" - ], - "romanized": [ - "Nikolić" - ], + "localized": ["Nikolić"], + "romanized": ["Nikolić"], "count": null }, { "id": "BA-40", "rank": null, - "localized": [ - "Marić" - ], - "romanized": [ - "Marić" - ], + "localized": ["Marić"], + "romanized": ["Marić"], "count": null }, { "id": "BA-41", "rank": null, - "localized": [ - "Mitrović" - ], - "romanized": [ - "Mitrović" - ], + "localized": ["Mitrović"], + "romanized": ["Mitrović"], "count": null }, { "id": "BA-42", "rank": null, - "localized": [ - "Tomić" - ], - "romanized": [ - "Tomić" - ], + "localized": ["Tomić"], + "romanized": ["Tomić"], "count": null }, { "id": "BA-43", "rank": null, - "localized": [ - "Božić" - ], - "romanized": [ - "Božić" - ], + "localized": ["Božić"], + "romanized": ["Božić"], "count": null }, { "id": "BA-44", "rank": null, - "localized": [ - "Golubović" - ], - "romanized": [ - "Golubović" - ], + "localized": ["Golubović"], + "romanized": ["Golubović"], "count": null }, { "id": "BA-45", "rank": null, - "localized": [ - "Mirković" - ], - "romanized": [ - "Mirković" - ], + "localized": ["Mirković"], + "romanized": ["Mirković"], "count": null } ], @@ -8822,131 +5580,71 @@ { "id": "BG-1", "rank": 1, - "localized": [ - "Иванов", - "Иванова" - ], - "romanized": [ - "Ivanov", - "Ivanova" - ], + "localized": ["Иванов", "Иванова"], + "romanized": ["Ivanov", "Ivanova"], "count": 277308 }, { "id": "BG-2", "rank": 2, - "localized": [ - "Георгиева", - "Георгиев" - ], - "romanized": [ - "Georgiev", - "Georgieva" - ], + "localized": ["Георгиева", "Георгиев"], + "romanized": ["Georgiev", "Georgieva"], "count": 213511 }, { "id": "BG-3", "rank": 3, - "localized": [ - "Димитрова", - "Димитров" - ], - "romanized": [ - "Dimitrov", - "Dimitrova" - ], + "localized": ["Димитрова", "Димитров"], + "romanized": ["Dimitrov", "Dimitrova"], "count": 205774 }, { "id": "BG-4", "rank": 4, - "localized": [ - "Петрова", - "Петров" - ], - "romanized": [ - "Petrov", - "Petrova" - ], + "localized": ["Петрова", "Петров"], + "romanized": ["Petrov", "Petrova"], "count": 138886 }, { "id": "BG-5", "rank": 5, - "localized": [ - "Николова", - "Николов" - ], - "romanized": [ - "Nikolov", - "Nikolova" - ], + "localized": ["Николова", "Николов"], + "romanized": ["Nikolov", "Nikolova"], "count": 119528 }, { "id": "BG-6", "rank": 6, - "localized": [ - "Христов", - "Христова" - ], - "romanized": [ - "Hristov", - "Hristova" - ], + "localized": ["Христов", "Христова"], + "romanized": ["Hristov", "Hristova"], "count": 110852 }, { "id": "BG-7", "rank": 7, - "localized": [ - "Стоянов", - "Стоянова" - ], - "romanized": [ - "Stoyanova", - "Stoyanov" - ], + "localized": ["Стоянов", "Стоянова"], + "romanized": ["Stoyanova", "Stoyanov"], "count": 109475 }, { "id": "BG-8", "rank": 8, - "localized": [ - "Тодоров", - "Тодорова" - ], - "romanized": [ - "Todorova", - "Todorov" - ], + "localized": ["Тодоров", "Тодорова"], + "romanized": ["Todorova", "Todorov"], "count": 106414 }, { "id": "BG-9", "rank": 9, - "localized": [ - "Илиев", - "Илиева" - ], - "romanized": [ - "Iliev", - "Ilieva" - ], + "localized": ["Илиев", "Илиева"], + "romanized": ["Iliev", "Ilieva"], "count": 91075 }, { "id": "BG-10", "rank": 10, - "localized": [ - "Ангелова", - "Ангелов" - ], - "romanized": [ - "Angelov", - "Angelova" - ], + "localized": ["Ангелова", "Ангелов"], + "romanized": ["Angelov", "Angelova"], "count": 89614 } ], @@ -8954,331 +5652,211 @@ { "id": "HR-1", "rank": 1, - "localized": [ - "Horvat" - ], - "romanized": [ - "Horvat" - ], + "localized": ["Horvat"], + "romanized": ["Horvat"], "count": 21618 }, { "id": "HR-2", "rank": 2, - "localized": [ - "Kovačević" - ], - "romanized": [ - "Kovačević" - ], + "localized": ["Kovačević"], + "romanized": ["Kovačević"], "count": 15160 }, { "id": "HR-3", "rank": 3, - "localized": [ - "Babić" - ], - "romanized": [ - "Babić" - ], + "localized": ["Babić"], + "romanized": ["Babić"], "count": 12840 }, { "id": "HR-4", "rank": 4, - "localized": [ - "Marić" - ], - "romanized": [ - "Marić" - ], + "localized": ["Marić"], + "romanized": ["Marić"], "count": 11555 }, { "id": "HR-5", "rank": 5, - "localized": [ - "Jurić" - ], - "romanized": [ - "Jurić" - ], + "localized": ["Jurić"], + "romanized": ["Jurić"], "count": 11163 }, { "id": "HR-6", "rank": 6, - "localized": [ - "Novak" - ], - "romanized": [ - "Novak" - ], + "localized": ["Novak"], + "romanized": ["Novak"], "count": 10794 }, { "id": "HR-7", "rank": 7, - "localized": [ - "Kovačić" - ], - "romanized": [ - "Kovačić" - ], + "localized": ["Kovačić"], + "romanized": ["Kovačić"], "count": 10546 }, { "id": "HR-8", "rank": 8, - "localized": [ - "Knežević" - ], - "romanized": [ - "Knežević" - ], + "localized": ["Knežević"], + "romanized": ["Knežević"], "count": 10334 }, { "id": "HR-9", "rank": 9, - "localized": [ - "Vuković" - ], - "romanized": [ - "Vuković" - ], + "localized": ["Vuković"], + "romanized": ["Vuković"], "count": 10191 }, { "id": "HR-10", "rank": 10, - "localized": [ - "Marković" - ], - "romanized": [ - "Marković" - ], + "localized": ["Marković"], + "romanized": ["Marković"], "count": 9854 }, { "id": "HR-11", "rank": 11, - "localized": [ - "Petrović" - ], - "romanized": [ - "Petrović" - ], + "localized": ["Petrović"], + "romanized": ["Petrović"], "count": 9614 }, { "id": "HR-12", "rank": 12, - "localized": [ - "Matić" - ], - "romanized": [ - "Matić" - ], + "localized": ["Matić"], + "romanized": ["Matić"], "count": 9960 }, { "id": "HR-13", "rank": 13, - "localized": [ - "Tomić" - ], - "romanized": [ - "Tomić" - ], + "localized": ["Tomić"], + "romanized": ["Tomić"], "count": 9464 }, { "id": "HR-14", "rank": 14, - "localized": [ - "Pavlović" - ], - "romanized": [ - "Pavlović" - ], + "localized": ["Pavlović"], + "romanized": ["Pavlović"], "count": 8601 }, { "id": "HR-15", "rank": 15, - "localized": [ - "Kovač" - ], - "romanized": [ - "Kovač" - ], + "localized": ["Kovač"], + "romanized": ["Kovač"], "count": 8542 }, { "id": "HR-16", "rank": 16, - "localized": [ - "Božić" - ], - "romanized": [ - "Božić" - ], + "localized": ["Božić"], + "romanized": ["Božić"], "count": 8258 }, { "id": "HR-17", "rank": 17, - "localized": [ - "Blažević" - ], - "romanized": [ - "Blažević" - ], + "localized": ["Blažević"], + "romanized": ["Blažević"], "count": 8152 }, { "id": "HR-18", "rank": 18, - "localized": [ - "Grgić" - ], - "romanized": [ - "Grgić" - ], + "localized": ["Grgić"], + "romanized": ["Grgić"], "count": 8010 }, { "id": "HR-19", "rank": 19, - "localized": [ - "Pavić" - ], - "romanized": [ - "Pavić" - ], + "localized": ["Pavić"], + "romanized": ["Pavić"], "count": 7538 }, { "id": "HR-20", "rank": 20, - "localized": [ - "Radić" - ], - "romanized": [ - "Radić" - ], + "localized": ["Radić"], + "romanized": ["Radić"], "count": 7406 }, { "id": "HR-21", "rank": 21, - "localized": [ - "Perić" - ], - "romanized": [ - "Perić" - ], + "localized": ["Perić"], + "romanized": ["Perić"], "count": 7351 }, { "id": "HR-22", "rank": 22, - "localized": [ - "Filipović" - ], - "romanized": [ - "Filipović" - ], + "localized": ["Filipović"], + "romanized": ["Filipović"], "count": 7321 }, { "id": "HR-23", "rank": 23, - "localized": [ - "Šarić" - ], - "romanized": [ - "Šarić" - ], + "localized": ["Šarić"], + "romanized": ["Šarić"], "count": 7184 }, { "id": "HR-24", "rank": 24, - "localized": [ - "Lovrić" - ], - "romanized": [ - "Lovrić" - ], + "localized": ["Lovrić"], + "romanized": ["Lovrić"], "count": 7131 }, { "id": "HR-25", "rank": 25, - "localized": [ - "Vidović" - ], - "romanized": [ - "Vidović" - ], + "localized": ["Vidović"], + "romanized": ["Vidović"], "count": 6986 }, { "id": "HR-26", "rank": 26, - "localized": [ - "Perković" - ], - "romanized": [ - "Perković" - ], + "localized": ["Perković"], + "romanized": ["Perković"], "count": 6903 }, { "id": "HR-27", "rank": 27, - "localized": [ - "Popović" - ], - "romanized": [ - "Popović" - ], + "localized": ["Popović"], + "romanized": ["Popović"], "count": 6797 }, { "id": "HR-28", "rank": 28, - "localized": [ - "Bošnjak" - ], - "romanized": [ - "Bošnjak" - ], + "localized": ["Bošnjak"], + "romanized": ["Bošnjak"], "count": 6760 }, { "id": "HR-29", "rank": 29, - "localized": [ - "Jukić" - ], - "romanized": [ - "Jukić" - ], + "localized": ["Jukić"], + "romanized": ["Jukić"], "count": 6653 }, { "id": "HR-30", "rank": 30, - "localized": [ - "Barišić" - ], - "romanized": [ - "Barišić" - ], + "localized": ["Barišić"], + "romanized": ["Barišić"], "count": 6417 } ], @@ -9286,131 +5864,71 @@ { "id": "CZ-1", "rank": 1, - "localized": [ - "Novák", - "Nováková" - ], - "romanized": [ - "Novák", - "Nováková" - ], + "localized": ["Novák", "Nováková"], + "romanized": ["Novák", "Nováková"], "count": 69726 }, { "id": "CZ-2", "rank": 2, - "localized": [ - "Svobodová", - "Svoboda" - ], - "romanized": [ - "Svobodová", - "Svoboda" - ], + "localized": ["Svobodová", "Svoboda"], + "romanized": ["Svobodová", "Svoboda"], "count": 51861 }, { "id": "CZ-3", "rank": 3, - "localized": [ - "Novotný", - "Novotná" - ], - "romanized": [ - "Novotný", - "Novotná" - ], + "localized": ["Novotný", "Novotná"], + "romanized": ["Novotný", "Novotná"], "count": 49648 }, { "id": "CZ-4", "rank": 4, - "localized": [ - "Dvořáková", - "Dvořák" - ], - "romanized": [ - "Dvořáková", - "Dvořák" - ], + "localized": ["Dvořáková", "Dvořák"], + "romanized": ["Dvořáková", "Dvořák"], "count": 45744 }, { "id": "CZ-5", "rank": 5, - "localized": [ - "Černá", - "Černý" - ], - "romanized": [ - "Černá", - "Černý" - ], + "localized": ["Černá", "Černý"], + "romanized": ["Černá", "Černý"], "count": 36317 }, { "id": "CZ-6", "rank": 6, - "localized": [ - "Procházková", - "Procházka" - ], - "romanized": [ - "Procházková", - "Procházka" - ], + "localized": ["Procházková", "Procházka"], + "romanized": ["Procházková", "Procházka"], "count": 32891 }, { "id": "CZ-7", "rank": 7, - "localized": [ - "Kučera", - "Kučerová" - ], - "romanized": [ - "Kučera", - "Kučerová" - ], + "localized": ["Kučera", "Kučerová"], + "romanized": ["Kučera", "Kučerová"], "count": 30876 }, { "id": "CZ-8", "rank": 8, - "localized": [ - "Veselý", - "Veselá" - ], - "romanized": [ - "Veselý", - "Veselá" - ], + "localized": ["Veselý", "Veselá"], + "romanized": ["Veselý", "Veselá"], "count": 26376 }, { "id": "CZ-9", "rank": 9, - "localized": [ - "Horáková", - "Horák" - ], - "romanized": [ - "Horáková", - "Horák" - ], + "localized": ["Horáková", "Horák"], + "romanized": ["Horáková", "Horák"], "count": 24961 }, { "id": "CZ-10", "rank": 10, - "localized": [ - "Němec", - "Němcová" - ], - "romanized": [ - "Němec", - "Němcová" - ], + "localized": ["Němec", "Němcová"], + "romanized": ["Němec", "Němcová"], "count": 22755 } ], @@ -9418,221 +5936,141 @@ { "id": "DK-1", "rank": 1, - "localized": [ - "Nielsen" - ], - "romanized": [ - "Nielsen" - ], + "localized": ["Nielsen"], + "romanized": ["Nielsen"], "count": 236397 }, { "id": "DK-2", "rank": 2, - "localized": [ - "Jensen" - ], - "romanized": [ - "Jensen" - ], + "localized": ["Jensen"], + "romanized": ["Jensen"], "count": 233713 }, { "id": "DK-3", "rank": 3, - "localized": [ - "Hansen" - ], - "romanized": [ - "Hansen" - ], + "localized": ["Hansen"], + "romanized": ["Hansen"], "count": 197548 }, { "id": "DK-4", "rank": 4, - "localized": [ - "Pedersen" - ], - "romanized": [ - "Pedersen" - ], + "localized": ["Pedersen"], + "romanized": ["Pedersen"], "count": 150161 }, { "id": "DK-5", "rank": 5, - "localized": [ - "Andersen" - ], - "romanized": [ - "Andersen" - ], + "localized": ["Andersen"], + "romanized": ["Andersen"], "count": 149643 }, { "id": "DK-6", "rank": 6, - "localized": [ - "Christensen" - ], - "romanized": [ - "Christensen" - ], + "localized": ["Christensen"], + "romanized": ["Christensen"], "count": 111816 }, { "id": "DK-7", "rank": 7, - "localized": [ - "Larsen" - ], - "romanized": [ - "Larsen" - ], + "localized": ["Larsen"], + "romanized": ["Larsen"], "count": 107721 }, { "id": "DK-8", "rank": 8, - "localized": [ - "Sørensen" - ], - "romanized": [ - "Sørensen" - ], + "localized": ["Sørensen"], + "romanized": ["Sørensen"], "count": 102848 }, { "id": "DK-9", "rank": 9, - "localized": [ - "Rasmussen" - ], - "romanized": [ - "Rasmussen" - ], + "localized": ["Rasmussen"], + "romanized": ["Rasmussen"], "count": 88351 }, { "id": "DK-10", "rank": 10, - "localized": [ - "Jørgensen" - ], - "romanized": [ - "Jørgensen" - ], + "localized": ["Jørgensen"], + "romanized": ["Jørgensen"], "count": 82285 }, { "id": "DK-11", "rank": 11, - "localized": [ - "Petersen" - ], - "romanized": [ - "Petersen" - ], + "localized": ["Petersen"], + "romanized": ["Petersen"], "count": 72757 }, { "id": "DK-12", "rank": 12, - "localized": [ - "Madsen" - ], - "romanized": [ - "Madsen" - ], + "localized": ["Madsen"], + "romanized": ["Madsen"], "count": 60676 }, { "id": "DK-13", "rank": 13, - "localized": [ - "Kristensen" - ], - "romanized": [ - "Kristensen" - ], + "localized": ["Kristensen"], + "romanized": ["Kristensen"], "count": 57758 }, { "id": "DK-14", "rank": 14, - "localized": [ - "Olsen" - ], - "romanized": [ - "Olsen" - ], + "localized": ["Olsen"], + "romanized": ["Olsen"], "count": 44629 }, { "id": "DK-15", "rank": 15, - "localized": [ - "Thomsen" - ], - "romanized": [ - "Thomsen" - ], + "localized": ["Thomsen"], + "romanized": ["Thomsen"], "count": 38244 }, { "id": "DK-16", "rank": 16, - "localized": [ - "Christiansen" - ], - "romanized": [ - "Christiansen" - ], + "localized": ["Christiansen"], + "romanized": ["Christiansen"], "count": 35143 }, { "id": "DK-17", "rank": 17, - "localized": [ - "Poulsen" - ], - "romanized": [ - "Poulsen" - ], + "localized": ["Poulsen"], + "romanized": ["Poulsen"], "count": 30545 }, { "id": "DK-18", "rank": 18, - "localized": [ - "Johansen" - ], - "romanized": [ - "Johansen" - ], + "localized": ["Johansen"], + "romanized": ["Johansen"], "count": 29866 }, { "id": "DK-19", "rank": 19, - "localized": [ - "Møller" - ], - "romanized": [ - "Møller" - ], + "localized": ["Møller"], + "romanized": ["Møller"], "count": 29481 }, { "id": "DK-20", "rank": 20, - "localized": [ - "Mortensen" - ], - "romanized": [ - "Mortensen" - ], + "localized": ["Mortensen"], + "romanized": ["Mortensen"], "count": 28124 } ], @@ -9640,221 +6078,141 @@ { "id": "FO-1", "rank": 1, - "localized": [ - "Joensen" - ], - "romanized": [ - "Joensen" - ], + "localized": ["Joensen"], + "romanized": ["Joensen"], "count": 2372 }, { "id": "FO-2", "rank": 2, - "localized": [ - "Hansen" - ], - "romanized": [ - "Hansen" - ], + "localized": ["Hansen"], + "romanized": ["Hansen"], "count": 2181 }, { "id": "FO-3", "rank": 3, - "localized": [ - "Jacobsen" - ], - "romanized": [ - "Jacobsen" - ], + "localized": ["Jacobsen"], + "romanized": ["Jacobsen"], "count": 2051 }, { "id": "FO-4", "rank": 4, - "localized": [ - "Olsen" - ], - "romanized": [ - "Olsen" - ], + "localized": ["Olsen"], + "romanized": ["Olsen"], "count": 1670 }, { "id": "FO-5", "rank": 5, - "localized": [ - "Petersen" - ], - "romanized": [ - "Petersen" - ], + "localized": ["Petersen"], + "romanized": ["Petersen"], "count": 1298 }, { "id": "FO-6", "rank": 6, - "localized": [ - "Poulsen" - ], - "romanized": [ - "Poulsen" - ], + "localized": ["Poulsen"], + "romanized": ["Poulsen"], "count": 1257 }, { "id": "FO-7", "rank": 7, - "localized": [ - "Johannesen" - ], - "romanized": [ - "Johannesen" - ], + "localized": ["Johannesen"], + "romanized": ["Johannesen"], "count": 973 }, { "id": "FO-8", "rank": 8, - "localized": [ - "Thomsen" - ], - "romanized": [ - "Thomsen" - ], + "localized": ["Thomsen"], + "romanized": ["Thomsen"], "count": 719 }, { "id": "FO-9", "rank": 9, - "localized": [ - "Nielsen" - ], - "romanized": [ - "Nielsen" - ], + "localized": ["Nielsen"], + "romanized": ["Nielsen"], "count": 647 }, { "id": "FO-10", "rank": 10, - "localized": [ - "Rasmussen" - ], - "romanized": [ - "Rasmussen" - ], + "localized": ["Rasmussen"], + "romanized": ["Rasmussen"], "count": 539 }, { "id": "FO-11", "rank": 11, - "localized": [ - "Djurhuus" - ], - "romanized": [ - "Djurhuus" - ], + "localized": ["Djurhuus"], + "romanized": ["Djurhuus"], "count": 537 }, { "id": "FO-12", "rank": 12, - "localized": [ - "Johansen" - ], - "romanized": [ - "Johansen" - ], + "localized": ["Johansen"], + "romanized": ["Johansen"], "count": 535 }, { "id": "FO-13", "rank": 13, - "localized": [ - "Simonsen" - ], - "romanized": [ - "Simonsen" - ], + "localized": ["Simonsen"], + "romanized": ["Simonsen"], "count": 526 }, { "id": "FO-14", "rank": 14, - "localized": [ - "Danielsen" - ], - "romanized": [ - "Danielsen" - ], + "localized": ["Danielsen"], + "romanized": ["Danielsen"], "count": 524 }, { "id": "FO-15", "rank": 15, - "localized": [ - "Jensen" - ], - "romanized": [ - "Jensen" - ], + "localized": ["Jensen"], + "romanized": ["Jensen"], "count": 492 }, { "id": "FO-16", "rank": 16, - "localized": [ - "Mortensen" - ], - "romanized": [ - "Mortensen" - ], + "localized": ["Mortensen"], + "romanized": ["Mortensen"], "count": 471 }, { "id": "FO-17", "rank": 17, - "localized": [ - "Højgaard" - ], - "romanized": [ - "Højgaard" - ], + "localized": ["Højgaard"], + "romanized": ["Højgaard"], "count": 462 }, { "id": "FO-18", "rank": 18, - "localized": [ - "Mikkelsen" - ], - "romanized": [ - "Mikkelsen" - ], + "localized": ["Mikkelsen"], + "romanized": ["Mikkelsen"], "count": 432 }, { "id": "FO-19", "rank": 19, - "localized": [ - "Sørensen" - ], - "romanized": [ - "Sørensen" - ], + "localized": ["Sørensen"], + "romanized": ["Sørensen"], "count": 420 }, { "id": "FO-20", "rank": 20, - "localized": [ - "Dam" - ], - "romanized": [ - "Dam" - ], + "localized": ["Dam"], + "romanized": ["Dam"], "count": 418 } ], @@ -9862,232 +6220,148 @@ { "id": "EE-1", "rank": 1, - "localized": [ - "Ivanov" - ], - "romanized": [ - "Ivanov" - ], + "localized": ["Ivanov"], + "romanized": ["Ivanov"], "count": 6789 }, { "id": "EE-2", "rank": 2, - "localized": [ - "Tamm" - ], - "romanized": [ - "Tamm" - ], + "localized": ["Tamm"], + "romanized": ["Tamm"], "count": 5241 }, { "id": "EE-3", "rank": 3, - "localized": [ - "Saar" - ], - "romanized": [ - "Saar" - ], + "localized": ["Saar"], + "romanized": ["Saar"], "count": 4352 }, { "id": "EE-4", "rank": 4, - "localized": [ - "Sepp" - ], - "romanized": [ - "Sepp" - ], + "localized": ["Sepp"], + "romanized": ["Sepp"], "count": 3624 }, { "id": "EE-5", "rank": 5, - "localized": [ - "Mägi" - ], - "romanized": [ - "Mägi" - ], + "localized": ["Mägi"], + "romanized": ["Mägi"], "count": 3613 }, { "id": "EE-6", "rank": 6, - "localized": [ - "Smirnov" - ], - "romanized": [ - "Smirnov" - ], + "localized": ["Smirnov"], + "romanized": ["Smirnov"], "count": 3402 }, { "id": "EE-7", "rank": 7, - "localized": [ - "Vassiljev" - ], - "romanized": [ - "Vassiljev" - ], + "localized": ["Vassiljev"], + "romanized": ["Vassiljev"], "count": 3153 }, { "id": "EE-8", "rank": 8, - "localized": [ - "Petrov" - ], - "romanized": [ - "Petrov" - ], + "localized": ["Petrov"], + "romanized": ["Petrov"], "count": 2932 }, { "id": "EE-9", "rank": 9, - "localized": [ - "Kask" - ], - "romanized": [ - "Kask" - ], + "localized": ["Kask"], + "romanized": ["Kask"], "count": 2847 }, { "id": "EE-10", "rank": 10, - "localized": [ - "Kukk" - ], - "romanized": [ - "Kukk" - ], + "localized": ["Kukk"], + "romanized": ["Kukk"], "count": 2728 }, { "id": "EE-11", "rank": 11, - "localized": [ - "Kuznetsov" - ], - "romanized": [ - "Kuznetsov" - ], + "localized": ["Kuznetsov"], + "romanized": ["Kuznetsov"], "count": 2339 }, { "id": "EE-12", "rank": 12, - "localized": [ - "Rebane" - ], - "romanized": [ - "Rebane" - ], + "localized": ["Rebane"], + "romanized": ["Rebane"], "count": 2265 }, { "id": "EE-13", "rank": 13, - "localized": [ - "Karpin" - ], - "romanized": [ - "Karpin" - ], + "localized": ["Karpin"], + "romanized": ["Karpin"], "count": 2265 }, { "id": "EE-14", "rank": 14, - "localized": [ - "Ilves" - ], - "romanized": [ - "Ilves" - ], + "localized": ["Ilves"], + "romanized": ["Ilves"], "count": 2165 }, { "id": "EE-15", "rank": 15, - "localized": [ - "Mihhailov" - ], - "romanized": [ - "Mihhailov" - ], + "localized": ["Mihhailov"], + "romanized": ["Mihhailov"], "count": 1968 }, { "id": "EE-16", "rank": 16, - "localized": [ - "Pärn" - ], - "romanized": [ - "Pärn" - ], + "localized": ["Pärn"], + "romanized": ["Pärn"], "count": 1933 }, { "id": "EE-17", "rank": 17, - "localized": [ - "Pavlov" - ], - "romanized": [ - "Pavlov" - ], + "localized": ["Pavlov"], + "romanized": ["Pavlov"], "count": 1927 }, { "id": "EE-18", "rank": 18, - "localized": [ - "Semjonov" - ], - "romanized": [ - "Semjonov" - ], + "localized": ["Semjonov"], + "romanized": ["Semjonov"], "count": 1909 }, { "id": "EE-19", "rank": 19, - "localized": [ - "Koppel" - ], - "romanized": [ - "Koppel" - ], + "localized": ["Koppel"], + "romanized": ["Koppel"], "count": 1882 }, { "id": "EE-20", "rank": 20, - "localized": [ - "Andrejev" - ], - "romanized": [ - "Andrejev" - ], + "localized": ["Andrejev"], + "romanized": ["Andrejev"], "count": 1862 }, { "id": "EE-21", "rank": 21, - "localized": [ - "Aleksejev" - ], - "romanized": [ - "Aleksejev" - ], + "localized": ["Aleksejev"], + "romanized": ["Aleksejev"], "count": 1845 } ], @@ -10095,331 +6369,211 @@ { "id": "FI-1", "rank": 1, - "localized": [ - "Korhonen" - ], - "romanized": [ - "Korhonen" - ], + "localized": ["Korhonen"], + "romanized": ["Korhonen"], "count": 23312 }, { "id": "FI-2", "rank": 2, - "localized": [ - "Virtanen" - ], - "romanized": [ - "Virtanen" - ], + "localized": ["Virtanen"], + "romanized": ["Virtanen"], "count": 23020 }, { "id": "FI-3", "rank": 3, - "localized": [ - "Mäkinen" - ], - "romanized": [ - "Mäkinen" - ], + "localized": ["Mäkinen"], + "romanized": ["Mäkinen"], "count": 21014 }, { "id": "FI-4", "rank": 4, - "localized": [ - "Nieminen" - ], - "romanized": [ - "Nieminen" - ], + "localized": ["Nieminen"], + "romanized": ["Nieminen"], "count": 20969 }, { "id": "FI-5", "rank": 5, - "localized": [ - "Mäkelä" - ], - "romanized": [ - "Mäkelä" - ], + "localized": ["Mäkelä"], + "romanized": ["Mäkelä"], "count": 19538 }, { "id": "FI-6", "rank": 6, - "localized": [ - "Hämäläinen" - ], - "romanized": [ - "Hämäläinen" - ], + "localized": ["Hämäläinen"], + "romanized": ["Hämäläinen"], "count": 19129 }, { "id": "FI-7", "rank": 7, - "localized": [ - "Laine" - ], - "romanized": [ - "Laine" - ], + "localized": ["Laine"], + "romanized": ["Laine"], "count": 18752 }, { "id": "FI-8", "rank": 8, - "localized": [ - "Heikkinen" - ], - "romanized": [ - "Heikkinen" - ], + "localized": ["Heikkinen"], + "romanized": ["Heikkinen"], "count": 17926 }, { "id": "FI-9", "rank": 9, - "localized": [ - "Koskinen" - ], - "romanized": [ - "Koskinen" - ], + "localized": ["Koskinen"], + "romanized": ["Koskinen"], "count": 17737 }, { "id": "FI-10", "rank": 10, - "localized": [ - "Järvinen" - ], - "romanized": [ - "Järvinen" - ], + "localized": ["Järvinen"], + "romanized": ["Järvinen"], "count": 16802 }, { "id": "FI-11", "rank": 11, - "localized": [ - "Lehtonen" - ], - "romanized": [ - "Lehtonen" - ], + "localized": ["Lehtonen"], + "romanized": ["Lehtonen"], "count": 16649 }, { "id": "FI-12", "rank": 12, - "localized": [ - "Lehtinen" - ], - "romanized": [ - "Lehtinen" - ], + "localized": ["Lehtinen"], + "romanized": ["Lehtinen"], "count": 15602 }, { "id": "FI-13", "rank": 13, - "localized": [ - "Saarinen" - ], - "romanized": [ - "Saarinen" - ], + "localized": ["Saarinen"], + "romanized": ["Saarinen"], "count": 15295 }, { "id": "FI-14", "rank": 14, - "localized": [ - "Salminen" - ], - "romanized": [ - "Salminen" - ], + "localized": ["Salminen"], + "romanized": ["Salminen"], "count": 15087 }, { "id": "FI-15", "rank": 15, - "localized": [ - "Heinonen" - ], - "romanized": [ - "Heinonen" - ], + "localized": ["Heinonen"], + "romanized": ["Heinonen"], "count": 14957 }, { "id": "FI-16", "rank": 16, - "localized": [ - "Niemi" - ], - "romanized": [ - "Niemi" - ], + "localized": ["Niemi"], + "romanized": ["Niemi"], "count": 14951 }, { "id": "FI-17", "rank": 17, - "localized": [ - "Heikkilä" - ], - "romanized": [ - "Heikkilä" - ], + "localized": ["Heikkilä"], + "romanized": ["Heikkilä"], "count": 14558 }, { "id": "FI-18", "rank": 18, - "localized": [ - "Kinnunen" - ], - "romanized": [ - "Kinnunen" - ], + "localized": ["Kinnunen"], + "romanized": ["Kinnunen"], "count": 14319 }, { "id": "FI-19", "rank": 19, - "localized": [ - "Salonen" - ], - "romanized": [ - "Salonen" - ], + "localized": ["Salonen"], + "romanized": ["Salonen"], "count": 14270 }, { "id": "FI-20", "rank": 20, - "localized": [ - "Turunen" - ], - "romanized": [ - "Turunen" - ], + "localized": ["Turunen"], + "romanized": ["Turunen"], "count": 13802 }, { "id": "FI-21", "rank": 21, - "localized": [ - "Salo" - ], - "romanized": [ - "Salo" - ], + "localized": ["Salo"], + "romanized": ["Salo"], "count": 13487 }, { "id": "FI-22", "rank": 22, - "localized": [ - "Laitinen" - ], - "romanized": [ - "Laitinen" - ], + "localized": ["Laitinen"], + "romanized": ["Laitinen"], "count": 13085 }, { "id": "FI-23", "rank": 23, - "localized": [ - "Tuominen" - ], - "romanized": [ - "Tuominen" - ], + "localized": ["Tuominen"], + "romanized": ["Tuominen"], "count": 12852 }, { "id": "FI-24", "rank": 24, - "localized": [ - "Rantanen" - ], - "romanized": [ - "Rantanen" - ], + "localized": ["Rantanen"], + "romanized": ["Rantanen"], "count": 12834 }, { "id": "FI-25", "rank": 25, - "localized": [ - "Karjalainen" - ], - "romanized": [ - "Karjalainen" - ], + "localized": ["Karjalainen"], + "romanized": ["Karjalainen"], "count": 12830 }, { "id": "FI-26", "rank": 26, - "localized": [ - "Jokinen" - ], - "romanized": [ - "Jokinen" - ], + "localized": ["Jokinen"], + "romanized": ["Jokinen"], "count": 12514 }, { "id": "FI-27", "rank": 27, - "localized": [ - "Mattila" - ], - "romanized": [ - "Mattila" - ], + "localized": ["Mattila"], + "romanized": ["Mattila"], "count": 12330 }, { "id": "FI-28", "rank": 28, - "localized": [ - "Savolainen" - ], - "romanized": [ - "Savolainen" - ], + "localized": ["Savolainen"], + "romanized": ["Savolainen"], "count": 11592 }, { "id": "FI-29", "rank": 29, - "localized": [ - "Lahtinen" - ], - "romanized": [ - "Lahtinen" - ], + "localized": ["Lahtinen"], + "romanized": ["Lahtinen"], "count": 11470 }, { "id": "FI-30", "rank": 30, - "localized": [ - "Ahonen" - ], - "romanized": [ - "Ahonen" - ], + "localized": ["Ahonen"], + "romanized": ["Ahonen"], "count": 11238 } ], @@ -10427,331 +6581,211 @@ { "id": "FR-1", "rank": 1, - "localized": [ - "Martin" - ], - "romanized": [ - "Martin" - ], + "localized": ["Martin"], + "romanized": ["Martin"], "count": 235846 }, { "id": "FR-2", "rank": 2, - "localized": [ - "Bernard" - ], - "romanized": [ - "Bernard" - ], + "localized": ["Bernard"], + "romanized": ["Bernard"], "count": 105132 }, { "id": "FR-3", "rank": 3, - "localized": [ - "Dubois" - ], - "romanized": [ - "Dubois" - ], + "localized": ["Dubois"], + "romanized": ["Dubois"], "count": 95998 }, { "id": "FR-4", "rank": 4, - "localized": [ - "Thomas" - ], - "romanized": [ - "Thomas" - ], + "localized": ["Thomas"], + "romanized": ["Thomas"], "count": 95387 }, { "id": "FR-5", "rank": 5, - "localized": [ - "Robert" - ], - "romanized": [ - "Robert" - ], + "localized": ["Robert"], + "romanized": ["Robert"], "count": 91393 }, { "id": "FR-6", "rank": 6, - "localized": [ - "Richard" - ], - "romanized": [ - "Richard" - ], + "localized": ["Richard"], + "romanized": ["Richard"], "count": 90689 }, { "id": "FR-7", "rank": 7, - "localized": [ - "Petit" - ], - "romanized": [ - "Petit" - ], + "localized": ["Petit"], + "romanized": ["Petit"], "count": 88318 }, { "id": "FR-8", "rank": 8, - "localized": [ - "Durand" - ], - "romanized": [ - "Durand" - ], + "localized": ["Durand"], + "romanized": ["Durand"], "count": 84252 }, { "id": "FR-9", "rank": 9, - "localized": [ - "Leroy" - ], - "romanized": [ - "Leroy" - ], + "localized": ["Leroy"], + "romanized": ["Leroy"], "count": 78868 }, { "id": "FR-10", "rank": 10, - "localized": [ - "Moreau" - ], - "romanized": [ - "Moreau" - ], + "localized": ["Moreau"], + "romanized": ["Moreau"], "count": 78177 }, { "id": "FR-11", "rank": 11, - "localized": [ - "Simon" - ], - "romanized": [ - "Simon" - ], + "localized": ["Simon"], + "romanized": ["Simon"], "count": 76655 }, { "id": "FR-12", "rank": 12, - "localized": [ - "Laurent" - ], - "romanized": [ - "Laurent" - ], + "localized": ["Laurent"], + "romanized": ["Laurent"], "count": 75307 }, { "id": "FR-13", "rank": 13, - "localized": [ - "Lefebvre" - ], - "romanized": [ - "Lefebvre" - ], + "localized": ["Lefebvre"], + "romanized": ["Lefebvre"], "count": 74564 }, { "id": "FR-14", "rank": 14, - "localized": [ - "Michel" - ], - "romanized": [ - "Michel" - ], + "localized": ["Michel"], + "romanized": ["Michel"], "count": 74318 }, { "id": "FR-15", "rank": 15, - "localized": [ - "Garcia" - ], - "romanized": [ - "Garcia" - ], + "localized": ["Garcia"], + "romanized": ["Garcia"], "count": 68720 }, { "id": "FR-16", "rank": 16, - "localized": [ - "David" - ], - "romanized": [ - "David" - ], + "localized": ["David"], + "romanized": ["David"], "count": 61762 }, { "id": "FR-17", "rank": 17, - "localized": [ - "Bertrand" - ], - "romanized": [ - "Bertrand" - ], + "localized": ["Bertrand"], + "romanized": ["Bertrand"], "count": 59817 }, { "id": "FR-18", "rank": 18, - "localized": [ - "Roux" - ], - "romanized": [ - "Roux" - ], + "localized": ["Roux"], + "romanized": ["Roux"], "count": 59440 }, { "id": "FR-19", "rank": 19, - "localized": [ - "Vincent" - ], - "romanized": [ - "Vincent" - ], + "localized": ["Vincent"], + "romanized": ["Vincent"], "count": 57351 }, { "id": "FR-20", "rank": 20, - "localized": [ - "Fournier" - ], - "romanized": [ - "Fournier" - ], + "localized": ["Fournier"], + "romanized": ["Fournier"], "count": 57047 }, { "id": "FR-21", "rank": 21, - "localized": [ - "Morel" - ], - "romanized": [ - "Morel" - ], + "localized": ["Morel"], + "romanized": ["Morel"], "count": 56760 }, { "id": "FR-22", "rank": 22, - "localized": [ - "Girard" - ], - "romanized": [ - "Girard" - ], + "localized": ["Girard"], + "romanized": ["Girard"], "count": 55642 }, { "id": "FR-23", "rank": 23, - "localized": [ - "André" - ], - "romanized": [ - "André" - ], + "localized": ["André"], + "romanized": ["André"], "count": 55228 }, { "id": "FR-24", "rank": 24, - "localized": [ - "Lefèvre" - ], - "romanized": [ - "Lefèvre" - ], + "localized": ["Lefèvre"], + "romanized": ["Lefèvre"], "count": 53670 }, { "id": "FR-25", "rank": 25, - "localized": [ - "Mercier" - ], - "romanized": [ - "Mercier" - ], + "localized": ["Mercier"], + "romanized": ["Mercier"], "count": 53622 }, { "id": "FR-26", "rank": 26, - "localized": [ - "Dupont" - ], - "romanized": [ - "Dupont" - ], + "localized": ["Dupont"], + "romanized": ["Dupont"], "count": 53405 }, { "id": "FR-27", "rank": 27, - "localized": [ - "Lambert" - ], - "romanized": [ - "Lambert" - ], + "localized": ["Lambert"], + "romanized": ["Lambert"], "count": 51543 }, { "id": "FR-28", "rank": 28, - "localized": [ - "Bonnet" - ], - "romanized": [ - "Bonnet" - ], + "localized": ["Bonnet"], + "romanized": ["Bonnet"], "count": 50999 }, { "id": "FR-29", "rank": 29, - "localized": [ - "François" - ], - "romanized": [ - "François" - ], + "localized": ["François"], + "romanized": ["François"], "count": 50612 }, { "id": "FR-30", "rank": 30, - "localized": [ - "Martinez" - ], - "romanized": [ - "Martinez" - ], + "localized": ["Martinez"], + "romanized": ["Martinez"], "count": 49762 } ], @@ -10759,111 +6793,71 @@ { "id": "DE-1", "rank": 1, - "localized": [ - "Müller" - ], - "romanized": [ - "Müller" - ], + "localized": ["Müller"], + "romanized": ["Müller"], "count": 790400 }, { "id": "DE-2", "rank": 2, - "localized": [ - "Schmidt" - ], - "romanized": [ - "Schmidt" - ], + "localized": ["Schmidt"], + "romanized": ["Schmidt"], "count": 574080 }, { "id": "DE-3", "rank": 3, - "localized": [ - "Schneider" - ], - "romanized": [ - "Schneider" - ], + "localized": ["Schneider"], + "romanized": ["Schneider"], "count": 332800 }, { "id": "DE-4", "rank": 4, - "localized": [ - "Fischer" - ], - "romanized": [ - "Fischer" - ], + "localized": ["Fischer"], + "romanized": ["Fischer"], "count": 291200 }, { "id": "DE-5", "rank": 5, - "localized": [ - "Meyer" - ], - "romanized": [ - "Meyer" - ], + "localized": ["Meyer"], + "romanized": ["Meyer"], "count": 274560 }, { "id": "DE-6", "rank": 6, - "localized": [ - "Weber" - ], - "romanized": [ - "Weber" - ], + "localized": ["Weber"], + "romanized": ["Weber"], "count": 249600 }, { "id": "DE-7", "rank": 7, - "localized": [ - "Wagner" - ], - "romanized": [ - "Wagner" - ], + "localized": ["Wagner"], + "romanized": ["Wagner"], "count": 224640 }, { "id": "DE-8", "rank": 8, - "localized": [ - "Schulz" - ], - "romanized": [ - "Schulz" - ], + "localized": ["Schulz"], + "romanized": ["Schulz"], "count": 224640 }, { "id": "DE-9", "rank": 9, - "localized": [ - "Becker" - ], - "romanized": [ - "Becker" - ], + "localized": ["Becker"], + "romanized": ["Becker"], "count": 224640 }, { "id": "DE-10", "rank": 10, - "localized": [ - "Hoffmann" - ], - "romanized": [ - "Hoffmann" - ], + "localized": ["Hoffmann"], + "romanized": ["Hoffmann"], "count": 216320 } ], @@ -10871,78 +6865,50 @@ { "id": "GR-1", "rank": null, - "localized": [ - "Σαμαράς" - ], - "romanized": [ - "Samaras" - ], + "localized": ["Σαμαράς"], + "romanized": ["Samaras"], "count": null }, { "id": "GR-2", "rank": null, - "localized": [ - "Παπουτσής" - ], - "romanized": [ - "Papoutsis" - ], + "localized": ["Παπουτσής"], + "romanized": ["Papoutsis"], "count": null }, { "id": "GR-3", "rank": null, - "localized": [ - "Κρητικός" - ], - "romanized": [ - "Kritikos" - ], + "localized": ["Κρητικός"], + "romanized": ["Kritikos"], "count": null }, { "id": "GR-4", "rank": null, - "localized": [ - "Αϊβαλιώτης" - ], - "romanized": [ - "Aivaliotis" - ], + "localized": ["Αϊβαλιώτης"], + "romanized": ["Aivaliotis"], "count": null }, { "id": "GR-5", "rank": null, - "localized": [ - "Κοντός" - ], - "romanized": [ - "Kontos" - ], + "localized": ["Κοντός"], + "romanized": ["Kontos"], "count": null }, { "id": "GR-6", "rank": null, - "localized": [ - "Μυταράς" - ], - "romanized": [ - "Mytaras" - ], + "localized": ["Μυταράς"], + "romanized": ["Mytaras"], "count": null }, { "id": "GR-7", "rank": null, - "localized": [ - "Κουφός" - ], - "romanized": [ - "Koufos" - ], + "localized": ["Κουφός"], + "romanized": ["Koufos"], "count": null } ], @@ -10950,276 +6916,176 @@ { "id": "HU-1", "rank": 1, - "localized": [ - "Nagy" - ], - "romanized": [ - "Nagy" - ], + "localized": ["Nagy"], + "romanized": ["Nagy"], "count": null }, { "id": "HU-2", "rank": 2, - "localized": [ - "Kovács" - ], - "romanized": [ - "Kovács" - ], + "localized": ["Kovács"], + "romanized": ["Kovács"], "count": null }, { "id": "HU-3", "rank": 3, - "localized": [ - "Tóth" - ], - "romanized": [ - "Tóth" - ], + "localized": ["Tóth"], + "romanized": ["Tóth"], "count": null }, { "id": "HU-4", "rank": 4, - "localized": [ - "Szabó" - ], - "romanized": [ - "Szabó" - ], + "localized": ["Szabó"], + "romanized": ["Szabó"], "count": null }, { "id": "HU-5", "rank": 5, - "localized": [ - "Horváth" - ], - "romanized": [ - "Horváth" - ], + "localized": ["Horváth"], + "romanized": ["Horváth"], "count": null }, { "id": "HU-6", "rank": 6, - "localized": [ - "Varga" - ], - "romanized": [ - "Varga" - ], + "localized": ["Varga"], + "romanized": ["Varga"], "count": null }, { "id": "HU-7", "rank": 7, - "localized": [ - "Kiss" - ], - "romanized": [ - "Kiss" - ], + "localized": ["Kiss"], + "romanized": ["Kiss"], "count": null }, { "id": "HU-8", "rank": 8, - "localized": [ - "Molnár" - ], - "romanized": [ - "Molnár" - ], + "localized": ["Molnár"], + "romanized": ["Molnár"], "count": null }, { "id": "HU-9", "rank": 9, - "localized": [ - "Németh" - ], - "romanized": [ - "Németh" - ], + "localized": ["Németh"], + "romanized": ["Németh"], "count": null }, { "id": "HU-10", "rank": 10, - "localized": [ - "Farkas" - ], - "romanized": [ - "Farkas" - ], + "localized": ["Farkas"], + "romanized": ["Farkas"], "count": null }, { "id": "HU-11", "rank": 11, - "localized": [ - "Balogh" - ], - "romanized": [ - "Balogh" - ], + "localized": ["Balogh"], + "romanized": ["Balogh"], "count": null }, { "id": "HU-12", "rank": 12, - "localized": [ - "Papp" - ], - "romanized": [ - "Papp" - ], + "localized": ["Papp"], + "romanized": ["Papp"], "count": null }, { "id": "HU-13", "rank": 13, - "localized": [ - "Lakatos" - ], - "romanized": [ - "Lakatos" - ], + "localized": ["Lakatos"], + "romanized": ["Lakatos"], "count": null }, { "id": "HU-14", "rank": 14, - "localized": [ - "Takács" - ], - "romanized": [ - "Takács" - ], + "localized": ["Takács"], + "romanized": ["Takács"], "count": null }, { "id": "HU-15", "rank": 15, - "localized": [ - "Juhász" - ], - "romanized": [ - "Juhász" - ], + "localized": ["Juhász"], + "romanized": ["Juhász"], "count": null }, { "id": "HU-16", "rank": 16, - "localized": [ - "Mészáros" - ], - "romanized": [ - "Mészáros" - ], + "localized": ["Mészáros"], + "romanized": ["Mészáros"], "count": null }, { "id": "HU-17", "rank": 17, - "localized": [ - "Oláh" - ], - "romanized": [ - "Oláh" - ], + "localized": ["Oláh"], + "romanized": ["Oláh"], "count": null }, { "id": "HU-18", "rank": 18, - "localized": [ - "Simon" - ], - "romanized": [ - "Simon" - ], + "localized": ["Simon"], + "romanized": ["Simon"], "count": null }, { "id": "HU-19", "rank": 19, - "localized": [ - "Rácz" - ], - "romanized": [ - "Rácz" - ], + "localized": ["Rácz"], + "romanized": ["Rácz"], "count": null }, { "id": "HU-20", "rank": 20, - "localized": [ - "Fekete" - ], - "romanized": [ - "Fekete" - ], + "localized": ["Fekete"], + "romanized": ["Fekete"], "count": null }, { "id": "HU-21", "rank": 21, - "localized": [ - "Szilágyi" - ], - "romanized": [ - "Szilágyi" - ], + "localized": ["Szilágyi"], + "romanized": ["Szilágyi"], "count": null }, { "id": "HU-22", "rank": 22, - "localized": [ - "Török" - ], - "romanized": [ - "Török" - ], + "localized": ["Török"], + "romanized": ["Török"], "count": null }, { "id": "HU-23", "rank": 23, - "localized": [ - "Fehér" - ], - "romanized": [ - "Fehér" - ], + "localized": ["Fehér"], + "romanized": ["Fehér"], "count": null }, { "id": "HU-24", "rank": 24, - "localized": [ - "Balázs" - ], - "romanized": [ - "Balázs" - ], + "localized": ["Balázs"], + "romanized": ["Balázs"], "count": null }, { "id": "HU-25", "rank": 25, - "localized": [ - "Gál" - ], - "romanized": [ - "Gál" - ], + "localized": ["Gál"], + "romanized": ["Gál"], "count": null } ], @@ -11227,221 +7093,141 @@ { "id": "IS-1", "rank": 1, - "localized": [ - "Blöndal" - ], - "romanized": [ - "Blöndal" - ], + "localized": ["Blöndal"], + "romanized": ["Blöndal"], "count": 324 }, { "id": "IS-2", "rank": 2, - "localized": [ - "Thorarensen" - ], - "romanized": [ - "Thorarensen" - ], + "localized": ["Thorarensen"], + "romanized": ["Thorarensen"], "count": 293 }, { "id": "IS-3", "rank": 3, - "localized": [ - "Hansen" - ], - "romanized": [ - "Hansen" - ], + "localized": ["Hansen"], + "romanized": ["Hansen"], "count": 282 }, { "id": "IS-4", "rank": 4, - "localized": [ - "Olsen" - ], - "romanized": [ - "Olsen" - ], + "localized": ["Olsen"], + "romanized": ["Olsen"], "count": 224 }, { "id": "IS-5", "rank": 5, - "localized": [ - "Andersen" - ], - "romanized": [ - "Andersen" - ], + "localized": ["Andersen"], + "romanized": ["Andersen"], "count": 206 }, { "id": "IS-6", "rank": 6, - "localized": [ - "Petersen" - ], - "romanized": [ - "Petersen" - ], + "localized": ["Petersen"], + "romanized": ["Petersen"], "count": 206 }, { "id": "IS-7", "rank": 7, - "localized": [ - "Möller" - ], - "romanized": [ - "Möller" - ], + "localized": ["Möller"], + "romanized": ["Möller"], "count": 198 }, { "id": "IS-8", "rank": 8, - "localized": [ - "Nielsen" - ], - "romanized": [ - "Nielsen" - ], + "localized": ["Nielsen"], + "romanized": ["Nielsen"], "count": 180 }, { "id": "IS-9", "rank": 9, - "localized": [ - "Waage" - ], - "romanized": [ - "Waage" - ], + "localized": ["Waage"], + "romanized": ["Waage"], "count": 171 }, { "id": "IS-10", "rank": 10, - "localized": [ - "Bergmann" - ], - "romanized": [ - "Bergmann" - ], + "localized": ["Bergmann"], + "romanized": ["Bergmann"], "count": 158 }, { "id": "IS-11", "rank": 11, - "localized": [ - "Briem" - ], - "romanized": [ - "Briem" - ], + "localized": ["Briem"], + "romanized": ["Briem"], "count": 156 }, { "id": "IS-12", "rank": 12, - "localized": [ - "Thorlacius" - ], - "romanized": [ - "Thorlacius" - ], + "localized": ["Thorlacius"], + "romanized": ["Thorlacius"], "count": 155 }, { "id": "IS-13", "rank": 13, - "localized": [ - "Jensen" - ], - "romanized": [ - "Jensen" - ], + "localized": ["Jensen"], + "romanized": ["Jensen"], "count": 146 }, { "id": "IS-14", "rank": 14, - "localized": [ - "Hjaltalín" - ], - "romanized": [ - "Hjaltalín" - ], + "localized": ["Hjaltalín"], + "romanized": ["Hjaltalín"], "count": 137 }, { "id": "IS-15", "rank": 15, - "localized": [ - "Scheving" - ], - "romanized": [ - "Scheving" - ], + "localized": ["Scheving"], + "romanized": ["Scheving"], "count": 135 }, { "id": "IS-16", "rank": 16, - "localized": [ - "Petersen" - ], - "romanized": [ - "Petersen" - ], + "localized": ["Petersen"], + "romanized": ["Petersen"], "count": 126 }, { "id": "IS-17", "rank": 17, - "localized": [ - "Kvaran" - ], - "romanized": [ - "Kvaran" - ], + "localized": ["Kvaran"], + "romanized": ["Kvaran"], "count": 123 }, { "id": "IS-18", "rank": 18, - "localized": [ - "Fjeldsted" - ], - "romanized": [ - "Fjeldsted" - ], + "localized": ["Fjeldsted"], + "romanized": ["Fjeldsted"], "count": 123 }, { "id": "IS-19", "rank": 19, - "localized": [ - "Norðdahl" - ], - "romanized": [ - "Norðdahl" - ], + "localized": ["Norðdahl"], + "romanized": ["Norðdahl"], "count": 113 }, { "id": "IS-20", "rank": 20, - "localized": [ - "Berndsen" - ], - "romanized": [ - "Berndsen" - ], + "localized": ["Berndsen"], + "romanized": ["Berndsen"], "count": 105 } ], @@ -11449,230 +7235,141 @@ { "id": "IE-1", "rank": 1, - "localized": [ - "Ó Murchú" - ], - "romanized": [ - "Murphy" - ], + "localized": ["Ó Murchú"], + "romanized": ["Murphy"], "count": null }, { "id": "IE-2", "rank": 2, - "localized": [ - "Ó Ceallaigh" - ], - "romanized": [ - "Kelly", - "O'Kelly" - ], + "localized": ["Ó Ceallaigh"], + "romanized": ["Kelly", "O'Kelly"], "count": null }, { "id": "IE-3", "rank": 3, - "localized": [ - "Ó Súilleabháin" - ], - "romanized": [ - "Sullivan", - "O'Sullivan" - ], + "localized": ["Ó Súilleabháin"], + "romanized": ["Sullivan", "O'Sullivan"], "count": null }, { "id": "IE-4", "rank": 4, - "localized": [ - "Breathnach" - ], - "romanized": [ - "Walsh" - ], + "localized": ["Breathnach"], + "romanized": ["Walsh"], "count": null }, { "id": "IE-5", "rank": 5, - "localized": [ - "Mac Gabhann" - ], - "romanized": [ - "Smith" - ], + "localized": ["Mac Gabhann"], + "romanized": ["Smith"], "count": null }, { "id": "IE-6", "rank": 6, - "localized": [ - "Ó Briain" - ], - "romanized": [ - "O'Brien" - ], + "localized": ["Ó Briain"], + "romanized": ["O'Brien"], "count": null }, { "id": "IE-7", "rank": 7, - "localized": [ - "Ó Broin" - ], - "romanized": [ - "Byrne", - "O'Byrne" - ], + "localized": ["Ó Broin"], + "romanized": ["Byrne", "O'Byrne"], "count": null }, { "id": "IE-8", "rank": 8, - "localized": [ - "Ó Riain" - ], - "romanized": [ - "O'Ryan", - "Ryan" - ], + "localized": ["Ó Riain"], + "romanized": ["O'Ryan", "Ryan"], "count": null }, { "id": "IE-9", "rank": 9, - "localized": [ - "Ó Conchúir" - ], - "romanized": [ - "O'Connor" - ], + "localized": ["Ó Conchúir"], + "romanized": ["O'Connor"], "count": null }, { "id": "IE-10", "rank": 10, - "localized": [ - "Ó Néill" - ], - "romanized": [ - "O'Neill" - ], + "localized": ["Ó Néill"], + "romanized": ["O'Neill"], "count": null }, { "id": "IE-11", "rank": 11, - "localized": [ - "Ó Raghallaigh" - ], - "romanized": [ - "Reilly", - "O'Reilly" - ], + "localized": ["Ó Raghallaigh"], + "romanized": ["Reilly", "O'Reilly"], "count": null }, { "id": "IE-12", "rank": 12, - "localized": [ - "Ó Dubhghaill" - ], - "romanized": [ - "Doyle" - ], + "localized": ["Ó Dubhghaill"], + "romanized": ["Doyle"], "count": null }, { "id": "IE-13", "rank": 13, - "localized": [ - "Mac Cárthaigh" - ], - "romanized": [ - "McCarthy" - ], + "localized": ["Mac Cárthaigh"], + "romanized": ["McCarthy"], "count": null }, { "id": "IE-14", "rank": 14, - "localized": [ - "Ó Gallchóir" - ], - "romanized": [ - "Gallagher", - "O'Gallagher" - ], + "localized": ["Ó Gallchóir"], + "romanized": ["Gallagher", "O'Gallagher"], "count": null }, { "id": "IE-15", "rank": 15, - "localized": [ - "Ó Dochartaigh" - ], - "romanized": [ - "O'Doherty", - "Doherty" - ], + "localized": ["Ó Dochartaigh"], + "romanized": ["O'Doherty", "Doherty"], "count": null }, { "id": "IE-16", "rank": 16, - "localized": [ - "Ó Cinnéide" - ], - "romanized": [ - "Kennedy" - ], + "localized": ["Ó Cinnéide"], + "romanized": ["Kennedy"], "count": null }, { "id": "IE-17", "rank": 17, - "localized": [ - "Ó Loingsigh" - ], - "romanized": [ - "Lynch" - ], + "localized": ["Ó Loingsigh"], + "romanized": ["Lynch"], "count": null }, { "id": "IE-18", "rank": 18, - "localized": [ - "Ó Muireadhaigh" - ], - "romanized": [ - "Murray" - ], + "localized": ["Ó Muireadhaigh"], + "romanized": ["Murray"], "count": null }, { "id": "IE-19", "rank": 19, - "localized": [ - "Ó Cuinn" - ], - "romanized": [ - "O'Quinn", - "Quinn" - ], + "localized": ["Ó Cuinn"], + "romanized": ["O'Quinn", "Quinn"], "count": null }, { "id": "IE-20", "rank": 20, - "localized": [ - "Ó Mórdha" - ], - "romanized": [ - "O'Moore", - "Moore" - ], + "localized": ["Ó Mórdha"], + "romanized": ["O'Moore", "Moore"], "count": null } ], @@ -11680,1101 +7377,701 @@ { "id": "IT-1", "rank": 1, - "localized": [ - "Rossi" - ], - "romanized": [ - "Rossi" - ], + "localized": ["Rossi"], + "romanized": ["Rossi"], "count": 60 }, { "id": "IT-2", "rank": 2, - "localized": [ - "Russo" - ], - "romanized": [ - "Russo" - ], + "localized": ["Russo"], + "romanized": ["Russo"], "count": 43 }, { "id": "IT-3", "rank": 3, - "localized": [ - "Ferrari" - ], - "romanized": [ - "Ferrari" - ], + "localized": ["Ferrari"], + "romanized": ["Ferrari"], "count": 34 }, { "id": "IT-4", "rank": 4, - "localized": [ - "Esposito" - ], - "romanized": [ - "Esposito" - ], + "localized": ["Esposito"], + "romanized": ["Esposito"], "count": 32 }, { "id": "IT-5", "rank": 5, - "localized": [ - "Bianchi" - ], - "romanized": [ - "Bianchi" - ], + "localized": ["Bianchi"], + "romanized": ["Bianchi"], "count": 25 }, { "id": "IT-6", "rank": 6, - "localized": [ - "Romano" - ], - "romanized": [ - "Romano" - ], + "localized": ["Romano"], + "romanized": ["Romano"], "count": 24 }, { "id": "IT-7", "rank": 7, - "localized": [ - "Colombo" - ], - "romanized": [ - "Colombo" - ], + "localized": ["Colombo"], + "romanized": ["Colombo"], "count": 23 }, { "id": "IT-8", "rank": 8, - "localized": [ - "Bruno" - ], - "romanized": [ - "Bruno" - ], + "localized": ["Bruno"], + "romanized": ["Bruno"], "count": 21 }, { "id": "IT-9", "rank": 9, - "localized": [ - "Ricci" - ], - "romanized": [ - "Ricci" - ], + "localized": ["Ricci"], + "romanized": ["Ricci"], "count": 20 }, { "id": "IT-10", "rank": 10, - "localized": [ - "Greco" - ], - "romanized": [ - "Greco" - ], + "localized": ["Greco"], + "romanized": ["Greco"], "count": 18 }, { "id": "IT-11", "rank": 11, - "localized": [ - "Marino" - ], - "romanized": [ - "Marino" - ], + "localized": ["Marino"], + "romanized": ["Marino"], "count": 18 }, { "id": "IT-12", "rank": 12, - "localized": [ - "Gallo" - ], - "romanized": [ - "Gallo" - ], + "localized": ["Gallo"], + "romanized": ["Gallo"], "count": 18 }, { "id": "IT-13", "rank": 13, - "localized": [ - "De Luca" - ], - "romanized": [ - "De Luca" - ], + "localized": ["De Luca"], + "romanized": ["De Luca"], "count": 17 }, { "id": "IT-14", "rank": 14, - "localized": [ - "Conti" - ], - "romanized": [ - "Conti" - ], + "localized": ["Conti"], + "romanized": ["Conti"], "count": 17 }, { "id": "IT-15", "rank": 15, - "localized": [ - "Costa" - ], - "romanized": [ - "Costa" - ], + "localized": ["Costa"], + "romanized": ["Costa"], "count": 17 }, { "id": "IT-16", "rank": 16, - "localized": [ - "Mancini" - ], - "romanized": [ - "Mancini" - ], + "localized": ["Mancini"], + "romanized": ["Mancini"], "count": 17 }, { "id": "IT-17", "rank": 17, - "localized": [ - "Giordano" - ], - "romanized": [ - "Giordano" - ], + "localized": ["Giordano"], + "romanized": ["Giordano"], "count": 17 }, { "id": "IT-18", "rank": 18, - "localized": [ - "Rizzo" - ], - "romanized": [ - "Rizzo" - ], + "localized": ["Rizzo"], + "romanized": ["Rizzo"], "count": 16 }, { "id": "IT-19", "rank": 19, - "localized": [ - "Lombardi" - ], - "romanized": [ - "Lombardi" - ], + "localized": ["Lombardi"], + "romanized": ["Lombardi"], "count": 15 }, { "id": "IT-20", "rank": 20, - "localized": [ - "Barbieri" - ], - "romanized": [ - "Barbieri" - ], + "localized": ["Barbieri"], + "romanized": ["Barbieri"], "count": 14 }, { "id": "IT-21", "rank": 21, - "localized": [ - "Moretti" - ], - "romanized": [ - "Moretti" - ], + "localized": ["Moretti"], + "romanized": ["Moretti"], "count": 14 }, { "id": "IT-22", "rank": 22, - "localized": [ - "Fontana" - ], - "romanized": [ - "Fontana" - ], + "localized": ["Fontana"], + "romanized": ["Fontana"], "count": 14 }, { "id": "IT-23", "rank": 23, - "localized": [ - "Caruso" - ], - "romanized": [ - "Caruso" - ], + "localized": ["Caruso"], + "romanized": ["Caruso"], "count": 14 }, { "id": "IT-24", "rank": 24, - "localized": [ - "Mariani" - ], - "romanized": [ - "Mariani" - ], + "localized": ["Mariani"], + "romanized": ["Mariani"], "count": 14 }, { "id": "IT-25", "rank": 25, - "localized": [ - "Ferrara" - ], - "romanized": [ - "Ferrara" - ], + "localized": ["Ferrara"], + "romanized": ["Ferrara"], "count": 13 }, { "id": "IT-26", "rank": 26, - "localized": [ - "Santoro" - ], - "romanized": [ - "Santoro" - ], + "localized": ["Santoro"], + "romanized": ["Santoro"], "count": 13 }, { "id": "IT-27", "rank": 27, - "localized": [ - "Rinaldi" - ], - "romanized": [ - "Rinaldi" - ], + "localized": ["Rinaldi"], + "romanized": ["Rinaldi"], "count": 13 }, { "id": "IT-28", "rank": 28, - "localized": [ - "Leone" - ], - "romanized": [ - "Leone" - ], + "localized": ["Leone"], + "romanized": ["Leone"], "count": 13 }, { "id": "IT-29", "rank": 29, - "localized": [ - "D'Angelo" - ], - "romanized": [ - "D'Angelo" - ], + "localized": ["D'Angelo"], + "romanized": ["D'Angelo"], "count": 13 }, { "id": "IT-30", "rank": 30, - "localized": [ - "Longo" - ], - "romanized": [ - "Longo" - ], + "localized": ["Longo"], + "romanized": ["Longo"], "count": 12 }, { "id": "IT-31", "rank": 31, - "localized": [ - "Galli" - ], - "romanized": [ - "Galli" - ], + "localized": ["Galli"], + "romanized": ["Galli"], "count": 12 }, { "id": "IT-32", "rank": 32, - "localized": [ - "Martini" - ], - "romanized": [ - "Martini" - ], + "localized": ["Martini"], + "romanized": ["Martini"], "count": 12 }, { "id": "IT-33", "rank": 33, - "localized": [ - "Martinelli" - ], - "romanized": [ - "Martinelli" - ], + "localized": ["Martinelli"], + "romanized": ["Martinelli"], "count": 12 }, { "id": "IT-34", "rank": 34, - "localized": [ - "Serra" - ], - "romanized": [ - "Serra" - ], + "localized": ["Serra"], + "romanized": ["Serra"], "count": 11 }, { "id": "IT-35", "rank": 35, - "localized": [ - "Conte" - ], - "romanized": [ - "Conte" - ], + "localized": ["Conte"], + "romanized": ["Conte"], "count": 11 }, { "id": "IT-36", "rank": 36, - "localized": [ - "Vitale" - ], - "romanized": [ - "Vitale" - ], + "localized": ["Vitale"], + "romanized": ["Vitale"], "count": 11 }, { "id": "IT-37", "rank": 37, - "localized": [ - "De Santis" - ], - "romanized": [ - "De Santis" - ], + "localized": ["De Santis"], + "romanized": ["De Santis"], "count": 11 }, { "id": "IT-38", "rank": 38, - "localized": [ - "Marchetti" - ], - "romanized": [ - "Marchetti" - ], + "localized": ["Marchetti"], + "romanized": ["Marchetti"], "count": 11 }, { "id": "IT-39", "rank": 39, - "localized": [ - "Messina" - ], - "romanized": [ - "Messina" - ], + "localized": ["Messina"], + "romanized": ["Messina"], "count": 11 }, { "id": "IT-40", "rank": 40, - "localized": [ - "Gentile" - ], - "romanized": [ - "Gentile" - ], + "localized": ["Gentile"], + "romanized": ["Gentile"], "count": 11 }, { "id": "IT-41", "rank": 41, - "localized": [ - "Villa" - ], - "romanized": [ - "Villa" - ], + "localized": ["Villa"], + "romanized": ["Villa"], "count": 11 }, { "id": "IT-42", "rank": 42, - "localized": [ - "Marini" - ], - "romanized": [ - "Marini" - ], + "localized": ["Marini"], + "romanized": ["Marini"], "count": 11 }, { "id": "IT-43", "rank": 43, - "localized": [ - "Lombardo" - ], - "romanized": [ - "Lombardo" - ], + "localized": ["Lombardo"], + "romanized": ["Lombardo"], "count": 11 }, { "id": "IT-44", "rank": 44, - "localized": [ - "Coppola" - ], - "romanized": [ - "Coppola" - ], + "localized": ["Coppola"], + "romanized": ["Coppola"], "count": 11 }, { "id": "IT-45", "rank": 45, - "localized": [ - "Ferri" - ], - "romanized": [ - "Ferri" - ], + "localized": ["Ferri"], + "romanized": ["Ferri"], "count": 11 }, { "id": "IT-46", "rank": 46, - "localized": [ - "Parisi" - ], - "romanized": [ - "Parisi" - ], + "localized": ["Parisi"], + "romanized": ["Parisi"], "count": 11 }, { "id": "IT-47", "rank": 47, - "localized": [ - "De Angelis" - ], - "romanized": [ - "De Angelis" - ], + "localized": ["De Angelis"], + "romanized": ["De Angelis"], "count": 11 }, { "id": "IT-48", "rank": 48, - "localized": [ - "Bianco" - ], - "romanized": [ - "Bianco" - ], + "localized": ["Bianco"], + "romanized": ["Bianco"], "count": 10 }, { "id": "IT-49", "rank": 49, - "localized": [ - "Amato" - ], - "romanized": [ - "Amato" - ], + "localized": ["Amato"], + "romanized": ["Amato"], "count": 10 }, { "id": "IT-50", "rank": 50, - "localized": [ - "Fabbri" - ], - "romanized": [ - "Fabbri" - ], + "localized": ["Fabbri"], + "romanized": ["Fabbri"], "count": 10 }, { "id": "IT-51", "rank": 51, - "localized": [ - "Gatti" - ], - "romanized": [ - "Gatti" - ], + "localized": ["Gatti"], + "romanized": ["Gatti"], "count": 10 }, { "id": "IT-52", "rank": 52, - "localized": [ - "Sala" - ], - "romanized": [ - "Sala" - ], + "localized": ["Sala"], + "romanized": ["Sala"], "count": 10 }, { "id": "IT-53", "rank": 53, - "localized": [ - "Morelli" - ], - "romanized": [ - "Morelli" - ], + "localized": ["Morelli"], + "romanized": ["Morelli"], "count": 10 }, { "id": "IT-54", "rank": 54, - "localized": [ - "Grasso" - ], - "romanized": [ - "Grasso" - ], + "localized": ["Grasso"], + "romanized": ["Grasso"], "count": 10 }, { "id": "IT-55", "rank": 55, - "localized": [ - "Pellegrini" - ], - "romanized": [ - "Pellegrini" - ], + "localized": ["Pellegrini"], + "romanized": ["Pellegrini"], "count": 10 }, { "id": "IT-56", "rank": 56, - "localized": [ - "Ferraro" - ], - "romanized": [ - "Ferraro" - ], + "localized": ["Ferraro"], + "romanized": ["Ferraro"], "count": 10 }, { "id": "IT-57", "rank": 57, - "localized": [ - "Monti" - ], - "romanized": [ - "Monti" - ], + "localized": ["Monti"], + "romanized": ["Monti"], "count": 10 }, { "id": "IT-58", "rank": 58, - "localized": [ - "Palumbo" - ], - "romanized": [ - "Palumbo" - ], + "localized": ["Palumbo"], + "romanized": ["Palumbo"], "count": 10 }, { "id": "IT-59", "rank": 59, - "localized": [ - "Grassi" - ], - "romanized": [ - "Grassi" - ], + "localized": ["Grassi"], + "romanized": ["Grassi"], "count": 10 }, { "id": "IT-60", "rank": 60, - "localized": [ - "Testa" - ], - "romanized": [ - "Testa" - ], + "localized": ["Testa"], + "romanized": ["Testa"], "count": 10 }, { "id": "IT-61", "rank": 61, - "localized": [ - "Valentini" - ], - "romanized": [ - "Valentini" - ], + "localized": ["Valentini"], + "romanized": ["Valentini"], "count": 9 }, { "id": "IT-62", "rank": 62, - "localized": [ - "Carbone" - ], - "romanized": [ - "Carbone" - ], + "localized": ["Carbone"], + "romanized": ["Carbone"], "count": 9 }, { "id": "IT-63", "rank": 63, - "localized": [ - "Benedetti" - ], - "romanized": [ - "Benedetti" - ], + "localized": ["Benedetti"], + "romanized": ["Benedetti"], "count": 9 }, { "id": "IT-64", "rank": 64, - "localized": [ - "Silvestri" - ], - "romanized": [ - "Silvestri" - ], + "localized": ["Silvestri"], + "romanized": ["Silvestri"], "count": 9 }, { "id": "IT-65", "rank": 65, - "localized": [ - "Farina" - ], - "romanized": [ - "Farina" - ], + "localized": ["Farina"], + "romanized": ["Farina"], "count": 9 }, { "id": "IT-66", "rank": 66, - "localized": [ - "D'Amico" - ], - "romanized": [ - "D'Amico" - ], + "localized": ["D'Amico"], + "romanized": ["D'Amico"], "count": 9 }, { "id": "IT-67", "rank": 67, - "localized": [ - "Martino" - ], - "romanized": [ - "Martino" - ], + "localized": ["Martino"], + "romanized": ["Martino"], "count": 9 }, { "id": "IT-68", "rank": 68, - "localized": [ - "Bernardi" - ], - "romanized": [ - "Bernardi" - ], + "localized": ["Bernardi"], + "romanized": ["Bernardi"], "count": 9 }, { "id": "IT-69", "rank": 69, - "localized": [ - "Caputo" - ], - "romanized": [ - "Caputo" - ], + "localized": ["Caputo"], + "romanized": ["Caputo"], "count": 9 }, { "id": "IT-70", "rank": 70, - "localized": [ - "Mazza" - ], - "romanized": [ - "Mazza" - ], + "localized": ["Mazza"], + "romanized": ["Mazza"], "count": 9 }, { "id": "IT-71", "rank": 71, - "localized": [ - "Sanna" - ], - "romanized": [ - "Sanna" - ], + "localized": ["Sanna"], + "romanized": ["Sanna"], "count": 9 }, { "id": "IT-72", "rank": 72, - "localized": [ - "Fiore" - ], - "romanized": [ - "Fiore" - ], + "localized": ["Fiore"], + "romanized": ["Fiore"], "count": 9 }, { "id": "IT-73", "rank": 73, - "localized": [ - "De Rosa" - ], - "romanized": [ - "De Rosa" - ], + "localized": ["De Rosa"], + "romanized": ["De Rosa"], "count": 9 }, { "id": "IT-74", "rank": 74, - "localized": [ - "Pellegrino" - ], - "romanized": [ - "Pellegrino" - ], + "localized": ["Pellegrino"], + "romanized": ["Pellegrino"], "count": 9 }, { "id": "IT-75", "rank": 75, - "localized": [ - "Giuliani" - ], - "romanized": [ - "Giuliani" - ], + "localized": ["Giuliani"], + "romanized": ["Giuliani"], "count": 9 }, { "id": "IT-76", "rank": 76, - "localized": [ - "Rizzi" - ], - "romanized": [ - "Rizzi" - ], + "localized": ["Rizzi"], + "romanized": ["Rizzi"], "count": 9 }, { "id": "IT-77", "rank": 77, - "localized": [ - "Di Stefano" - ], - "romanized": [ - "Di Stefano" - ], + "localized": ["Di Stefano"], + "romanized": ["Di Stefano"], "count": 9 }, { "id": "IT-78", "rank": 78, - "localized": [ - "Cattaneo" - ], - "romanized": [ - "Cattaneo" - ], + "localized": ["Cattaneo"], + "romanized": ["Cattaneo"], "count": 8 }, { "id": "IT-79", "rank": 79, - "localized": [ - "Rossetti" - ], - "romanized": [ - "Rossetti" - ], + "localized": ["Rossetti"], + "romanized": ["Rossetti"], "count": 8 }, { "id": "IT-80", "rank": 80, - "localized": [ - "Orlando" - ], - "romanized": [ - "Orlando" - ], + "localized": ["Orlando"], + "romanized": ["Orlando"], "count": 8 }, { "id": "IT-81", "rank": 81, - "localized": [ - "Basile" - ], - "romanized": [ - "Basile" - ], + "localized": ["Basile"], + "romanized": ["Basile"], "count": 8 }, { "id": "IT-82", "rank": 82, - "localized": [ - "Neri" - ], - "romanized": [ - "Neri" - ], + "localized": ["Neri"], + "romanized": ["Neri"], "count": 8 }, { "id": "IT-83", "rank": 83, - "localized": [ - "Barone" - ], - "romanized": [ - "Barone" - ], + "localized": ["Barone"], + "romanized": ["Barone"], "count": 8 }, { "id": "IT-84", "rank": 84, - "localized": [ - "Palmieri" - ], - "romanized": [ - "Palmieri" - ], + "localized": ["Palmieri"], + "romanized": ["Palmieri"], "count": 8 }, { "id": "IT-85", "rank": 85, - "localized": [ - "Riva" - ], - "romanized": [ - "Riva" - ], + "localized": ["Riva"], + "romanized": ["Riva"], "count": 8 }, { "id": "IT-86", "rank": 86, - "localized": [ - "Romeo" - ], - "romanized": [ - "Romeo" - ], + "localized": ["Romeo"], + "romanized": ["Romeo"], "count": 8 }, { "id": "IT-87", "rank": 87, - "localized": [ - "Franco" - ], - "romanized": [ - "Franco" - ], + "localized": ["Franco"], + "romanized": ["Franco"], "count": 8 }, { "id": "IT-88", "rank": 88, - "localized": [ - "Sorrentino" - ], - "romanized": [ - "Sorrentino" - ], + "localized": ["Sorrentino"], + "romanized": ["Sorrentino"], "count": 8 }, { "id": "IT-89", "rank": 89, - "localized": [ - "Pagano" - ], - "romanized": [ - "Pagano" - ], + "localized": ["Pagano"], + "romanized": ["Pagano"], "count": 8 }, { "id": "IT-90", "rank": 90, - "localized": [ - "D'Agostino" - ], - "romanized": [ - "D'Agostino" - ], + "localized": ["D'Agostino"], + "romanized": ["D'Agostino"], "count": 8 }, { "id": "IT-91", "rank": 91, - "localized": [ - "Piras" - ], - "romanized": [ - "Piras" - ], + "localized": ["Piras"], + "romanized": ["Piras"], "count": 8 }, { "id": "IT-92", "rank": 92, - "localized": [ - "Ruggiero" - ], - "romanized": [ - "Ruggiero" - ], + "localized": ["Ruggiero"], + "romanized": ["Ruggiero"], "count": 8 }, { "id": "IT-93", "rank": 93, - "localized": [ - "Montanari" - ], - "romanized": [ - "Montanari" - ], + "localized": ["Montanari"], + "romanized": ["Montanari"], "count": 8 }, { "id": "IT-94", "rank": 94, - "localized": [ - "Battaglia" - ], - "romanized": [ - "Battaglia" - ], + "localized": ["Battaglia"], + "romanized": ["Battaglia"], "count": 8 }, { "id": "IT-95", "rank": 95, - "localized": [ - "Bellini" - ], - "romanized": [ - "Bellini" - ], + "localized": ["Bellini"], + "romanized": ["Bellini"], "count": 8 }, { "id": "IT-96", "rank": 96, - "localized": [ - "Castelli" - ], - "romanized": [ - "Castelli" - ], + "localized": ["Castelli"], + "romanized": ["Castelli"], "count": 8 }, { "id": "IT-97", "rank": 97, - "localized": [ - "Guerra" - ], - "romanized": [ - "Guerra" - ], + "localized": ["Guerra"], + "romanized": ["Guerra"], "count": 8 }, { "id": "IT-98", "rank": 98, - "localized": [ - "Poli" - ], - "romanized": [ - "Poli" - ], + "localized": ["Poli"], + "romanized": ["Poli"], "count": 8 }, { "id": "IT-99", "rank": 99, - "localized": [ - "Valente" - ], - "romanized": [ - "Valente" - ], + "localized": ["Valente"], + "romanized": ["Valente"], "count": 7 }, { "id": "IT-100", "rank": 100, - "localized": [ - "Ferretti" - ], - "romanized": [ - "Ferretti" - ], + "localized": ["Ferretti"], + "romanized": ["Ferretti"], "count": 7 } ], @@ -12782,221 +8079,141 @@ { "id": "XK-1", "rank": 1, - "localized": [ - "Krasniqi" - ], - "romanized": [ - "Krasniqi" - ], + "localized": ["Krasniqi"], + "romanized": ["Krasniqi"], "count": 58199 }, { "id": "XK-2", "rank": 2, - "localized": [ - "Gashi" - ], - "romanized": [ - "Gashi" - ], + "localized": ["Gashi"], + "romanized": ["Gashi"], "count": 57396 }, { "id": "XK-3", "rank": 3, - "localized": [ - "Berisha" - ], - "romanized": [ - "Berisha" - ], + "localized": ["Berisha"], + "romanized": ["Berisha"], "count": 43727 }, { "id": "XK-4", "rank": 4, - "localized": [ - "Morina" - ], - "romanized": [ - "Morina" - ], + "localized": ["Morina"], + "romanized": ["Morina"], "count": 27222 }, { "id": "XK-5", "rank": 5, - "localized": [ - "Shala" - ], - "romanized": [ - "Shala" - ], + "localized": ["Shala"], + "romanized": ["Shala"], "count": 25585 }, { "id": "XK-6", "rank": 6, - "localized": [ - "Bytyqi" - ], - "romanized": [ - "Bytyqi" - ], + "localized": ["Bytyqi"], + "romanized": ["Bytyqi"], "count": 18840 }, { "id": "XK-7", "rank": 7, - "localized": [ - "Hasani" - ], - "romanized": [ - "Hasani" - ], + "localized": ["Hasani"], + "romanized": ["Hasani"], "count": 13187 }, { "id": "XK-8", "rank": 8, - "localized": [ - "Kastrati" - ], - "romanized": [ - "Kastrati" - ], + "localized": ["Kastrati"], + "romanized": ["Kastrati"], "count": 13015 }, { "id": "XK-9", "rank": 9, - "localized": [ - "Kryeziu" - ], - "romanized": [ - "Kryeziu" - ], + "localized": ["Kryeziu"], + "romanized": ["Kryeziu"], "count": 12882 }, { "id": "XK-10", "rank": 10, - "localized": [ - "Hoti" - ], - "romanized": [ - "Hoti" - ], + "localized": ["Hoti"], + "romanized": ["Hoti"], "count": 12709 }, { "id": "XK-11", "rank": 11, - "localized": [ - "Fatime" - ], - "romanized": [ - "Fatime" - ], + "localized": ["Fatime"], + "romanized": ["Fatime"], "count": 8626 }, { "id": "XK-12", "rank": 12, - "localized": [ - "Bajram" - ], - "romanized": [ - "Bajram" - ], + "localized": ["Bajram"], + "romanized": ["Bajram"], "count": 6324 }, { "id": "XK-13", "rank": 13, - "localized": [ - "Emine" - ], - "romanized": [ - "Emine" - ], + "localized": ["Emine"], + "romanized": ["Emine"], "count": 5622 }, { "id": "XK-14", "rank": 14, - "localized": [ - "Bekim" - ], - "romanized": [ - "Bekim" - ], + "localized": ["Bekim"], + "romanized": ["Bekim"], "count": 5470 }, { "id": "XK-15", "rank": 15, - "localized": [ - "Afërdita" - ], - "romanized": [ - "Afërdita" - ], + "localized": ["Afërdita"], + "romanized": ["Afërdita"], "count": 5226 }, { "id": "XK-16", "rank": 16, - "localized": [ - "Valon" - ], - "romanized": [ - "Valon" - ], + "localized": ["Valon"], + "romanized": ["Valon"], "count": 5207 }, { "id": "XK-17", "rank": 17, - "localized": [ - "Egzon" - ], - "romanized": [ - "Egzon" - ], + "localized": ["Egzon"], + "romanized": ["Egzon"], "count": 5180 }, { "id": "XK-18", "rank": 18, - "localized": [ - "Arben" - ], - "romanized": [ - "Arben" - ], + "localized": ["Arben"], + "romanized": ["Arben"], "count": 5114 }, { "id": "XK-19", "rank": 19, - "localized": [ - "Ramadan" - ], - "romanized": [ - "Ramadan" - ], + "localized": ["Ramadan"], + "romanized": ["Ramadan"], "count": 5110 }, { "id": "XK-20", "rank": 20, - "localized": [ - "Muhamet" - ], - "romanized": [ - "Muhamet" - ], + "localized": ["Muhamet"], + "romanized": ["Muhamet"], "count": 5047 } ], @@ -13004,166 +8221,106 @@ { "id": "LV-1", "rank": 1, - "localized": [ - "Bērziņš" - ], - "romanized": [ - "Bērziņš" - ], + "localized": ["Bērziņš"], + "romanized": ["Bērziņš"], "count": null }, { "id": "LV-2", "rank": 2, - "localized": [ - "Kalniņš" - ], - "romanized": [ - "Kalniņš" - ], + "localized": ["Kalniņš"], + "romanized": ["Kalniņš"], "count": null }, { "id": "LV-3", "rank": 3, - "localized": [ - "Ozoliņš" - ], - "romanized": [ - "Ozoliņš" - ], + "localized": ["Ozoliņš"], + "romanized": ["Ozoliņš"], "count": null }, { "id": "LV-4", "rank": 4, - "localized": [ - "Jansons" - ], - "romanized": [ - "Jansons" - ], + "localized": ["Jansons"], + "romanized": ["Jansons"], "count": null }, { "id": "LV-5", "rank": 5, - "localized": [ - "Ozols" - ], - "romanized": [ - "Ozols" - ], + "localized": ["Ozols"], + "romanized": ["Ozols"], "count": null }, { "id": "LV-6", "rank": 6, - "localized": [ - "Liepiņš" - ], - "romanized": [ - "Liepiņš" - ], + "localized": ["Liepiņš"], + "romanized": ["Liepiņš"], "count": null }, { "id": "LV-7", "rank": 7, - "localized": [ - "Krūmiņš" - ], - "romanized": [ - "Krūmiņš" - ], + "localized": ["Krūmiņš"], + "romanized": ["Krūmiņš"], "count": null }, { "id": "LV-8", "rank": 8, - "localized": [ - "Balodis" - ], - "romanized": [ - "Balodis" - ], + "localized": ["Balodis"], + "romanized": ["Balodis"], "count": null }, { "id": "LV-9", "rank": 9, - "localized": [ - "Eglītis" - ], - "romanized": [ - "Eglītis" - ], + "localized": ["Eglītis"], + "romanized": ["Eglītis"], "count": null }, { "id": "LV-10", "rank": 10, - "localized": [ - "Zariņš" - ], - "romanized": [ - "Zariņš" - ], + "localized": ["Zariņš"], + "romanized": ["Zariņš"], "count": null }, { "id": "LV-11", "rank": 11, - "localized": [ - "Pētersons" - ], - "romanized": [ - "Pētersons" - ], + "localized": ["Pētersons"], + "romanized": ["Pētersons"], "count": null }, { "id": "LV-12", "rank": 12, - "localized": [ - "Vītols" - ], - "romanized": [ - "Vītols" - ], + "localized": ["Vītols"], + "romanized": ["Vītols"], "count": null }, { "id": "LV-13", "rank": 13, - "localized": [ - "Kļaviņš" - ], - "romanized": [ - "Kļaviņš" - ], + "localized": ["Kļaviņš"], + "romanized": ["Kļaviņš"], "count": null }, { "id": "LV-14", "rank": 14, - "localized": [ - "Kārkliņš" - ], - "romanized": [ - "Kārkliņš" - ], + "localized": ["Kārkliņš"], + "romanized": ["Kārkliņš"], "count": null }, { "id": "LV-15", "rank": 15, - "localized": [ - "Vanags" - ], - "romanized": [ - "Vanags" - ], + "localized": ["Vanags"], + "romanized": ["Vanags"], "count": null } ], @@ -13171,131 +8328,71 @@ { "id": "LT-1", "rank": 1, - "localized": [ - "Kazlauskienė", - "Kazlauskas" - ], - "romanized": [ - "Kazlauskienė", - "Kazlauskas" - ], + "localized": ["Kazlauskienė", "Kazlauskas"], + "romanized": ["Kazlauskienė", "Kazlauskas"], "count": null }, { "id": "LT-2", "rank": 2, - "localized": [ - "Jankauskas", - "Jankauskienė" - ], - "romanized": [ - "Jankauskas", - "Jankauskienė" - ], + "localized": ["Jankauskas", "Jankauskienė"], + "romanized": ["Jankauskas", "Jankauskienė"], "count": null }, { "id": "LT-3", "rank": 3, - "localized": [ - "Petrauskas", - "Petrauskienė" - ], - "romanized": [ - "Petrauskas", - "Petrauskienė" - ], + "localized": ["Petrauskas", "Petrauskienė"], + "romanized": ["Petrauskas", "Petrauskienė"], "count": null }, { "id": "LT-4", "rank": 4, - "localized": [ - "Stankevičienė", - "Stankevičius" - ], - "romanized": [ - "Stankevičienė", - "Stankevičius" - ], + "localized": ["Stankevičienė", "Stankevičius"], + "romanized": ["Stankevičienė", "Stankevičius"], "count": null }, { "id": "LT-5", "rank": 5, - "localized": [ - "Vasiliauskas", - "Vasiliauskienė" - ], - "romanized": [ - "Vasiliauskas", - "Vasiliauskienė" - ], + "localized": ["Vasiliauskas", "Vasiliauskienė"], + "romanized": ["Vasiliauskas", "Vasiliauskienė"], "count": null }, { "id": "LT-6", "rank": 6, - "localized": [ - "Butkus", - "Butkienė" - ], - "romanized": [ - "Butkus", - "Butkienė" - ], + "localized": ["Butkus", "Butkienė"], + "romanized": ["Butkus", "Butkienė"], "count": null }, { "id": "LT-7", "rank": 7, - "localized": [ - "Žukauskienė", - "Žukauskas" - ], - "romanized": [ - "Žukauskienė", - "Žukauskas" - ], + "localized": ["Žukauskienė", "Žukauskas"], + "romanized": ["Žukauskienė", "Žukauskas"], "count": null }, { "id": "LT-8", "rank": 8, - "localized": [ - "Paulauskas", - "Paulauskienė" - ], - "romanized": [ - "Paulauskas", - "Paulauskienė" - ], + "localized": ["Paulauskas", "Paulauskienė"], + "romanized": ["Paulauskas", "Paulauskienė"], "count": null }, { "id": "LT-9", "rank": 9, - "localized": [ - "Urbonas", - "Urbonienė" - ], - "romanized": [ - "Urbonas", - "Urbonienė" - ], + "localized": ["Urbonas", "Urbonienė"], + "romanized": ["Urbonas", "Urbonienė"], "count": null }, { "id": "LT-10", "rank": 10, - "localized": [ - "Kavaliauskas", - "Kavaliauskienė" - ], - "romanized": [ - "Kavaliauskas", - "Kavaliauskienė" - ], + "localized": ["Kavaliauskas", "Kavaliauskienė"], + "romanized": ["Kavaliauskas", "Kavaliauskienė"], "count": null } ], @@ -13303,331 +8400,211 @@ { "id": "LU-1", "rank": 1, - "localized": [ - "Schmit" - ], - "romanized": [ - "Schmit" - ], + "localized": ["Schmit"], + "romanized": ["Schmit"], "count": 1929 }, { "id": "LU-2", "rank": 2, - "localized": [ - "Muller" - ], - "romanized": [ - "Muller" - ], + "localized": ["Muller"], + "romanized": ["Muller"], "count": 1473 }, { "id": "LU-3", "rank": 3, - "localized": [ - "Weber" - ], - "romanized": [ - "Weber" - ], + "localized": ["Weber"], + "romanized": ["Weber"], "count": 1380 }, { "id": "LU-4", "rank": 4, - "localized": [ - "Hoffmann" - ], - "romanized": [ - "Hoffmann" - ], + "localized": ["Hoffmann"], + "romanized": ["Hoffmann"], "count": 1335 }, { "id": "LU-5", "rank": 5, - "localized": [ - "Wagner" - ], - "romanized": [ - "Wagner" - ], + "localized": ["Wagner"], + "romanized": ["Wagner"], "count": 1300 }, { "id": "LU-6", "rank": 6, - "localized": [ - "Thill" - ], - "romanized": [ - "Thill" - ], + "localized": ["Thill"], + "romanized": ["Thill"], "count": 1027 }, { "id": "LU-7", "rank": 7, - "localized": [ - "Schmitz" - ], - "romanized": [ - "Schmitz" - ], + "localized": ["Schmitz"], + "romanized": ["Schmitz"], "count": 939 }, { "id": "LU-8", "rank": 8, - "localized": [ - "Schroeder" - ], - "romanized": [ - "Schroeder" - ], + "localized": ["Schroeder"], + "romanized": ["Schroeder"], "count": 793 }, { "id": "LU-9", "rank": 9, - "localized": [ - "Reuter" - ], - "romanized": [ - "Reuter" - ], + "localized": ["Reuter"], + "romanized": ["Reuter"], "count": 712 }, { "id": "LU-10", "rank": 10, - "localized": [ - "Klein" - ], - "romanized": [ - "Klein" - ], + "localized": ["Klein"], + "romanized": ["Klein"], "count": 706 }, { "id": "LU-11", "rank": 11, - "localized": [ - "Becker" - ], - "romanized": [ - "Becker" - ], + "localized": ["Becker"], + "romanized": ["Becker"], "count": 674 }, { "id": "LU-12", "rank": 12, - "localized": [ - "Kieffer" - ], - "romanized": [ - "Kieffer" - ], + "localized": ["Kieffer"], + "romanized": ["Kieffer"], "count": 660 }, { "id": "LU-13", "rank": 13, - "localized": [ - "Kremer" - ], - "romanized": [ - "Kremer" - ], + "localized": ["Kremer"], + "romanized": ["Kremer"], "count": 650 }, { "id": "LU-14", "rank": 14, - "localized": [ - "Faber" - ], - "romanized": [ - "Faber" - ], + "localized": ["Faber"], + "romanized": ["Faber"], "count": 610 }, { "id": "LU-15", "rank": 15, - "localized": [ - "Meyer" - ], - "romanized": [ - "Meyer" - ], + "localized": ["Meyer"], + "romanized": ["Meyer"], "count": 556 }, { "id": "LU-16", "rank": 16, - "localized": [ - "Schneider" - ], - "romanized": [ - "Schneider" - ], + "localized": ["Schneider"], + "romanized": ["Schneider"], "count": 550 }, { "id": "LU-17", "rank": 17, - "localized": [ - "Weiss" - ], - "romanized": [ - "Weiss" - ], + "localized": ["Weiss"], + "romanized": ["Weiss"], "count": 543 }, { "id": "LU-18", "rank": 18, - "localized": [ - "Schiltz" - ], - "romanized": [ - "Schiltz" - ], + "localized": ["Schiltz"], + "romanized": ["Schiltz"], "count": 538 }, { "id": "LU-19", "rank": 19, - "localized": [ - "Simon" - ], - "romanized": [ - "Simon" - ], + "localized": ["Simon"], + "romanized": ["Simon"], "count": 537 }, { "id": "LU-20", "rank": 20, - "localized": [ - "Welter" - ], - "romanized": [ - "Welter" - ], + "localized": ["Welter"], + "romanized": ["Welter"], "count": 533 }, { "id": "LU-21", "rank": 21, - "localized": [ - "Hansen" - ], - "romanized": [ - "Hansen" - ], + "localized": ["Hansen"], + "romanized": ["Hansen"], "count": 504 }, { "id": "LU-22", "rank": 22, - "localized": [ - "Majerus" - ], - "romanized": [ - "Majerus" - ], + "localized": ["Majerus"], + "romanized": ["Majerus"], "count": 496 }, { "id": "LU-23", "rank": 23, - "localized": [ - "Ries" - ], - "romanized": [ - "Ries" - ], + "localized": ["Ries"], + "romanized": ["Ries"], "count": 467 }, { "id": "LU-24", "rank": 24, - "localized": [ - "Meyers" - ], - "romanized": [ - "Meyers" - ], + "localized": ["Meyers"], + "romanized": ["Meyers"], "count": 459 }, { "id": "LU-25", "rank": 25, - "localized": [ - "Kayser" - ], - "romanized": [ - "Kayser" - ], + "localized": ["Kayser"], + "romanized": ["Kayser"], "count": 451 }, { "id": "LU-26", "rank": 26, - "localized": [ - "Steffen" - ], - "romanized": [ - "Steffen" - ], + "localized": ["Steffen"], + "romanized": ["Steffen"], "count": 441 }, { "id": "LU-27", "rank": 27, - "localized": [ - "Krier" - ], - "romanized": [ - "Krier" - ], + "localized": ["Krier"], + "romanized": ["Krier"], "count": 438 }, { "id": "LU-28", "rank": 28, - "localized": [ - "Braun" - ], - "romanized": [ - "Braun" - ], + "localized": ["Braun"], + "romanized": ["Braun"], "count": 421 }, { "id": "LU-29", "rank": 29, - "localized": [ - "Wagener" - ], - "romanized": [ - "Wagener" - ], + "localized": ["Wagener"], + "romanized": ["Wagener"], "count": 411 }, { "id": "LU-30", "rank": 30, - "localized": [ - "Diederich" - ], - "romanized": [ - "Diederich" - ], + "localized": ["Diederich"], + "romanized": ["Diederich"], "count": 405 } ], @@ -13635,111 +8612,71 @@ { "id": "MT-1", "rank": 1, - "localized": [ - "Borg" - ], - "romanized": [ - "Borg" - ], + "localized": ["Borg"], + "romanized": ["Borg"], "count": 13610 }, { "id": "MT-2", "rank": 2, - "localized": [ - "Camilleri" - ], - "romanized": [ - "Camilleri" - ], + "localized": ["Camilleri"], + "romanized": ["Camilleri"], "count": 13090 }, { "id": "MT-3", "rank": 3, - "localized": [ - "Vella" - ], - "romanized": [ - "Vella" - ], + "localized": ["Vella"], + "romanized": ["Vella"], "count": 12192 }, { "id": "MT-4", "rank": 4, - "localized": [ - "Farrugia" - ], - "romanized": [ - "Farrugia" - ], + "localized": ["Farrugia"], + "romanized": ["Farrugia"], "count": 11953 }, { "id": "MT-5", "rank": 5, - "localized": [ - "Zammit" - ], - "romanized": [ - "Zammit" - ], + "localized": ["Zammit"], + "romanized": ["Zammit"], "count": 9769 }, { "id": "MT-6", "rank": 6, - "localized": [ - "Galea" - ], - "romanized": [ - "Galea" - ], + "localized": ["Galea"], + "romanized": ["Galea"], "count": 8767 }, { "id": "MT-7", "rank": 7, - "localized": [ - "Micallef" - ], - "romanized": [ - "Micallef" - ], + "localized": ["Micallef"], + "romanized": ["Micallef"], "count": 8677 }, { "id": "MT-8", "rank": 8, - "localized": [ - "Grech" - ], - "romanized": [ - "Grech" - ], + "localized": ["Grech"], + "romanized": ["Grech"], "count": 8178 }, { "id": "MT-9", "rank": 9, - "localized": [ - "Attard" - ], - "romanized": [ - "Attard" - ], + "localized": ["Attard"], + "romanized": ["Attard"], "count": 7680 }, { "id": "MT-10", "rank": 10, - "localized": [ - "Spiteri" - ], - "romanized": [ - "Spiteri" - ], + "localized": ["Spiteri"], + "romanized": ["Spiteri"], "count": 7316 } ], @@ -13747,166 +8684,106 @@ { "id": "MD-1", "rank": 1, - "localized": [ - "Rusu" - ], - "romanized": [ - "Rusu" - ], + "localized": ["Rusu"], + "romanized": ["Rusu"], "count": 66781 }, { "id": "MD-2", "rank": 2, - "localized": [ - "Ceban" - ], - "romanized": [ - "Ceban" - ], + "localized": ["Ceban"], + "romanized": ["Ceban"], "count": 60694 }, { "id": "MD-3", "rank": 3, - "localized": [ - "Ciobanu" - ], - "romanized": [ - "Ciobanu" - ], + "localized": ["Ciobanu"], + "romanized": ["Ciobanu"], "count": 49784 }, { "id": "MD-4", "rank": 4, - "localized": [ - "Țurcan" - ], - "romanized": [ - "Țurcan" - ], + "localized": ["Țurcan"], + "romanized": ["Țurcan"], "count": 49253 }, { "id": "MD-5", "rank": 5, - "localized": [ - "Cebotari" - ], - "romanized": [ - "Cebotari" - ], + "localized": ["Cebotari"], + "romanized": ["Cebotari"], "count": 44845 }, { "id": "MD-6", "rank": 6, - "localized": [ - "Sîrbu" - ], - "romanized": [ - "Sîrbu" - ], + "localized": ["Sîrbu"], + "romanized": ["Sîrbu"], "count": 41095 }, { "id": "MD-7", "rank": 7, - "localized": [ - "Lungu" - ], - "romanized": [ - "Lungu" - ], + "localized": ["Lungu"], + "romanized": ["Lungu"], "count": 40861 }, { "id": "MD-8", "rank": 8, - "localized": [ - "Munteanu" - ], - "romanized": [ - "Munteanu" - ], + "localized": ["Munteanu"], + "romanized": ["Munteanu"], "count": 40321 }, { "id": "MD-9", "rank": 9, - "localized": [ - "Rotari" - ], - "romanized": [ - "Rotari" - ], + "localized": ["Rotari"], + "romanized": ["Rotari"], "count": 39181 }, { "id": "MD-10", "rank": 10, - "localized": [ - "Popa" - ], - "romanized": [ - "Popa" - ], + "localized": ["Popa"], + "romanized": ["Popa"], "count": 37476 }, { "id": "MD-11", "rank": 11, - "localized": [ - "Ursu" - ], - "romanized": [ - "Ursu" - ], + "localized": ["Ursu"], + "romanized": ["Ursu"], "count": 33222 }, { "id": "MD-12", "rank": 12, - "localized": [ - "Guțu" - ], - "romanized": [ - "Guțu" - ], + "localized": ["Guțu"], + "romanized": ["Guțu"], "count": 33155 }, { "id": "MD-13", "rank": 13, - "localized": [ - "Roșca" - ], - "romanized": [ - "Roșca" - ], + "localized": ["Roșca"], + "romanized": ["Roșca"], "count": 32462 }, { "id": "MD-14", "rank": 14, - "localized": [ - "Melnic" - ], - "romanized": [ - "Melnic" - ], + "localized": ["Melnic"], + "romanized": ["Melnic"], "count": 30832 }, { "id": "MD-15", "rank": 15, - "localized": [ - "Cojocari" - ], - "romanized": [ - "Cojocari" - ], + "localized": ["Cojocari"], + "romanized": ["Cojocari"], "count": 30525 } ], @@ -13914,111 +8791,71 @@ { "id": "ME-1", "rank": 1, - "localized": [ - "Popović" - ], - "romanized": [ - "Popović" - ], + "localized": ["Popović"], + "romanized": ["Popović"], "count": null }, { "id": "ME-2", "rank": 2, - "localized": [ - "Marković" - ], - "romanized": [ - "Marković" - ], + "localized": ["Marković"], + "romanized": ["Marković"], "count": null }, { "id": "ME-3", "rank": 3, - "localized": [ - "Vujović" - ], - "romanized": [ - "Vujović" - ], + "localized": ["Vujović"], + "romanized": ["Vujović"], "count": null }, { "id": "ME-4", "rank": 4, - "localized": [ - "Radović" - ], - "romanized": [ - "Radović" - ], + "localized": ["Radović"], + "romanized": ["Radović"], "count": null }, { "id": "ME-5", "rank": 5, - "localized": [ - "Ivanović" - ], - "romanized": [ - "Ivanović" - ], + "localized": ["Ivanović"], + "romanized": ["Ivanović"], "count": null }, { "id": "ME-6", "rank": 6, - "localized": [ - "Radulović" - ], - "romanized": [ - "Radulović" - ], + "localized": ["Radulović"], + "romanized": ["Radulović"], "count": null }, { "id": "ME-7", "rank": 7, - "localized": [ - "Jovanović" - ], - "romanized": [ - "Jovanović" - ], + "localized": ["Jovanović"], + "romanized": ["Jovanović"], "count": null }, { "id": "ME-8", "rank": 8, - "localized": [ - "Perović" - ], - "romanized": [ - "Perović" - ], + "localized": ["Perović"], + "romanized": ["Perović"], "count": null }, { "id": "ME-9", "rank": 9, - "localized": [ - "Vuković" - ], - "romanized": [ - "Vuković" - ], + "localized": ["Vuković"], + "romanized": ["Vuković"], "count": null }, { "id": "ME-10", "rank": 10, - "localized": [ - "Kovačević" - ], - "romanized": [ - "Kovačević" - ], + "localized": ["Kovačević"], + "romanized": ["Kovačević"], "count": null } ], @@ -14026,280 +8863,176 @@ { "id": "NL-1", "rank": 1, - "localized": [ - "De Jong" - ], - "romanized": [ - "De Jong" - ], + "localized": ["De Jong"], + "romanized": ["De Jong"], "count": 86534 }, { "id": "NL-2", "rank": 2, - "localized": [ - "Jansen" - ], - "romanized": [ - "Jansen" - ], + "localized": ["Jansen"], + "romanized": ["Jansen"], "count": 75699 }, { "id": "NL-3", "rank": 3, - "localized": [ - "De Vries" - ], - "romanized": [ - "De Vries" - ], + "localized": ["De Vries"], + "romanized": ["De Vries"], "count": 73157 }, { "id": "NL-4", "rank": 4, - "localized": [ - "Van den Berg" - ], - "romanized": [ - "Van den Berg" - ], + "localized": ["Van den Berg"], + "romanized": ["Van den Berg"], "count": 60130 }, { "id": "NL-5", "rank": 5, - "localized": [ - "Van Dijk", - "Van Dyk" - ], - "romanized": [ - "Van Dijk", - "Van Dyk" - ], + "localized": ["Van Dijk", "Van Dyk"], + "romanized": ["Van Dijk", "Van Dyk"], "count": 57944 }, { "id": "NL-6", "rank": 6, - "localized": [ - "Bakker" - ], - "romanized": [ - "Bakker" - ], + "localized": ["Bakker"], + "romanized": ["Bakker"], "count": 56864 }, { "id": "NL-7", "rank": 7, - "localized": [ - "Janssen" - ], - "romanized": [ - "Janssen" - ], + "localized": ["Janssen"], + "romanized": ["Janssen"], "count": 55394 }, { "id": "NL-8", "rank": 8, - "localized": [ - "Visser" - ], - "romanized": [ - "Visser" - ], + "localized": ["Visser"], + "romanized": ["Visser"], "count": 50929 }, { "id": "NL-9", "rank": 9, - "localized": [ - "Smit" - ], - "romanized": [ - "Smit" - ], + "localized": ["Smit"], + "romanized": ["Smit"], "count": 43493 }, { "id": "NL-10", "rank": 10, - "localized": [ - "Meijer", - "Meyer" - ], - "romanized": [ - "Meijer", - "Meyer" - ], + "localized": ["Meijer", "Meyer"], + "romanized": ["Meijer", "Meyer"], "count": 41497 }, { "id": "NL-11", "rank": 11, - "localized": [ - "De Boer" - ], - "romanized": [ - "De Boer" - ], + "localized": ["De Boer"], + "romanized": ["De Boer"], "count": 39576 }, { "id": "NL-12", "rank": 12, - "localized": [ - "Mulder" - ], - "romanized": [ - "Mulder" - ], + "localized": ["Mulder"], + "romanized": ["Mulder"], "count": 37250 }, { "id": "NL-13", "rank": 13, - "localized": [ - "De Groot" - ], - "romanized": [ - "De Groot" - ], + "localized": ["De Groot"], + "romanized": ["De Groot"], "count": 37221 }, { "id": "NL-14", "rank": 14, - "localized": [ - "Bos" - ], - "romanized": [ - "Bos" - ], + "localized": ["Bos"], + "romanized": ["Bos"], "count": 36478 }, { "id": "NL-15", "rank": 15, - "localized": [ - "Vos" - ], - "romanized": [ - "Vos" - ], + "localized": ["Vos"], + "romanized": ["Vos"], "count": 31154 }, { "id": "NL-16", "rank": 16, - "localized": [ - "Peters" - ], - "romanized": [ - "Peters" - ], + "localized": ["Peters"], + "romanized": ["Peters"], "count": 30864 }, { "id": "NL-17", "rank": 17, - "localized": [ - "Hendriks" - ], - "romanized": [ - "Hendriks" - ], + "localized": ["Hendriks"], + "romanized": ["Hendriks"], "count": 30199 }, { "id": "NL-18", "rank": 18, - "localized": [ - "Van Leeuwen" - ], - "romanized": [ - "Van Leeuwen" - ], + "localized": ["Van Leeuwen"], + "romanized": ["Van Leeuwen"], "count": 28774 }, { "id": "NL-19", "rank": 19, - "localized": [ - "Dekker" - ], - "romanized": [ - "Dekker" - ], + "localized": ["Dekker"], + "romanized": ["Dekker"], "count": 28682 }, { "id": "NL-20", "rank": 20, - "localized": [ - "Brouwer" - ], - "romanized": [ - "Brouwer" - ], + "localized": ["Brouwer"], + "romanized": ["Brouwer"], "count": 26224 }, { "id": "NL-21", "rank": 21, - "localized": [ - "De Wit" - ], - "romanized": [ - "De Wit" - ], + "localized": ["De Wit"], + "romanized": ["De Wit"], "count": 24904 }, { "id": "NL-22", "rank": 22, - "localized": [ - "Dijkstra" - ], - "romanized": [ - "Dijkstra" - ], + "localized": ["Dijkstra"], + "romanized": ["Dijkstra"], "count": 24175 }, { "id": "NL-23", "rank": 23, - "localized": [ - "Smits" - ], - "romanized": [ - "Smits" - ], + "localized": ["Smits"], + "romanized": ["Smits"], "count": 23816 }, { "id": "NL-24", "rank": 24, - "localized": [ - "De Graaf" - ], - "romanized": [ - "De Graaf" - ], + "localized": ["De Graaf"], + "romanized": ["De Graaf"], "count": 21699 }, { "id": "NL-25", "rank": 25, - "localized": [ - "Van der Meer" - ], - "romanized": [ - "Van der Meer" - ], + "localized": ["Van der Meer"], + "romanized": ["Van der Meer"], "count": 21354 } ], @@ -14307,419 +9040,267 @@ { "id": "MK-1", "rank": 1, - "localized": [ - "Andov" - ], - "romanized": [ - "Andov" - ], + "localized": ["Andov"], + "romanized": ["Andov"], "count": null }, { "id": "MK-2", "rank": 2, - "localized": [ - "Angelov" - ], - "romanized": [ - "Angelov" - ], + "localized": ["Angelov"], + "romanized": ["Angelov"], "count": null }, { "id": "MK-3", "rank": 3, - "localized": [ - "Bogdanov" - ], - "romanized": [ - "Bogdanov" - ], + "localized": ["Bogdanov"], + "romanized": ["Bogdanov"], "count": null }, { "id": "MK-4", "rank": 4, - "localized": [ - "Bozinov" - ], - "romanized": [ - "Bozinov" - ], + "localized": ["Bozinov"], + "romanized": ["Bozinov"], "count": null }, { "id": "MK-5", "rank": 5, - "localized": [ - "Brankov" - ], - "romanized": [ - "Brankov" - ], + "localized": ["Brankov"], + "romanized": ["Brankov"], "count": null }, { "id": "MK-6", "rank": 6, - "localized": [ - "Damcevski" - ], - "romanized": [ - "Damcevski" - ], + "localized": ["Damcevski"], + "romanized": ["Damcevski"], "count": null }, { "id": "MK-7", "rank": 7, - "localized": [ - "Davidov" - ], - "romanized": [ - "Davidov" - ], + "localized": ["Davidov"], + "romanized": ["Davidov"], "count": null }, { "id": "MK-8", "rank": 8, - "localized": [ - "Dimitrov" - ], - "romanized": [ - "Dimitrov" - ], + "localized": ["Dimitrov"], + "romanized": ["Dimitrov"], "count": null }, { "id": "MK-9", "rank": 9, - "localized": [ - "Donev" - ], - "romanized": [ - "Donev" - ], + "localized": ["Donev"], + "romanized": ["Donev"], "count": null }, { "id": "MK-10", "rank": 10, - "localized": [ - "Filipov" - ], - "romanized": [ - "Filipov" - ], + "localized": ["Filipov"], + "romanized": ["Filipov"], "count": null }, { "id": "MK-11", "rank": 11, - "localized": [ - "Georgiev" - ], - "romanized": [ - "Georgiev" - ], + "localized": ["Georgiev"], + "romanized": ["Georgiev"], "count": null }, { "id": "MK-12", "rank": 12, - "localized": [ - "Ivanov" - ], - "romanized": [ - "Ivanov" - ], + "localized": ["Ivanov"], + "romanized": ["Ivanov"], "count": null }, { "id": "MK-13", "rank": 13, - "localized": [ - "Ivanovski" - ], - "romanized": [ - "Ivanovski" - ], + "localized": ["Ivanovski"], + "romanized": ["Ivanovski"], "count": null }, { "id": "MK-14", "rank": 14, - "localized": [ - "Janev" - ], - "romanized": [ - "Janev" - ], + "localized": ["Janev"], + "romanized": ["Janev"], "count": null }, { "id": "MK-15", "rank": 15, - "localized": [ - "Kitanovski" - ], - "romanized": [ - "Kitanovski" - ], + "localized": ["Kitanovski"], + "romanized": ["Kitanovski"], "count": null }, { "id": "MK-16", "rank": 16, - "localized": [ - "Koloski" - ], - "romanized": [ - "Koloski" - ], + "localized": ["Koloski"], + "romanized": ["Koloski"], "count": null }, { "id": "MK-17", "rank": 17, - "localized": [ - "Kostovski" - ], - "romanized": [ - "Kostovski" - ], + "localized": ["Kostovski"], + "romanized": ["Kostovski"], "count": null }, { "id": "MK-18", "rank": 18, - "localized": [ - "Kostov" - ], - "romanized": [ - "Kostov" - ], + "localized": ["Kostov"], + "romanized": ["Kostov"], "count": null }, { "id": "MK-19", "rank": 19, - "localized": [ - "Manasievski" - ], - "romanized": [ - "Manasievski" - ], + "localized": ["Manasievski"], + "romanized": ["Manasievski"], "count": null }, { "id": "MK-20", "rank": 20, - "localized": [ - "Markov" - ], - "romanized": [ - "Markov" - ], + "localized": ["Markov"], + "romanized": ["Markov"], "count": null }, { "id": "MK-21", "rank": 21, - "localized": [ - "Markovski" - ], - "romanized": [ - "Markovski" - ], + "localized": ["Markovski"], + "romanized": ["Markovski"], "count": null }, { "id": "MK-22", "rank": 22, - "localized": [ - "Markoski" - ], - "romanized": [ - "Markoski" - ], + "localized": ["Markoski"], + "romanized": ["Markoski"], "count": null }, { "id": "MK-23", "rank": 23, - "localized": [ - "Matovski" - ], - "romanized": [ - "Matovski" - ], + "localized": ["Matovski"], + "romanized": ["Matovski"], "count": null }, { "id": "MK-24", "rank": 24, - "localized": [ - "Mladenovski" - ], - "romanized": [ - "Mladenovski" - ], + "localized": ["Mladenovski"], + "romanized": ["Mladenovski"], "count": null }, { "id": "MK-25", "rank": 25, - "localized": [ - "Nikolovski" - ], - "romanized": [ - "Nikolovski" - ], + "localized": ["Nikolovski"], + "romanized": ["Nikolovski"], "count": null }, { "id": "MK-26", "rank": 26, - "localized": [ - "Pavlovski" - ], - "romanized": [ - "Pavlovski" - ], + "localized": ["Pavlovski"], + "romanized": ["Pavlovski"], "count": null }, { "id": "MK-27", "rank": 27, - "localized": [ - "Penov" - ], - "romanized": [ - "Penov" - ], + "localized": ["Penov"], + "romanized": ["Penov"], "count": null }, { "id": "MK-28", "rank": 28, - "localized": [ - "Petkov" - ], - "romanized": [ - "Petkov" - ], + "localized": ["Petkov"], + "romanized": ["Petkov"], "count": null }, { "id": "MK-29", "rank": 29, - "localized": [ - "Petrevski" - ], - "romanized": [ - "Petrevski" - ], + "localized": ["Petrevski"], + "romanized": ["Petrevski"], "count": null }, { "id": "MK-30", "rank": 30, - "localized": [ - "Petrovski" - ], - "romanized": [ - "Petrovski" - ], + "localized": ["Petrovski"], + "romanized": ["Petrovski"], "count": null }, { "id": "MK-31", "rank": 31, - "localized": [ - "Popoff" - ], - "romanized": [ - "Popoff" - ], + "localized": ["Popoff"], + "romanized": ["Popoff"], "count": null }, { "id": "MK-32", "rank": 32, - "localized": [ - "Popovski" - ], - "romanized": [ - "Popovski" - ], + "localized": ["Popovski"], + "romanized": ["Popovski"], "count": null }, { "id": "MK-33", "rank": 33, - "localized": [ - "Ristevski" - ], - "romanized": [ - "Ristevski" - ], + "localized": ["Ristevski"], + "romanized": ["Ristevski"], "count": null }, { "id": "MK-34", "rank": 34, - "localized": [ - "Stojanov" - ], - "romanized": [ - "Stojanov" - ], + "localized": ["Stojanov"], + "romanized": ["Stojanov"], "count": null }, { "id": "MK-35", "rank": 35, - "localized": [ - "Trajanoski" - ], - "romanized": [ - "Trajanoski" - ], + "localized": ["Trajanoski"], + "romanized": ["Trajanoski"], "count": null }, { "id": "MK-36", "rank": 36, - "localized": [ - "Trajanovski" - ], - "romanized": [ - "Trajanovski" - ], + "localized": ["Trajanovski"], + "romanized": ["Trajanovski"], "count": null }, { "id": "MK-37", "rank": 37, - "localized": [ - "Trajcevski" - ], - "romanized": [ - "Trajcevski" - ], + "localized": ["Trajcevski"], + "romanized": ["Trajcevski"], "count": null }, { "id": "MK-38", "rank": 38, - "localized": [ - "Trajkovski" - ], - "romanized": [ - "Trajkovski" - ], + "localized": ["Trajkovski"], + "romanized": ["Trajkovski"], "count": null } ], @@ -14727,265 +9308,169 @@ { "id": "NO-1", "rank": 1, - "localized": [ - "Hansen" - ], - "romanized": [ - "Hansen" - ], + "localized": ["Hansen"], + "romanized": ["Hansen"], "count": 53011 }, { "id": "NO-2", "rank": 2, - "localized": [ - "Johansen" - ], - "romanized": [ - "Johansen" - ], + "localized": ["Johansen"], + "romanized": ["Johansen"], "count": 50088 }, { "id": "NO-3", "rank": 3, - "localized": [ - "Olsen" - ], - "romanized": [ - "Olsen" - ], + "localized": ["Olsen"], + "romanized": ["Olsen"], "count": 49303 }, { "id": "NO-4", "rank": 4, - "localized": [ - "Larsen" - ], - "romanized": [ - "Larsen" - ], + "localized": ["Larsen"], + "romanized": ["Larsen"], "count": 38 }, { "id": "NO-5", "rank": 5, - "localized": [ - "Andersen" - ], - "romanized": [ - "Andersen" - ], + "localized": ["Andersen"], + "romanized": ["Andersen"], "count": 37206 }, { "id": "NO-6", "rank": 6, - "localized": [ - "Pedersen" - ], - "romanized": [ - "Pedersen" - ], + "localized": ["Pedersen"], + "romanized": ["Pedersen"], "count": 35402 }, { "id": "NO-7", "rank": 7, - "localized": [ - "Nilsen" - ], - "romanized": [ - "Nilsen" - ], + "localized": ["Nilsen"], + "romanized": ["Nilsen"], "count": 34941 }, { "id": "NO-8", "rank": 8, - "localized": [ - "Kristiansen" - ], - "romanized": [ - "Kristiansen" - ], + "localized": ["Kristiansen"], + "romanized": ["Kristiansen"], "count": 23595 }, { "id": "NO-9", "rank": 9, - "localized": [ - "Jensen" - ], - "romanized": [ - "Jensen" - ], + "localized": ["Jensen"], + "romanized": ["Jensen"], "count": 23079 }, { "id": "NO-10", "rank": 10, - "localized": [ - "Karlsen" - ], - "romanized": [ - "Karlsen" - ], + "localized": ["Karlsen"], + "romanized": ["Karlsen"], "count": 21330 }, { "id": "NO-11", "rank": 11, - "localized": [ - "Johnsen" - ], - "romanized": [ - "Johnsen" - ], + "localized": ["Johnsen"], + "romanized": ["Johnsen"], "count": 20755 }, { "id": "NO-12", "rank": 12, - "localized": [ - "Pettersen" - ], - "romanized": [ - "Pettersen" - ], + "localized": ["Pettersen"], + "romanized": ["Pettersen"], "count": 20226 }, { "id": "NO-13", "rank": 13, - "localized": [ - "Eriksen" - ], - "romanized": [ - "Eriksen" - ], + "localized": ["Eriksen"], + "romanized": ["Eriksen"], "count": 19241 }, { "id": "NO-14", "rank": 14, - "localized": [ - "Berg" - ], - "romanized": [ - "Berg" - ], + "localized": ["Berg"], + "romanized": ["Berg"], "count": 18133 }, { "id": "NO-15", "rank": 15, - "localized": [ - "Haugen" - ], - "romanized": [ - "Haugen" - ], + "localized": ["Haugen"], + "romanized": ["Haugen"], "count": 14392 }, { "id": "NO-16", "rank": 16, - "localized": [ - "Hagen" - ], - "romanized": [ - "Hagen" - ], + "localized": ["Hagen"], + "romanized": ["Hagen"], "count": 14126 }, { "id": "NO-17", "rank": 17, - "localized": [ - "Johannessen" - ], - "romanized": [ - "Johannessen" - ], + "localized": ["Johannessen"], + "romanized": ["Johannessen"], "count": 13387 }, { "id": "NO-18", "rank": 18, - "localized": [ - "Andreassen" - ], - "romanized": [ - "Andreassen" - ], + "localized": ["Andreassen"], + "romanized": ["Andreassen"], "count": 12139 }, { "id": "NO-19", "rank": 19, - "localized": [ - "Jacobsen" - ], - "romanized": [ - "Jacobsen" - ], + "localized": ["Jacobsen"], + "romanized": ["Jacobsen"], "count": 11925 }, { "id": "NO-20", "rank": 20, - "localized": [ - "Dahl" - ], - "romanized": [ - "Dahl" - ], + "localized": ["Dahl"], + "romanized": ["Dahl"], "count": 11540 }, { "id": "NO-21", "rank": 21, - "localized": [ - "Jørgensen" - ], - "romanized": [ - "Jørgensen" - ], + "localized": ["Jørgensen"], + "romanized": ["Jørgensen"], "count": 11481 }, { "id": "NO-22", "rank": 22, - "localized": [ - "Halvorsen" - ], - "romanized": [ - "Halvorsen" - ], + "localized": ["Halvorsen"], + "romanized": ["Halvorsen"], "count": 11477 }, { "id": "NO-23", "rank": 23, - "localized": [ - "Henriksen" - ], - "romanized": [ - "Henriksen" - ], + "localized": ["Henriksen"], + "romanized": ["Henriksen"], "count": 11364 }, { "id": "NO-24", "rank": 24, - "localized": [ - "Lund" - ], - "romanized": [ - "Lund" - ], + "localized": ["Lund"], + "romanized": ["Lund"], "count": 11282 } ], @@ -14993,221 +9478,141 @@ { "id": "PL-1", "rank": 1, - "localized": [ - "Nowak" - ], - "romanized": [ - "Nowak" - ], + "localized": ["Nowak"], + "romanized": ["Nowak"], "count": 207348 }, { "id": "PL-2", "rank": 2, - "localized": [ - "Kowalski" - ], - "romanized": [ - "Kowalski" - ], + "localized": ["Kowalski"], + "romanized": ["Kowalski"], "count": 140471 }, { "id": "PL-3", "rank": 3, - "localized": [ - "Wiśniewski" - ], - "romanized": [ - "Wiśniewski" - ], + "localized": ["Wiśniewski"], + "romanized": ["Wiśniewski"], "count": 111174 }, { "id": "PL-4", "rank": 4, - "localized": [ - "Wójcik" - ], - "romanized": [ - "Wójcik" - ], + "localized": ["Wójcik"], + "romanized": ["Wójcik"], "count": 100064 }, { "id": "PL-5", "rank": 5, - "localized": [ - "Kowalczyk" - ], - "romanized": [ - "Kowalczyk" - ], + "localized": ["Kowalczyk"], + "romanized": ["Kowalczyk"], "count": 98739 }, { "id": "PL-6", "rank": 6, - "localized": [ - "Kamiński" - ], - "romanized": [ - "Kamiński" - ], + "localized": ["Kamiński"], + "romanized": ["Kamiński"], "count": 95816 }, { "id": "PL-7", "rank": 7, - "localized": [ - "Lewandowski" - ], - "romanized": [ - "Lewandowski" - ], + "localized": ["Lewandowski"], + "romanized": ["Lewandowski"], "count": 93404 }, { "id": "PL-8", "rank": 8, - "localized": [ - "Zieliński" - ], - "romanized": [ - "Zieliński" - ], + "localized": ["Zieliński"], + "romanized": ["Zieliński"], "count": 91522 }, { "id": "PL-9", "rank": 9, - "localized": [ - "Szymański" - ], - "romanized": [ - "Szymański" - ], + "localized": ["Szymański"], + "romanized": ["Szymański"], "count": 89698 }, { "id": "PL-10", "rank": 10, - "localized": [ - "Woźniak" - ], - "romanized": [ - "Woźniak" - ], + "localized": ["Woźniak"], + "romanized": ["Woźniak"], "count": 89015 }, { "id": "PL-11", "rank": 11, - "localized": [ - "Dąbrowski" - ], - "romanized": [ - "Dąbrowski" - ], + "localized": ["Dąbrowski"], + "romanized": ["Dąbrowski"], "count": 87304 }, { "id": "PL-12", "rank": 12, - "localized": [ - "Kozłowski" - ], - "romanized": [ - "Kozłowski" - ], + "localized": ["Kozłowski"], + "romanized": ["Kozłowski"], "count": 76657 }, { "id": "PL-13", "rank": 13, - "localized": [ - "Jankowski" - ], - "romanized": [ - "Jankowski" - ], + "localized": ["Jankowski"], + "romanized": ["Jankowski"], "count": 69280 }, { "id": "PL-14", "rank": 14, - "localized": [ - "Mazur" - ], - "romanized": [ - "Mazur" - ], + "localized": ["Mazur"], + "romanized": ["Mazur"], "count": 68090 }, { "id": "PL-15", "rank": 15, - "localized": [ - "Kwiatkowski" - ], - "romanized": [ - "Kwiatkowski" - ], + "localized": ["Kwiatkowski"], + "romanized": ["Kwiatkowski"], "count": 66917 }, { "id": "PL-16", "rank": 16, - "localized": [ - "Wojciechowski" - ], - "romanized": [ - "Wojciechowski" - ], + "localized": ["Wojciechowski"], + "romanized": ["Wojciechowski"], "count": 66879 }, { "id": "PL-17", "rank": 17, - "localized": [ - "Krawczyk" - ], - "romanized": [ - "Krawczyk" - ], + "localized": ["Krawczyk"], + "romanized": ["Krawczyk"], "count": 64543 }, { "id": "PL-18", "rank": 18, - "localized": [ - "Kaczmarek" - ], - "romanized": [ - "Kaczmarek" - ], + "localized": ["Kaczmarek"], + "romanized": ["Kaczmarek"], "count": 62399 }, { "id": "PL-19", "rank": 19, - "localized": [ - "Piotrowski" - ], - "romanized": [ - "Piotrowski" - ], + "localized": ["Piotrowski"], + "romanized": ["Piotrowski"], "count": 61844 }, { "id": "PL-20", "rank": 20, - "localized": [ - "Grabowski" - ], - "romanized": [ - "Grabowski" - ], + "localized": ["Grabowski"], + "romanized": ["Grabowski"], "count": 59052 } ], @@ -15215,551 +9620,351 @@ { "id": "PT-1", "rank": 1, - "localized": [ - "Silva" - ], - "romanized": [ - "Silva" - ], + "localized": ["Silva"], + "romanized": ["Silva"], "count": 975152 }, { "id": "PT-2", "rank": 2, - "localized": [ - "Santos" - ], - "romanized": [ - "Santos" - ], + "localized": ["Santos"], + "romanized": ["Santos"], "count": 615668 }, { "id": "PT-3", "rank": 3, - "localized": [ - "Ferreira" - ], - "romanized": [ - "Ferreira" - ], + "localized": ["Ferreira"], + "romanized": ["Ferreira"], "count": 542325 }, { "id": "PT-4", "rank": 4, - "localized": [ - "Pereira" - ], - "romanized": [ - "Pereira" - ], + "localized": ["Pereira"], + "romanized": ["Pereira"], "count": 504104 }, { "id": "PT-5", "rank": 5, - "localized": [ - "Oliveira" - ], - "romanized": [ - "Oliveira" - ], + "localized": ["Oliveira"], + "romanized": ["Oliveira"], "count": 383243 }, { "id": "PT-6", "rank": 6, - "localized": [ - "Costa" - ], - "romanized": [ - "Costa" - ], + "localized": ["Costa"], + "romanized": ["Costa"], "count": 380144 }, { "id": "PT-7", "rank": 7, - "localized": [ - "Rodrigues" - ], - "romanized": [ - "Rodrigues" - ], + "localized": ["Rodrigues"], + "romanized": ["Rodrigues"], "count": 368781 }, { "id": "PT-8", "rank": 8, - "localized": [ - "Martins" - ], - "romanized": [ - "Martins" - ], + "localized": ["Martins"], + "romanized": ["Martins"], "count": 333659 }, { "id": "PT-9", "rank": 9, - "localized": [ - "Jesus" - ], - "romanized": [ - "Jesus" - ], + "localized": ["Jesus"], + "romanized": ["Jesus"], "count": 308867 }, { "id": "PT-10", "rank": 10, - "localized": [ - "Sousa" - ], - "romanized": [ - "Sousa" - ], + "localized": ["Sousa"], + "romanized": ["Sousa"], "count": 304735 }, { "id": "PT-11", "rank": 11, - "localized": [ - "Fernandes" - ], - "romanized": [ - "Fernandes" - ], + "localized": ["Fernandes"], + "romanized": ["Fernandes"], "count": 291306 }, { "id": "PT-12", "rank": 12, - "localized": [ - "Gonçalves" - ], - "romanized": [ - "Gonçalves" - ], + "localized": ["Gonçalves"], + "romanized": ["Gonçalves"], "count": 285108 }, { "id": "PT-13", "rank": 13, - "localized": [ - "Gomes" - ], - "romanized": [ - "Gomes" - ], + "localized": ["Gomes"], + "romanized": ["Gomes"], "count": 265481 }, { "id": "PT-14", "rank": 14, - "localized": [ - "Lopes" - ], - "romanized": [ - "Lopes" - ], + "localized": ["Lopes"], + "romanized": ["Lopes"], "count": 260316 }, { "id": "PT-15", "rank": 15, - "localized": [ - "Marques" - ], - "romanized": [ - "Marques" - ], + "localized": ["Marques"], + "romanized": ["Marques"], "count": 259283 }, { "id": "PT-16", "rank": 16, - "localized": [ - "Alves" - ], - "romanized": [ - "Alves" - ], + "localized": ["Alves"], + "romanized": ["Alves"], "count": 244821 }, { "id": "PT-17", "rank": 17, - "localized": [ - "Almeida" - ], - "romanized": [ - "Almeida" - ], + "localized": ["Almeida"], + "romanized": ["Almeida"], "count": 234491 }, { "id": "PT-18", "rank": 18, - "localized": [ - "Ribeiro" - ], - "romanized": [ - "Ribeiro" - ], + "localized": ["Ribeiro"], + "romanized": ["Ribeiro"], "count": 234491 }, { "id": "PT-19", "rank": 19, - "localized": [ - "Pinto" - ], - "romanized": [ - "Pinto" - ], + "localized": ["Pinto"], + "romanized": ["Pinto"], "count": 215897 }, { "id": "PT-20", "rank": 20, - "localized": [ - "Carvalho" - ], - "romanized": [ - "Carvalho" - ], + "localized": ["Carvalho"], + "romanized": ["Carvalho"], "count": 203501 }, { "id": "PT-21", "rank": 21, - "localized": [ - "Teixeira" - ], - "romanized": [ - "Teixeira" - ], + "localized": ["Teixeira"], + "romanized": ["Teixeira"], "count": 174577 }, { "id": "PT-22", "rank": 22, - "localized": [ - "Moreira" - ], - "romanized": [ - "Moreira" - ], + "localized": ["Moreira"], + "romanized": ["Moreira"], "count": 159082 }, { "id": "PT-23", "rank": 23, - "localized": [ - "Correia" - ], - "romanized": [ - "Correia" - ], + "localized": ["Correia"], + "romanized": ["Correia"], "count": 158049 }, { "id": "PT-24", "rank": 24, - "localized": [ - "Mendes" - ], - "romanized": [ - "Mendes" - ], + "localized": ["Mendes"], + "romanized": ["Mendes"], "count": 143587 }, { "id": "PT-25", "rank": 25, - "localized": [ - "Nunes" - ], - "romanized": [ - "Nunes" - ], + "localized": ["Nunes"], + "romanized": ["Nunes"], "count": 136356 }, { "id": "PT-26", "rank": 26, - "localized": [ - "Soares" - ], - "romanized": [ - "Soares" - ], + "localized": ["Soares"], + "romanized": ["Soares"], "count": 132224 }, { "id": "PT-27", "rank": 27, - "localized": [ - "Vieira" - ], - "romanized": [ - "Vieira" - ], + "localized": ["Vieira"], + "romanized": ["Vieira"], "count": 123960 }, { "id": "PT-28", "rank": 28, - "localized": [ - "Monteiro" - ], - "romanized": [ - "Monteiro" - ], + "localized": ["Monteiro"], + "romanized": ["Monteiro"], "count": 114663 }, { "id": "PT-29", "rank": 29, - "localized": [ - "Cardoso" - ], - "romanized": [ - "Cardoso" - ], + "localized": ["Cardoso"], + "romanized": ["Cardoso"], "count": 110531 }, { "id": "PT-30", "rank": 30, - "localized": [ - "Rocha" - ], - "romanized": [ - "Rocha" - ], + "localized": ["Rocha"], + "romanized": ["Rocha"], "count": 107432 }, { "id": "PT-31", "rank": 31, - "localized": [ - "Neves" - ], - "romanized": [ - "Neves" - ], + "localized": ["Neves"], + "romanized": ["Neves"], "count": 101234 }, { "id": "PT-32", "rank": 32, - "localized": [ - "Coelho" - ], - "romanized": [ - "Coelho" - ], + "localized": ["Coelho"], + "romanized": ["Coelho"], "count": 100201 }, { "id": "PT-33", "rank": 33, - "localized": [ - "Cruz" - ], - "romanized": [ - "Cruz" - ], + "localized": ["Cruz"], + "romanized": ["Cruz"], "count": 97102 }, { "id": "PT-34", "rank": 34, - "localized": [ - "Cunha" - ], - "romanized": [ - "Cunha" - ], + "localized": ["Cunha"], + "romanized": ["Cunha"], "count": 96069 }, { "id": "PT-35", "rank": 35, - "localized": [ - "Pires" - ], - "romanized": [ - "Pires" - ], + "localized": ["Pires"], + "romanized": ["Pires"], "count": 95036 }, { "id": "PT-36", "rank": 36, - "localized": [ - "Duarte" - ], - "romanized": [ - "Duarte" - ], + "localized": ["Duarte"], + "romanized": ["Duarte"], "count": 88838 }, { "id": "PT-37", "rank": 37, - "localized": [ - "Reis" - ], - "romanized": [ - "Reis" - ], + "localized": ["Reis"], + "romanized": ["Reis"], "count": 87805 }, { "id": "PT-38", "rank": 38, - "localized": [ - "Simões" - ], - "romanized": [ - "Simões" - ], + "localized": ["Simões"], + "romanized": ["Simões"], "count": 87805 }, { "id": "PT-39", "rank": 39, - "localized": [ - "Antunes" - ], - "romanized": [ - "Antunes" - ], + "localized": ["Antunes"], + "romanized": ["Antunes"], "count": 84706 }, { "id": "PT-40", "rank": 40, - "localized": [ - "Matos" - ], - "romanized": [ - "Matos" - ], + "localized": ["Matos"], + "romanized": ["Matos"], "count": 84706 }, { "id": "PT-41", "rank": 41, - "localized": [ - "Fonseca" - ], - "romanized": [ - "Fonseca" - ], + "localized": ["Fonseca"], + "romanized": ["Fonseca"], "count": 83673 }, { "id": "PT-42", "rank": 42, - "localized": [ - "Machado" - ], - "romanized": [ - "Machado" - ], + "localized": ["Machado"], + "romanized": ["Machado"], "count": 78508 }, { "id": "PT-43", "rank": 43, - "localized": [ - "Araújo" - ], - "romanized": [ - "Araújo" - ], + "localized": ["Araújo"], + "romanized": ["Araújo"], "count": 71277 }, { "id": "PT-44", "rank": 44, - "localized": [ - "Barbosa" - ], - "romanized": [ - "Barbosa" - ], + "localized": ["Barbosa"], + "romanized": ["Barbosa"], "count": 71277 }, { "id": "PT-45", "rank": 45, - "localized": [ - "Tavares" - ], - "romanized": [ - "Tavares" - ], + "localized": ["Tavares"], + "romanized": ["Tavares"], "count": 69211 }, { "id": "PT-46", "rank": 46, - "localized": [ - "Lourenço" - ], - "romanized": [ - "Lourenço" - ], + "localized": ["Lourenço"], + "romanized": ["Lourenço"], "count": 67145 }, { "id": "PT-47", "rank": 47, - "localized": [ - "Castro" - ], - "romanized": [ - "Castro" - ], + "localized": ["Castro"], + "romanized": ["Castro"], "count": 64046 }, { "id": "PT-48", "rank": 48, - "localized": [ - "Figueiredo" - ], - "romanized": [ - "Figueiredo" - ], + "localized": ["Figueiredo"], + "romanized": ["Figueiredo"], "count": 64046 }, { "id": "PT-49", "rank": 49, - "localized": [ - "Azevedo" - ], - "romanized": [ - "Azevedo" - ], + "localized": ["Azevedo"], + "romanized": ["Azevedo"], "count": 61980 }, { "id": "PT-50", "rank": 50, - "localized": [ - "Freitas" - ], - "romanized": [ - "Freitas" - ], + "localized": ["Freitas"], + "romanized": ["Freitas"], "count": 61980 } ], @@ -15767,133 +9972,85 @@ { "id": "RO-1", "rank": 1, - "localized": [ - "Popa" - ], - "romanized": [ - "Popa" - ], + "localized": ["Popa"], + "romanized": ["Popa"], "count": null }, { "id": "RO-2", "rank": 2, - "localized": [ - "Popescu" - ], - "romanized": [ - "Popescu" - ], + "localized": ["Popescu"], + "romanized": ["Popescu"], "count": null }, { "id": "RO-3", "rank": 3, - "localized": [ - "Pop" - ], - "romanized": [ - "Pop" - ], + "localized": ["Pop"], + "romanized": ["Pop"], "count": null }, { "id": "RO-4", "rank": 4, - "localized": [ - "Radu" - ], - "romanized": [ - "Radu" - ], + "localized": ["Radu"], + "romanized": ["Radu"], "count": null }, { "id": "RO-5", "rank": 5, - "localized": [ - "Dumitru" - ], - "romanized": [ - "Dumitru" - ], + "localized": ["Dumitru"], + "romanized": ["Dumitru"], "count": null }, { "id": "RO-6", "rank": 6, - "localized": [ - "Stan" - ], - "romanized": [ - "Stan" - ], + "localized": ["Stan"], + "romanized": ["Stan"], "count": null }, { "id": "RO-7", "rank": 7, - "localized": [ - "Stoica" - ], - "romanized": [ - "Stoica" - ], + "localized": ["Stoica"], + "romanized": ["Stoica"], "count": null }, { "id": "RO-8", "rank": 8, - "localized": [ - "Gheorghe" - ], - "romanized": [ - "Gheorghe" - ], + "localized": ["Gheorghe"], + "romanized": ["Gheorghe"], "count": null }, { "id": "RO-9", "rank": 9, - "localized": [ - "Matei" - ], - "romanized": [ - "Matei" - ], + "localized": ["Matei"], + "romanized": ["Matei"], "count": null }, { "id": "RO-10", "rank": 10, - "localized": [ - "Ciobanu" - ], - "romanized": [ - "Ciobanu" - ], + "localized": ["Ciobanu"], + "romanized": ["Ciobanu"], "count": null }, { "id": "RO-11", "rank": 11, - "localized": [ - "Ionescu" - ], - "romanized": [ - "Ionescu" - ], + "localized": ["Ionescu"], + "romanized": ["Ionescu"], "count": null }, { "id": "RO-12", "rank": 12, - "localized": [ - "Rusu" - ], - "romanized": [ - "Rusu" - ], + "localized": ["Rusu"], + "romanized": ["Rusu"], "count": null } ], @@ -15901,111 +10058,71 @@ { "id": "RS-1", "rank": 1, - "localized": [ - "Јовановић" - ], - "romanized": [ - "Jovanović" - ], + "localized": ["Јовановић"], + "romanized": ["Jovanović"], "count": null }, { "id": "RS-2", "rank": 2, - "localized": [ - "Петровић" - ], - "romanized": [ - "Petrović" - ], + "localized": ["Петровић"], + "romanized": ["Petrović"], "count": null }, { "id": "RS-3", "rank": 3, - "localized": [ - "Николић" - ], - "romanized": [ - "Nikolić" - ], + "localized": ["Николић"], + "romanized": ["Nikolić"], "count": null }, { "id": "RS-4", "rank": 4, - "localized": [ - "Марковић" - ], - "romanized": [ - "Marković" - ], + "localized": ["Марковић"], + "romanized": ["Marković"], "count": null }, { "id": "RS-5", "rank": 5, - "localized": [ - "Ђорђевић" - ], - "romanized": [ - "Đorđević" - ], + "localized": ["Ђорђевић"], + "romanized": ["Đorđević"], "count": null }, { "id": "RS-6", "rank": 6, - "localized": [ - "Стојановић" - ], - "romanized": [ - "Stojanović" - ], + "localized": ["Стојановић"], + "romanized": ["Stojanović"], "count": null }, { "id": "RS-7", "rank": 7, - "localized": [ - "Илић" - ], - "romanized": [ - "Ilić" - ], + "localized": ["Илић"], + "romanized": ["Ilić"], "count": null }, { "id": "RS-8", "rank": 8, - "localized": [ - "Станковић" - ], - "romanized": [ - "Stanković" - ], + "localized": ["Станковић"], + "romanized": ["Stanković"], "count": null }, { "id": "RS-9", "rank": 9, - "localized": [ - "Павловић" - ], - "romanized": [ - "Pavlović" - ], + "localized": ["Павловић"], + "romanized": ["Pavlović"], "count": null }, { "id": "RS-10", "rank": 10, - "localized": [ - "Милошевић" - ], - "romanized": [ - "Milošević" - ], + "localized": ["Милошевић"], + "romanized": ["Milošević"], "count": null } ], @@ -16013,221 +10130,141 @@ { "id": "SK-1", "rank": 1, - "localized": [ - "Horváth" - ], - "romanized": [ - "Horváth" - ], + "localized": ["Horváth"], + "romanized": ["Horváth"], "count": 30813 }, { "id": "SK-2", "rank": 2, - "localized": [ - "Kováč" - ], - "romanized": [ - "Kováč" - ], + "localized": ["Kováč"], + "romanized": ["Kováč"], "count": 29079 }, { "id": "SK-3", "rank": 3, - "localized": [ - "Varga" - ], - "romanized": [ - "Varga" - ], + "localized": ["Varga"], + "romanized": ["Varga"], "count": 21650 }, { "id": "SK-4", "rank": 4, - "localized": [ - "Tóth" - ], - "romanized": [ - "Tóth" - ], + "localized": ["Tóth"], + "romanized": ["Tóth"], "count": 21604 }, { "id": "SK-5", "rank": 5, - "localized": [ - "Nagy" - ], - "romanized": [ - "Nagy" - ], + "localized": ["Nagy"], + "romanized": ["Nagy"], "count": 19341 }, { "id": "SK-6", "rank": 6, - "localized": [ - "Baláž" - ], - "romanized": [ - "Baláž" - ], + "localized": ["Baláž"], + "romanized": ["Baláž"], "count": 14114 }, { "id": "SK-7", "rank": 7, - "localized": [ - "Szabó" - ], - "romanized": [ - "Szabó" - ], + "localized": ["Szabó"], + "romanized": ["Szabó"], "count": 13998 }, { "id": "SK-8", "rank": 8, - "localized": [ - "Molnár" - ], - "romanized": [ - "Molnár" - ], + "localized": ["Molnár"], + "romanized": ["Molnár"], "count": 12632 }, { "id": "SK-9", "rank": 9, - "localized": [ - "Balog" - ], - "romanized": [ - "Balog" - ], + "localized": ["Balog"], + "romanized": ["Balog"], "count": 10872 }, { "id": "SK-10", "rank": 10, - "localized": [ - "Lukáč" - ], - "romanized": [ - "Lukáč" - ], + "localized": ["Lukáč"], + "romanized": ["Lukáč"], "count": 9718 }, { "id": "SK-11", "rank": 11, - "localized": [ - "Novák" - ], - "romanized": [ - "Novák" - ], + "localized": ["Novák"], + "romanized": ["Novák"], "count": 9712 }, { "id": "SK-12", "rank": 12, - "localized": [ - "Kovács" - ], - "romanized": [ - "Kovács" - ], + "localized": ["Kovács"], + "romanized": ["Kovács"], "count": 9567 }, { "id": "SK-13", "rank": 13, - "localized": [ - "Polák" - ], - "romanized": [ - "Polák" - ], + "localized": ["Polák"], + "romanized": ["Polák"], "count": 9352 }, { "id": "SK-14", "rank": 14, - "localized": [ - "Gajdoš" - ], - "romanized": [ - "Gajdoš" - ], + "localized": ["Gajdoš"], + "romanized": ["Gajdoš"], "count": 8777 }, { "id": "SK-15", "rank": 15, - "localized": [ - "Kollár" - ], - "romanized": [ - "Kollár" - ], + "localized": ["Kollár"], + "romanized": ["Kollár"], "count": 8699 }, { "id": "SK-16", "rank": 16, - "localized": [ - "Hudák" - ], - "romanized": [ - "Hudák" - ], + "localized": ["Hudák"], + "romanized": ["Hudák"], "count": 7895 }, { "id": "SK-17", "rank": 17, - "localized": [ - "Neméth" - ], - "romanized": [ - "Neméth" - ], + "localized": ["Neméth"], + "romanized": ["Neméth"], "count": 7491 }, { "id": "SK-18", "rank": 18, - "localized": [ - "Kováčik" - ], - "romanized": [ - "Kováčik" - ], + "localized": ["Kováčik"], + "romanized": ["Kováčik"], "count": 7472 }, { "id": "SK-19", "rank": 19, - "localized": [ - "Oláh" - ], - "romanized": [ - "Oláh" - ], + "localized": ["Oláh"], + "romanized": ["Oláh"], "count": 7240 }, { "id": "SK-20", "rank": 20, - "localized": [ - "Oravec" - ], - "romanized": [ - "Oravec" - ], + "localized": ["Oravec"], + "romanized": ["Oravec"], "count": 7223 } ], @@ -16235,331 +10272,211 @@ { "id": "SI-1", "rank": 1, - "localized": [ - "Novak" - ], - "romanized": [ - "Novak" - ], + "localized": ["Novak"], + "romanized": ["Novak"], "count": 11196 }, { "id": "SI-2", "rank": 2, - "localized": [ - "Horvat" - ], - "romanized": [ - "Horvat" - ], + "localized": ["Horvat"], + "romanized": ["Horvat"], "count": 9762 }, { "id": "SI-3", "rank": 3, - "localized": [ - "Kovačič" - ], - "romanized": [ - "Kovačič" - ], + "localized": ["Kovačič"], + "romanized": ["Kovačič"], "count": 5640 }, { "id": "SI-4", "rank": 4, - "localized": [ - "Krajnc" - ], - "romanized": [ - "Krajnc" - ], + "localized": ["Krajnc"], + "romanized": ["Krajnc"], "count": 5585 }, { "id": "SI-5", "rank": 5, - "localized": [ - "Zupančič" - ], - "romanized": [ - "Zupančič" - ], + "localized": ["Zupančič"], + "romanized": ["Zupančič"], "count": 5019 }, { "id": "SI-6", "rank": 6, - "localized": [ - "Potočnik" - ], - "romanized": [ - "Potočnik" - ], + "localized": ["Potočnik"], + "romanized": ["Potočnik"], "count": 4729 }, { "id": "SI-7", "rank": 7, - "localized": [ - "Kovač" - ], - "romanized": [ - "Kovač" - ], + "localized": ["Kovač"], + "romanized": ["Kovač"], "count": 4729 }, { "id": "SI-8", "rank": 8, - "localized": [ - "Mlakar" - ], - "romanized": [ - "Mlakar" - ], + "localized": ["Mlakar"], + "romanized": ["Mlakar"], "count": 3957 }, { "id": "SI-9", "rank": 9, - "localized": [ - "Kos" - ], - "romanized": [ - "Kos" - ], + "localized": ["Kos"], + "romanized": ["Kos"], "count": 3905 }, { "id": "SI-10", "rank": 10, - "localized": [ - "Vidmar" - ], - "romanized": [ - "Vidmar" - ], + "localized": ["Vidmar"], + "romanized": ["Vidmar"], "count": 3885 }, { "id": "SI-11", "rank": 11, - "localized": [ - "Golob" - ], - "romanized": [ - "Golob" - ], + "localized": ["Golob"], + "romanized": ["Golob"], "count": 3855 }, { "id": "SI-12", "rank": 12, - "localized": [ - "Turk" - ], - "romanized": [ - "Turk" - ], + "localized": ["Turk"], + "romanized": ["Turk"], "count": 3506 }, { "id": "SI-13", "rank": 13, - "localized": [ - "Božič" - ], - "romanized": [ - "Božič" - ], + "localized": ["Božič"], + "romanized": ["Božič"], "count": 3421 }, { "id": "SI-14", "rank": 14, - "localized": [ - "Kralj" - ], - "romanized": [ - "Kralj" - ], + "localized": ["Kralj"], + "romanized": ["Kralj"], "count": 3418 }, { "id": "SI-15", "rank": 15, - "localized": [ - "Korošec" - ], - "romanized": [ - "Korošec" - ], + "localized": ["Korošec"], + "romanized": ["Korošec"], "count": 3285 }, { "id": "SI-16", "rank": 16, - "localized": [ - "Zupan" - ], - "romanized": [ - "Zupan" - ], + "localized": ["Zupan"], + "romanized": ["Zupan"], "count": 3256 }, { "id": "SI-17", "rank": 17, - "localized": [ - "Bizjak" - ], - "romanized": [ - "Bizjak" - ], + "localized": ["Bizjak"], + "romanized": ["Bizjak"], "count": 3209 }, { "id": "SI-18", "rank": 18, - "localized": [ - "Hribar" - ], - "romanized": [ - "Hribar" - ], + "localized": ["Hribar"], + "romanized": ["Hribar"], "count": 3136 }, { "id": "SI-19", "rank": 19, - "localized": [ - "Kotnik" - ], - "romanized": [ - "Kotnik" - ], + "localized": ["Kotnik"], + "romanized": ["Kotnik"], "count": 3069 }, { "id": "SI-20", "rank": 20, - "localized": [ - "Kavčič" - ], - "romanized": [ - "Kavčič" - ], + "localized": ["Kavčič"], + "romanized": ["Kavčič"], "count": 3003 }, { "id": "SI-21", "rank": 21, - "localized": [ - "Rozman" - ], - "romanized": [ - "Rozman" - ], + "localized": ["Rozman"], + "romanized": ["Rozman"], "count": 2992 }, { "id": "SI-22", "rank": 22, - "localized": [ - "Kastelic" - ], - "romanized": [ - "Kastelic" - ], + "localized": ["Kastelic"], + "romanized": ["Kastelic"], "count": 2873 }, { "id": "SI-23", "rank": 23, - "localized": [ - "Oblak" - ], - "romanized": [ - "Oblak" - ], + "localized": ["Oblak"], + "romanized": ["Oblak"], "count": 2841 }, { "id": "SI-24", "rank": 24, - "localized": [ - "Žagar" - ], - "romanized": [ - "Žagar" - ], + "localized": ["Žagar"], + "romanized": ["Žagar"], "count": 2828 }, { "id": "SI-25", "rank": 25, - "localized": [ - "Petek" - ], - "romanized": [ - "Petek" - ], + "localized": ["Petek"], + "romanized": ["Petek"], "count": 2821 }, { "id": "SI-26", "rank": 26, - "localized": [ - "Hočevar" - ], - "romanized": [ - "Hočevar" - ], + "localized": ["Hočevar"], + "romanized": ["Hočevar"], "count": 2808 }, { "id": "SI-27", "rank": 27, - "localized": [ - "Kolar" - ], - "romanized": [ - "Kolar" - ], + "localized": ["Kolar"], + "romanized": ["Kolar"], "count": 2807 }, { "id": "SI-28", "rank": 28, - "localized": [ - "Košir" - ], - "romanized": [ - "Košir" - ], + "localized": ["Košir"], + "romanized": ["Košir"], "count": 2738 }, { "id": "SI-29", "rank": 29, - "localized": [ - "Koren" - ], - "romanized": [ - "Koren" - ], + "localized": ["Koren"], + "romanized": ["Koren"], "count": 2598 }, { "id": "SI-30", "rank": 30, - "localized": [ - "Klemenčič" - ], - "romanized": [ - "Klemenčič" - ], + "localized": ["Klemenčič"], + "romanized": ["Klemenčič"], "count": 2399 } ], @@ -16567,441 +10484,281 @@ { "id": "ES-1", "rank": 1, - "localized": [ - "García" - ], - "romanized": [ - "García" - ], + "localized": ["García"], + "romanized": ["García"], "count": 1378000 }, { "id": "ES-2", "rank": 2, - "localized": [ - "Fernández" - ], - "romanized": [ - "Fernández" - ], + "localized": ["Fernández"], + "romanized": ["Fernández"], "count": 851000 }, { "id": "ES-3", "rank": 3, - "localized": [ - "González" - ], - "romanized": [ - "González" - ], + "localized": ["González"], + "romanized": ["González"], "count": 839000 }, { "id": "ES-4", "rank": 4, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": 804000 }, { "id": "ES-5", "rank": 5, - "localized": [ - "López" - ], - "romanized": [ - "López" - ], + "localized": ["López"], + "romanized": ["López"], "count": 796000 }, { "id": "ES-6", "rank": 6, - "localized": [ - "Martínez" - ], - "romanized": [ - "Martínez" - ], + "localized": ["Martínez"], + "romanized": ["Martínez"], "count": 788000 }, { "id": "ES-7", "rank": 7, - "localized": [ - "Sánchez" - ], - "romanized": [ - "Sánchez" - ], + "localized": ["Sánchez"], + "romanized": ["Sánchez"], "count": 725000 }, { "id": "ES-8", "rank": 8, - "localized": [ - "Pérez" - ], - "romanized": [ - "Pérez" - ], + "localized": ["Pérez"], + "romanized": ["Pérez"], "count": 709000 }, { "id": "ES-9", "rank": 9, - "localized": [ - "Martín" - ], - "romanized": [ - "Martín" - ], + "localized": ["Martín"], + "romanized": ["Martín"], "count": 459000 }, { "id": "ES-10", "rank": 10, - "localized": [ - "Gómez" - ], - "romanized": [ - "Gómez" - ], + "localized": ["Gómez"], + "romanized": ["Gómez"], "count": 440000 }, { "id": "ES-11", "rank": 11, - "localized": [ - "Ruiz" - ], - "romanized": [ - "Ruiz" - ], + "localized": ["Ruiz"], + "romanized": ["Ruiz"], "count": 321000 }, { "id": "ES-12", "rank": 12, - "localized": [ - "Hernández" - ], - "romanized": [ - "Hernández" - ], + "localized": ["Hernández"], + "romanized": ["Hernández"], "count": 305000 }, { "id": "ES-13", "rank": 13, - "localized": [ - "Jiménez" - ], - "romanized": [ - "Jiménez" - ], + "localized": ["Jiménez"], + "romanized": ["Jiménez"], "count": 293000 }, { "id": "ES-14", "rank": 14, - "localized": [ - "Díaz" - ], - "romanized": [ - "Díaz" - ], + "localized": ["Díaz"], + "romanized": ["Díaz"], "count": 293000 }, { "id": "ES-15", "rank": 15, - "localized": [ - "Álvarez" - ], - "romanized": [ - "Álvarez" - ], + "localized": ["Álvarez"], + "romanized": ["Álvarez"], "count": 273000 }, { "id": "ES-16", "rank": 16, - "localized": [ - "Moreno" - ], - "romanized": [ - "Moreno" - ], + "localized": ["Moreno"], + "romanized": ["Moreno"], "count": 261000 }, { "id": "ES-17", "rank": 17, - "localized": [ - "Muñoz" - ], - "romanized": [ - "Muñoz" - ], + "localized": ["Muñoz"], + "romanized": ["Muñoz"], "count": 241000 }, { "id": "ES-18", "rank": 18, - "localized": [ - "Alonso" - ], - "romanized": [ - "Alonso" - ], + "localized": ["Alonso"], + "romanized": ["Alonso"], "count": 206000 }, { "id": "ES-19", "rank": 19, - "localized": [ - "Gutiérrez" - ], - "romanized": [ - "Gutiérrez" - ], + "localized": ["Gutiérrez"], + "romanized": ["Gutiérrez"], "count": 170000 }, { "id": "ES-20", "rank": 20, - "localized": [ - "Romero" - ], - "romanized": [ - "Romero" - ], + "localized": ["Romero"], + "romanized": ["Romero"], "count": 170000 }, { "id": "ES-21", "rank": 21, - "localized": [ - "Navarro" - ], - "romanized": [ - "Navarro" - ], + "localized": ["Navarro"], + "romanized": ["Navarro"], "count": 158400 }, { "id": "ES-22", "rank": 22, - "localized": [ - "Torres" - ], - "romanized": [ - "Torres" - ], + "localized": ["Torres"], + "romanized": ["Torres"], "count": 134600 }, { "id": "ES-23", "rank": 23, - "localized": [ - "Domínguez" - ], - "romanized": [ - "Domínguez" - ], + "localized": ["Domínguez"], + "romanized": ["Domínguez"], "count": 134600 }, { "id": "ES-24", "rank": 24, - "localized": [ - "Gil" - ], - "romanized": [ - "Gil" - ], + "localized": ["Gil"], + "romanized": ["Gil"], "count": 134600 }, { "id": "ES-25", "rank": 25, - "localized": [ - "Vázquez" - ], - "romanized": [ - "Vázquez" - ], + "localized": ["Vázquez"], + "romanized": ["Vázquez"], "count": 130000 }, { "id": "ES-26", "rank": 26, - "localized": [ - "Serrano" - ], - "romanized": [ - "Serrano" - ], + "localized": ["Serrano"], + "romanized": ["Serrano"], "count": 122700 }, { "id": "ES-27", "rank": 27, - "localized": [ - "Ramos" - ], - "romanized": [ - "Ramos" - ], + "localized": ["Ramos"], + "romanized": ["Ramos"], "count": 118000 }, { "id": "ES-28", "rank": 28, - "localized": [ - "Blanco" - ], - "romanized": [ - "Blanco" - ], + "localized": ["Blanco"], + "romanized": ["Blanco"], "count": 118000 }, { "id": "ES-29", "rank": 29, - "localized": [ - "Sanz" - ], - "romanized": [ - "Sanz" - ], + "localized": ["Sanz"], + "romanized": ["Sanz"], "count": 106900 }, { "id": "ES-30", "rank": 30, - "localized": [ - "Castro" - ], - "romanized": [ - "Castro" - ], + "localized": ["Castro"], + "romanized": ["Castro"], "count": 102900 }, { "id": "ES-31", "rank": 31, - "localized": [ - "Suárez" - ], - "romanized": [ - "Suárez" - ], + "localized": ["Suárez"], + "romanized": ["Suárez"], "count": 102900 }, { "id": "ES-32", "rank": 32, - "localized": [ - "Ortega" - ], - "romanized": [ - "Ortega" - ], + "localized": ["Ortega"], + "romanized": ["Ortega"], "count": 99000 }, { "id": "ES-33", "rank": 33, - "localized": [ - "Rubio" - ], - "romanized": [ - "Rubio" - ], + "localized": ["Rubio"], + "romanized": ["Rubio"], "count": 99000 }, { "id": "ES-34", "rank": 34, - "localized": [ - "Molina" - ], - "romanized": [ - "Molina" - ], + "localized": ["Molina"], + "romanized": ["Molina"], "count": 99000 }, { "id": "ES-35", "rank": 35, - "localized": [ - "Delgado" - ], - "romanized": [ - "Delgado" - ], + "localized": ["Delgado"], + "romanized": ["Delgado"], "count": 95000 }, { "id": "ES-36", "rank": 36, - "localized": [ - "Ramírez" - ], - "romanized": [ - "Ramírez" - ], + "localized": ["Ramírez"], + "romanized": ["Ramírez"], "count": 95000 }, { "id": "ES-37", "rank": 37, - "localized": [ - "Morales" - ], - "romanized": [ - "Morales" - ], + "localized": ["Morales"], + "romanized": ["Morales"], "count": 95000 }, { "id": "ES-38", "rank": 38, - "localized": [ - "Ortiz" - ], - "romanized": [ - "Ortiz" - ], + "localized": ["Ortiz"], + "romanized": ["Ortiz"], "count": 87120 }, { "id": "ES-39", "rank": 39, - "localized": [ - "Marín" - ], - "romanized": [ - "Marín" - ], + "localized": ["Marín"], + "romanized": ["Marín"], "count": 83160 }, { "id": "ES-40", "rank": 40, - "localized": [ - "Iglesias" - ], - "romanized": [ - "Iglesias" - ], + "localized": ["Iglesias"], + "romanized": ["Iglesias"], "count": 83160 } ], @@ -17009,276 +10766,176 @@ { "id": "SV-1", "rank": 1, - "localized": [ - "Hernández" - ], - "romanized": [ - "Hernández" - ], + "localized": ["Hernández"], + "romanized": ["Hernández"], "count": null }, { "id": "SV-2", "rank": 2, - "localized": [ - "Martínez" - ], - "romanized": [ - "Martínez" - ], + "localized": ["Martínez"], + "romanized": ["Martínez"], "count": null }, { "id": "SV-3", "rank": 3, - "localized": [ - "López" - ], - "romanized": [ - "López" - ], + "localized": ["López"], + "romanized": ["López"], "count": null }, { "id": "SV-4", "rank": 4, - "localized": [ - "García" - ], - "romanized": [ - "García" - ], + "localized": ["García"], + "romanized": ["García"], "count": null }, { "id": "SV-5", "rank": 5, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": null }, { "id": "SV-6", "rank": 6, - "localized": [ - "Flores" - ], - "romanized": [ - "Flores" - ], + "localized": ["Flores"], + "romanized": ["Flores"], "count": null }, { "id": "SV-7", "rank": 7, - "localized": [ - "Pérez" - ], - "romanized": [ - "Pérez" - ], + "localized": ["Pérez"], + "romanized": ["Pérez"], "count": null }, { "id": "SV-8", "rank": 8, - "localized": [ - "Ramírez" - ], - "romanized": [ - "Ramírez" - ], + "localized": ["Ramírez"], + "romanized": ["Ramírez"], "count": null }, { "id": "SV-9", "rank": 9, - "localized": [ - "González" - ], - "romanized": [ - "González" - ], + "localized": ["González"], + "romanized": ["González"], "count": null }, { "id": "SV-10", "rank": 10, - "localized": [ - "Rivera" - ], - "romanized": [ - "Rivera" - ], + "localized": ["Rivera"], + "romanized": ["Rivera"], "count": null }, { "id": "SV-11", "rank": 11, - "localized": [ - "Vásquez" - ], - "romanized": [ - "Vásquez" - ], + "localized": ["Vásquez"], + "romanized": ["Vásquez"], "count": null }, { "id": "SV-12", "rank": 12, - "localized": [ - "Cruz" - ], - "romanized": [ - "Cruz" - ], + "localized": ["Cruz"], + "romanized": ["Cruz"], "count": null }, { "id": "SV-13", "rank": 13, - "localized": [ - "Mejía" - ], - "romanized": [ - "Mejía" - ], + "localized": ["Mejía"], + "romanized": ["Mejía"], "count": null }, { "id": "SV-14", "rank": 14, - "localized": [ - "Rivas" - ], - "romanized": [ - "Rivas" - ], + "localized": ["Rivas"], + "romanized": ["Rivas"], "count": null }, { "id": "SV-15", "rank": 15, - "localized": [ - "Sánchez" - ], - "romanized": [ - "Sánchez" - ], + "localized": ["Sánchez"], + "romanized": ["Sánchez"], "count": null }, { "id": "SV-16", "rank": 16, - "localized": [ - "Reyes" - ], - "romanized": [ - "Reyes" - ], + "localized": ["Reyes"], + "romanized": ["Reyes"], "count": null }, { "id": "SV-17", "rank": 17, - "localized": [ - "Díaz" - ], - "romanized": [ - "Díaz" - ], + "localized": ["Díaz"], + "romanized": ["Díaz"], "count": null }, { "id": "SV-18", "rank": 18, - "localized": [ - "Ramos" - ], - "romanized": [ - "Ramos" - ], + "localized": ["Ramos"], + "romanized": ["Ramos"], "count": null }, { "id": "SV-19", "rank": 19, - "localized": [ - "Gómez" - ], - "romanized": [ - "Gómez" - ], + "localized": ["Gómez"], + "romanized": ["Gómez"], "count": null }, { "id": "SV-20", "rank": 20, - "localized": [ - "Portillo" - ], - "romanized": [ - "Portillo" - ], + "localized": ["Portillo"], + "romanized": ["Portillo"], "count": null }, { "id": "SV-21", "rank": 21, - "localized": [ - "Escobar" - ], - "romanized": [ - "Escobar" - ], + "localized": ["Escobar"], + "romanized": ["Escobar"], "count": null }, { "id": "SV-22", "rank": 22, - "localized": [ - "Orellana" - ], - "romanized": [ - "Orellana" - ], + "localized": ["Orellana"], + "romanized": ["Orellana"], "count": null }, { "id": "SV-23", "rank": 23, - "localized": [ - "Romero" - ], - "romanized": [ - "Romero" - ], + "localized": ["Romero"], + "romanized": ["Romero"], "count": null }, { "id": "SV-24", "rank": 24, - "localized": [ - "Aguilar" - ], - "romanized": [ - "Aguilar" - ], + "localized": ["Aguilar"], + "romanized": ["Aguilar"], "count": null }, { "id": "SV-25", "rank": 25, - "localized": [ - "Alvarado" - ], - "romanized": [ - "Alvarado" - ], + "localized": ["Alvarado"], + "romanized": ["Alvarado"], "count": null } ], @@ -17286,166 +10943,106 @@ { "id": "CH-1", "rank": 1, - "localized": [ - "Müller" - ], - "romanized": [ - "Müller" - ], + "localized": ["Müller"], + "romanized": ["Müller"], "count": 31000 }, { "id": "CH-2", "rank": 2, - "localized": [ - "Meier" - ], - "romanized": [ - "Meier" - ], + "localized": ["Meier"], + "romanized": ["Meier"], "count": 19150 }, { "id": "CH-3", "rank": 3, - "localized": [ - "Schmid" - ], - "romanized": [ - "Schmid" - ], + "localized": ["Schmid"], + "romanized": ["Schmid"], "count": 16900 }, { "id": "CH-4", "rank": 4, - "localized": [ - "Keller" - ], - "romanized": [ - "Keller" - ], + "localized": ["Keller"], + "romanized": ["Keller"], "count": 13000 }, { "id": "CH-5", "rank": 5, - "localized": [ - "Weber" - ], - "romanized": [ - "Weber" - ], + "localized": ["Weber"], + "romanized": ["Weber"], "count": 11850 }, { "id": "CH-6", "rank": 6, - "localized": [ - "Huber" - ], - "romanized": [ - "Huber" - ], + "localized": ["Huber"], + "romanized": ["Huber"], "count": 10550 }, { "id": "CH-7", "rank": 7, - "localized": [ - "Meyer" - ], - "romanized": [ - "Meyer" - ], + "localized": ["Meyer"], + "romanized": ["Meyer"], "count": 10350 }, { "id": "CH-8", "rank": 8, - "localized": [ - "Schneider" - ], - "romanized": [ - "Schneider" - ], + "localized": ["Schneider"], + "romanized": ["Schneider"], "count": 10300 }, { "id": "CH-9", "rank": 9, - "localized": [ - "Steiner" - ], - "romanized": [ - "Steiner" - ], + "localized": ["Steiner"], + "romanized": ["Steiner"], "count": 8950 }, { "id": "CH-10", "rank": 10, - "localized": [ - "Fischer" - ], - "romanized": [ - "Fischer" - ], + "localized": ["Fischer"], + "romanized": ["Fischer"], "count": 8200 }, { "id": "CH-11", "rank": 11, - "localized": [ - "Brunner" - ], - "romanized": [ - "Brunner" - ], + "localized": ["Brunner"], + "romanized": ["Brunner"], "count": 8100 }, { "id": "CH-12", "rank": 12, - "localized": [ - "Baumann" - ], - "romanized": [ - "Baumann" - ], + "localized": ["Baumann"], + "romanized": ["Baumann"], "count": 8000 }, { "id": "CH-13", "rank": 13, - "localized": [ - "Gerber" - ], - "romanized": [ - "Gerber" - ], + "localized": ["Gerber"], + "romanized": ["Gerber"], "count": 7950 }, { "id": "CH-14", "rank": 14, - "localized": [ - "Frei" - ], - "romanized": [ - "Frei" - ], + "localized": ["Frei"], + "romanized": ["Frei"], "count": 7750 }, { "id": "CH-15", "rank": 15, - "localized": [ - "Moser" - ], - "romanized": [ - "Moser" - ], + "localized": ["Moser"], + "romanized": ["Moser"], "count": 7500 } ], @@ -17453,221 +11050,141 @@ { "id": "UA-1", "rank": 1, - "localized": [ - "Melnyk" - ], - "romanized": [ - "Melnyk" - ], + "localized": ["Melnyk"], + "romanized": ["Melnyk"], "count": null }, { "id": "UA-2", "rank": 2, - "localized": [ - "Shevchenko" - ], - "romanized": [ - "Shevchenko" - ], + "localized": ["Shevchenko"], + "romanized": ["Shevchenko"], "count": null }, { "id": "UA-3", "rank": 3, - "localized": [ - "Boyko" - ], - "romanized": [ - "Boyko" - ], + "localized": ["Boyko"], + "romanized": ["Boyko"], "count": null }, { "id": "UA-4", "rank": 4, - "localized": [ - "Kovalenko" - ], - "romanized": [ - "Kovalenko" - ], + "localized": ["Kovalenko"], + "romanized": ["Kovalenko"], "count": null }, { "id": "UA-5", "rank": 5, - "localized": [ - "Bondarenko" - ], - "romanized": [ - "Bondarenko" - ], + "localized": ["Bondarenko"], + "romanized": ["Bondarenko"], "count": null }, { "id": "UA-6", "rank": 6, - "localized": [ - "Tkachenko" - ], - "romanized": [ - "Tkachenko" - ], + "localized": ["Tkachenko"], + "romanized": ["Tkachenko"], "count": null }, { "id": "UA-7", "rank": 7, - "localized": [ - "Kovalchuk" - ], - "romanized": [ - "Kovalchuk" - ], + "localized": ["Kovalchuk"], + "romanized": ["Kovalchuk"], "count": null }, { "id": "UA-8", "rank": 8, - "localized": [ - "Kravchenko" - ], - "romanized": [ - "Kravchenko" - ], + "localized": ["Kravchenko"], + "romanized": ["Kravchenko"], "count": null }, { "id": "UA-9", "rank": 9, - "localized": [ - "Yakovenko" - ], - "romanized": [ - "Yakovenko" - ], + "localized": ["Yakovenko"], + "romanized": ["Yakovenko"], "count": null }, { "id": "UA-10", "rank": 10, - "localized": [ - "Shevchuk" - ], - "romanized": [ - "Shevchuk" - ], + "localized": ["Shevchuk"], + "romanized": ["Shevchuk"], "count": null }, { "id": "UA-11", "rank": 11, - "localized": [ - "Koval" - ], - "romanized": [ - "Koval" - ], + "localized": ["Koval"], + "romanized": ["Koval"], "count": null }, { "id": "UA-12", "rank": 12, - "localized": [ - "Polishchuk" - ], - "romanized": [ - "Polishchuk" - ], + "localized": ["Polishchuk"], + "romanized": ["Polishchuk"], "count": null }, { "id": "UA-13", "rank": 13, - "localized": [ - "Bondar" - ], - "romanized": [ - "Bondar" - ], + "localized": ["Bondar"], + "romanized": ["Bondar"], "count": null }, { "id": "UA-14", "rank": 14, - "localized": [ - "Tkachuk" - ], - "romanized": [ - "Tkachuk" - ], + "localized": ["Tkachuk"], + "romanized": ["Tkachuk"], "count": null }, { "id": "UA-15", "rank": 15, - "localized": [ - "Moroz" - ], - "romanized": [ - "Moroz" - ], + "localized": ["Moroz"], + "romanized": ["Moroz"], "count": null }, { "id": "UA-16", "rank": 16, - "localized": [ - "Marchenko" - ], - "romanized": [ - "Marchenko" - ], + "localized": ["Marchenko"], + "romanized": ["Marchenko"], "count": null }, { "id": "UA-17", "rank": 17, - "localized": [ - "Lysenko" - ], - "romanized": [ - "Lysenko" - ], + "localized": ["Lysenko"], + "romanized": ["Lysenko"], "count": null }, { "id": "UA-18", "rank": 18, - "localized": [ - "Rudenko" - ], - "romanized": [ - "Rudenko" - ], + "localized": ["Rudenko"], + "romanized": ["Rudenko"], "count": null }, { "id": "UA-19", "rank": 19, - "localized": [ - "Savchenko" - ], - "romanized": [ - "Savchenko" - ], + "localized": ["Savchenko"], + "romanized": ["Savchenko"], "count": null }, { "id": "UA-20", "rank": 20, - "localized": [ - "Petrenko" - ], - "romanized": [ - "Petrenko" - ], + "localized": ["Petrenko"], + "romanized": ["Petrenko"], "count": null } ], @@ -17675,276 +11192,176 @@ { "id": "GB-1", "rank": 1, - "localized": [ - "Brown" - ], - "romanized": [ - "Brown" - ], + "localized": ["Brown"], + "romanized": ["Brown"], "count": null }, { "id": "GB-2", "rank": 2, - "localized": [ - "Smith" - ], - "romanized": [ - "Smith" - ], + "localized": ["Smith"], + "romanized": ["Smith"], "count": null }, { "id": "GB-3", "rank": 3, - "localized": [ - "Patel" - ], - "romanized": [ - "Patel" - ], + "localized": ["Patel"], + "romanized": ["Patel"], "count": null }, { "id": "GB-4", "rank": 4, - "localized": [ - "Jones" - ], - "romanized": [ - "Jones" - ], + "localized": ["Jones"], + "romanized": ["Jones"], "count": null }, { "id": "GB-5", "rank": 5, - "localized": [ - "Williams" - ], - "romanized": [ - "Williams" - ], + "localized": ["Williams"], + "romanized": ["Williams"], "count": null }, { "id": "GB-6", "rank": 6, - "localized": [ - "Johnson" - ], - "romanized": [ - "Johnson" - ], + "localized": ["Johnson"], + "romanized": ["Johnson"], "count": null }, { "id": "GB-7", "rank": 7, - "localized": [ - "Taylor" - ], - "romanized": [ - "Taylor" - ], + "localized": ["Taylor"], + "romanized": ["Taylor"], "count": null }, { "id": "GB-8", "rank": 8, - "localized": [ - "Thomas" - ], - "romanized": [ - "Thomas" - ], + "localized": ["Thomas"], + "romanized": ["Thomas"], "count": null }, { "id": "GB-9", "rank": 9, - "localized": [ - "Roberts" - ], - "romanized": [ - "Roberts" - ], + "localized": ["Roberts"], + "romanized": ["Roberts"], "count": null }, { "id": "GB-10", "rank": 10, - "localized": [ - "Khan" - ], - "romanized": [ - "Khan" - ], + "localized": ["Khan"], + "romanized": ["Khan"], "count": null }, { "id": "GB-11", "rank": 11, - "localized": [ - "Lewis" - ], - "romanized": [ - "Lewis" - ], + "localized": ["Lewis"], + "romanized": ["Lewis"], "count": null }, { "id": "GB-12", "rank": 12, - "localized": [ - "Jackson" - ], - "romanized": [ - "Jackson" - ], + "localized": ["Jackson"], + "romanized": ["Jackson"], "count": null }, { "id": "GB-13", "rank": 13, - "localized": [ - "Clarke" - ], - "romanized": [ - "Clarke" - ], + "localized": ["Clarke"], + "romanized": ["Clarke"], "count": null }, { "id": "GB-14", "rank": 14, - "localized": [ - "James" - ], - "romanized": [ - "James" - ], + "localized": ["James"], + "romanized": ["James"], "count": null }, { "id": "GB-15", "rank": 15, - "localized": [ - "Phillips" - ], - "romanized": [ - "Phillips" - ], + "localized": ["Phillips"], + "romanized": ["Phillips"], "count": null }, { "id": "GB-16", "rank": 16, - "localized": [ - "Wilson" - ], - "romanized": [ - "Wilson" - ], + "localized": ["Wilson"], + "romanized": ["Wilson"], "count": null }, { "id": "GB-17", "rank": 17, - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ], + "localized": ["Ali"], + "romanized": ["Ali"], "count": null }, { "id": "GB-18", "rank": 18, - "localized": [ - "Mason" - ], - "romanized": [ - "Mason" - ], + "localized": ["Mason"], + "romanized": ["Mason"], "count": null }, { "id": "GB-19", "rank": 19, - "localized": [ - "Mitchell" - ], - "romanized": [ - "Mitchell" - ], + "localized": ["Mitchell"], + "romanized": ["Mitchell"], "count": null }, { "id": "GB-20", "rank": 20, - "localized": [ - "Rose" - ], - "romanized": [ - "Rose" - ], + "localized": ["Rose"], + "romanized": ["Rose"], "count": null }, { "id": "GB-21", "rank": 21, - "localized": [ - "Davis" - ], - "romanized": [ - "Davis" - ], + "localized": ["Davis"], + "romanized": ["Davis"], "count": null }, { "id": "GB-22", "rank": 22, - "localized": [ - "Davies" - ], - "romanized": [ - "Davies" - ], + "localized": ["Davies"], + "romanized": ["Davies"], "count": null }, { "id": "GB-23", "rank": 23, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": null }, { "id": "GB-24", "rank": 24, - "localized": [ - "Cox" - ], - "romanized": [ - "Cox" - ], + "localized": ["Cox"], + "romanized": ["Cox"], "count": null }, { "id": "GB-25", "rank": 25, - "localized": [ - "Alexander" - ], - "romanized": [ - "Alexander" - ], + "localized": ["Alexander"], + "romanized": ["Alexander"], "count": null } ], @@ -17952,111 +11369,71 @@ { "id": "CA-1", "rank": 1, - "localized": [ - "Smith" - ], - "romanized": [ - "Smith" - ], + "localized": ["Smith"], + "romanized": ["Smith"], "count": 192145 }, { "id": "CA-2", "rank": 2, - "localized": [ - "Brown" - ], - "romanized": [ - "Brown" - ], + "localized": ["Brown"], + "romanized": ["Brown"], "count": 108859 }, { "id": "CA-3", "rank": 3, - "localized": [ - "Tremblay" - ], - "romanized": [ - "Tremblay" - ], + "localized": ["Tremblay"], + "romanized": ["Tremblay"], "count": 106668 }, { "id": "CA-4", "rank": 4, - "localized": [ - "Martin" - ], - "romanized": [ - "Martin" - ], + "localized": ["Martin"], + "romanized": ["Martin"], "count": 91680 }, { "id": "CA-5", "rank": 5, - "localized": [ - "Roy" - ], - "romanized": [ - "Roy" - ], + "localized": ["Roy"], + "romanized": ["Roy"], "count": 90417 }, { "id": "CA-6", "rank": 6, - "localized": [ - "Gagnon" - ], - "romanized": [ - "Gagnon" - ], + "localized": ["Gagnon"], + "romanized": ["Gagnon"], "count": 85120 }, { "id": "CA-7", "rank": 7, - "localized": [ - "Lee" - ], - "romanized": [ - "Lee" - ], + "localized": ["Lee"], + "romanized": ["Lee"], "count": 83424 }, { "id": "CA-8", "rank": 8, - "localized": [ - "Wilson" - ], - "romanized": [ - "Wilson" - ], + "localized": ["Wilson"], + "romanized": ["Wilson"], "count": 82768 }, { "id": "CA-9", "rank": 9, - "localized": [ - "Johnson" - ], - "romanized": [ - "Johnson" - ], + "localized": ["Johnson"], + "romanized": ["Johnson"], "count": 79492 }, { "id": "CA-10", "rank": 10, - "localized": [ - "MacDonald" - ], - "romanized": [ - "MacDonald" - ], + "localized": ["MacDonald"], + "romanized": ["MacDonald"], "count": 78766 } ], @@ -18064,243 +11441,155 @@ { "id": "CR-1", "rank": 1, - "localized": [ - "Hernández" - ], - "romanized": [ - "Hernández" - ], + "localized": ["Hernández"], + "romanized": ["Hernández"], "count": null }, { "id": "CR-2", "rank": 2, - "localized": [ - "Mora" - ], - "romanized": [ - "Mora" - ], + "localized": ["Mora"], + "romanized": ["Mora"], "count": null }, { "id": "CR-3", "rank": 3, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": null }, { "id": "CR-4", "rank": 4, - "localized": [ - "González" - ], - "romanized": [ - "González" - ], + "localized": ["González"], + "romanized": ["González"], "count": null }, { "id": "CR-5", "rank": 5, - "localized": [ - "Jiménez" - ], - "romanized": [ - "Jiménez" - ], + "localized": ["Jiménez"], + "romanized": ["Jiménez"], "count": null }, { "id": "CR-6", "rank": 6, - "localized": [ - "Morales" - ], - "romanized": [ - "Morales" - ], + "localized": ["Morales"], + "romanized": ["Morales"], "count": null }, { "id": "CR-7", "rank": 7, - "localized": [ - "Sánchez" - ], - "romanized": [ - "Sánchez" - ], + "localized": ["Sánchez"], + "romanized": ["Sánchez"], "count": null }, { "id": "CR-8", "rank": 8, - "localized": [ - "Ramírez" - ], - "romanized": [ - "Ramírez" - ], + "localized": ["Ramírez"], + "romanized": ["Ramírez"], "count": null }, { "id": "CR-9", "rank": 9, - "localized": [ - "Pérez" - ], - "romanized": [ - "Pérez" - ], + "localized": ["Pérez"], + "romanized": ["Pérez"], "count": null }, { "id": "CR-10", "rank": 10, - "localized": [ - "Calderón" - ], - "romanized": [ - "Calderón" - ], + "localized": ["Calderón"], + "romanized": ["Calderón"], "count": null }, { "id": "CR-11", "rank": 11, - "localized": [ - "Gutiérrez" - ], - "romanized": [ - "Gutiérrez" - ], + "localized": ["Gutiérrez"], + "romanized": ["Gutiérrez"], "count": null }, { "id": "CR-12", "rank": 12, - "localized": [ - "Rojas" - ], - "romanized": [ - "Rojas" - ], + "localized": ["Rojas"], + "romanized": ["Rojas"], "count": null }, { "id": "CR-13", "rank": 13, - "localized": [ - "Vargas" - ], - "romanized": [ - "Vargas" - ], + "localized": ["Vargas"], + "romanized": ["Vargas"], "count": null }, { "id": "CR-14", "rank": 14, - "localized": [ - "Torres" - ], - "romanized": [ - "Torres" - ], + "localized": ["Torres"], + "romanized": ["Torres"], "count": null }, { "id": "CR-15", "rank": 15, - "localized": [ - "Salas" - ], - "romanized": [ - "Salas" - ], + "localized": ["Salas"], + "romanized": ["Salas"], "count": null }, { "id": "CR-16", "rank": 16, - "localized": [ - "Segura" - ], - "romanized": [ - "Segura" - ], + "localized": ["Segura"], + "romanized": ["Segura"], "count": null }, { "id": "CR-17", "rank": 17, - "localized": [ - "Valverde" - ], - "romanized": [ - "Valverde" - ], + "localized": ["Valverde"], + "romanized": ["Valverde"], "count": null }, { "id": "CR-18", "rank": 18, - "localized": [ - "Villalobos" - ], - "romanized": [ - "Villalobos" - ], + "localized": ["Villalobos"], + "romanized": ["Villalobos"], "count": null }, { "id": "CR-19", "rank": 19, - "localized": [ - "Araya" - ], - "romanized": [ - "Araya" - ], + "localized": ["Araya"], + "romanized": ["Araya"], "count": null }, { "id": "CR-20", "rank": 20, - "localized": [ - "Herrera" - ], - "romanized": [ - "Herrera" - ], + "localized": ["Herrera"], + "romanized": ["Herrera"], "count": null }, { "id": "CR-21", "rank": 21, - "localized": [ - "López" - ], - "romanized": [ - "López" - ], + "localized": ["López"], + "romanized": ["López"], "count": null }, { "id": "CR-22", "rank": 22, - "localized": [ - "Madrigal" - ], - "romanized": [ - "Madrigal" - ], + "localized": ["Madrigal"], + "romanized": ["Madrigal"], "count": null } ], @@ -18308,331 +11597,211 @@ { "id": "CU-1", "rank": 1, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": 225321 }, { "id": "CU-2", "rank": 2, - "localized": [ - "Pérez" - ], - "romanized": [ - "Pérez" - ], + "localized": ["Pérez"], + "romanized": ["Pérez"], "count": 158059 }, { "id": "CU-3", "rank": 3, - "localized": [ - "Martinez" - ], - "romanized": [ - "Martinez" - ], + "localized": ["Martinez"], + "romanized": ["Martinez"], "count": 141259 }, { "id": "CU-4", "rank": 4, - "localized": [ - "García" - ], - "romanized": [ - "García" - ], + "localized": ["García"], + "romanized": ["García"], "count": 137124 }, { "id": "CU-5", "rank": 5, - "localized": [ - "Reyes" - ], - "romanized": [ - "Reyes" - ], + "localized": ["Reyes"], + "romanized": ["Reyes"], "count": 104892 }, { "id": "CU-6", "rank": 6, - "localized": [ - "Sánchez" - ], - "romanized": [ - "Sánchez" - ], + "localized": ["Sánchez"], + "romanized": ["Sánchez"], "count": 104392 }, { "id": "CU-7", "rank": 7, - "localized": [ - "Díaz" - ], - "romanized": [ - "Díaz" - ], + "localized": ["Díaz"], + "romanized": ["Díaz"], "count": 95106 }, { "id": "CU-8", "rank": 8, - "localized": [ - "Peña" - ], - "romanized": [ - "Peña" - ], + "localized": ["Peña"], + "romanized": ["Peña"], "count": 94396 }, { "id": "CU-9", "rank": 9, - "localized": [ - "Jiménez" - ], - "romanized": [ - "Jiménez" - ], + "localized": ["Jiménez"], + "romanized": ["Jiménez"], "count": 92978 }, { "id": "CU-10", "rank": 10, - "localized": [ - "Ramírez" - ], - "romanized": [ - "Ramírez" - ], + "localized": ["Ramírez"], + "romanized": ["Ramírez"], "count": 92863 }, { "id": "CU-11", "rank": 11, - "localized": [ - "Hernández" - ], - "romanized": [ - "Hernández" - ], + "localized": ["Hernández"], + "romanized": ["Hernández"], "count": 91080 }, { "id": "CU-12", "rank": 12, - "localized": [ - "Rosario" - ], - "romanized": [ - "Rosario" - ], + "localized": ["Rosario"], + "romanized": ["Rosario"], "count": 89630 }, { "id": "CU-13", "rank": 13, - "localized": [ - "González" - ], - "romanized": [ - "González" - ], + "localized": ["González"], + "romanized": ["González"], "count": 85757 }, { "id": "CU-14", "rank": 14, - "localized": [ - "Santana" - ], - "romanized": [ - "Santana" - ], + "localized": ["Santana"], + "romanized": ["Santana"], "count": 81973 }, { "id": "CU-15", "rank": 15, - "localized": [ - "Núñez" - ], - "romanized": [ - "Núñez" - ], + "localized": ["Núñez"], + "romanized": ["Núñez"], "count": 79374 }, { "id": "CU-16", "rank": 16, - "localized": [ - "Castillo" - ], - "romanized": [ - "Castillo" - ], + "localized": ["Castillo"], + "romanized": ["Castillo"], "count": 78338 }, { "id": "CU-17", "rank": 17, - "localized": [ - "de la Cruz" - ], - "romanized": [ - "de la Cruz" - ], + "localized": ["de la Cruz"], + "romanized": ["de la Cruz"], "count": 76977 }, { "id": "CU-18", "rank": 18, - "localized": [ - "Cruz" - ], - "romanized": [ - "Cruz" - ], + "localized": ["Cruz"], + "romanized": ["Cruz"], "count": 64613 }, { "id": "CU-19", "rank": 19, - "localized": [ - "Guzmán" - ], - "romanized": [ - "Guzmán" - ], + "localized": ["Guzmán"], + "romanized": ["Guzmán"], "count": 63073 }, { "id": "CU-20", "rank": 20, - "localized": [ - "Gómez" - ], - "romanized": [ - "Gómez" - ], + "localized": ["Gómez"], + "romanized": ["Gómez"], "count": 62310 }, { "id": "CU-21", "rank": 21, - "localized": [ - "Santos" - ], - "romanized": [ - "Santos" - ], + "localized": ["Santos"], + "romanized": ["Santos"], "count": 60613 }, { "id": "CU-22", "rank": 22, - "localized": [ - "López" - ], - "romanized": [ - "López" - ], + "localized": ["López"], + "romanized": ["López"], "count": 59566 }, { "id": "CU-23", "rank": 23, - "localized": [ - "Fuentes" - ], - "romanized": [ - "Fuentes" - ], + "localized": ["Fuentes"], + "romanized": ["Fuentes"], "count": 58518 }, { "id": "CU-24", "rank": 24, - "localized": [ - "Vásquez" - ], - "romanized": [ - "Vásquez" - ], + "localized": ["Vásquez"], + "romanized": ["Vásquez"], "count": 56149 }, { "id": "CU-25", "rank": 25, - "localized": [ - "De Los Santos" - ], - "romanized": [ - "De Los Santos" - ], + "localized": ["De Los Santos"], + "romanized": ["De Los Santos"], "count": 54634 }, { "id": "CU-26", "rank": 26, - "localized": [ - "Mejía" - ], - "romanized": [ - "Mejía" - ], + "localized": ["Mejía"], + "romanized": ["Mejía"], "count": 51605 }, { "id": "CU-27", "rank": 27, - "localized": [ - "Ponce" - ], - "romanized": [ - "Ponce" - ], + "localized": ["Ponce"], + "romanized": ["Ponce"], "count": 49952 }, { "id": "CU-28", "rank": 28, - "localized": [ - "Fernández" - ], - "romanized": [ - "Fernández" - ], + "localized": ["Fernández"], + "romanized": ["Fernández"], "count": 49712 }, { "id": "CU-29", "rank": 29, - "localized": [ - "Vargas" - ], - "romanized": [ - "Vargas" - ], + "localized": ["Vargas"], + "romanized": ["Vargas"], "count": 49353 }, { "id": "CU-30", "rank": 30, - "localized": [ - "Montes" - ], - "romanized": [ - "Montes" - ], + "localized": ["Montes"], + "romanized": ["Montes"], "count": 48574 } ], @@ -18640,331 +11809,211 @@ { "id": "DO-1", "rank": 1, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": 225321 }, { "id": "DO-2", "rank": 2, - "localized": [ - "Pérez" - ], - "romanized": [ - "Pérez" - ], + "localized": ["Pérez"], + "romanized": ["Pérez"], "count": 158059 }, { "id": "DO-3", "rank": 3, - "localized": [ - "Martinez" - ], - "romanized": [ - "Martinez" - ], + "localized": ["Martinez"], + "romanized": ["Martinez"], "count": 141259 }, { "id": "DO-4", "rank": 4, - "localized": [ - "García" - ], - "romanized": [ - "García" - ], + "localized": ["García"], + "romanized": ["García"], "count": 137124 }, { "id": "DO-5", "rank": 5, - "localized": [ - "Reyes" - ], - "romanized": [ - "Reyes" - ], + "localized": ["Reyes"], + "romanized": ["Reyes"], "count": 104892 }, { "id": "DO-6", "rank": 6, - "localized": [ - "Sánchez" - ], - "romanized": [ - "Sánchez" - ], + "localized": ["Sánchez"], + "romanized": ["Sánchez"], "count": 104392 }, { "id": "DO-7", "rank": 7, - "localized": [ - "Díaz" - ], - "romanized": [ - "Díaz" - ], + "localized": ["Díaz"], + "romanized": ["Díaz"], "count": 95106 }, { "id": "DO-8", "rank": 8, - "localized": [ - "Peña" - ], - "romanized": [ - "Peña" - ], + "localized": ["Peña"], + "romanized": ["Peña"], "count": 94396 }, { "id": "DO-9", "rank": 9, - "localized": [ - "Jiménez" - ], - "romanized": [ - "Jiménez" - ], + "localized": ["Jiménez"], + "romanized": ["Jiménez"], "count": 92978 }, { "id": "DO-10", "rank": 10, - "localized": [ - "Ramírez" - ], - "romanized": [ - "Ramírez" - ], + "localized": ["Ramírez"], + "romanized": ["Ramírez"], "count": 92863 }, { "id": "DO-11", "rank": 11, - "localized": [ - "Hernández" - ], - "romanized": [ - "Hernández" - ], + "localized": ["Hernández"], + "romanized": ["Hernández"], "count": 91080 }, { "id": "DO-12", "rank": 12, - "localized": [ - "Rosario" - ], - "romanized": [ - "Rosario" - ], + "localized": ["Rosario"], + "romanized": ["Rosario"], "count": 89630 }, { "id": "DO-13", "rank": 13, - "localized": [ - "González" - ], - "romanized": [ - "González" - ], + "localized": ["González"], + "romanized": ["González"], "count": 85757 }, { "id": "DO-14", "rank": 14, - "localized": [ - "Santana" - ], - "romanized": [ - "Santana" - ], + "localized": ["Santana"], + "romanized": ["Santana"], "count": 81973 }, { "id": "DO-15", "rank": 15, - "localized": [ - "Núñez" - ], - "romanized": [ - "Núñez" - ], + "localized": ["Núñez"], + "romanized": ["Núñez"], "count": 79374 }, { "id": "DO-16", "rank": 16, - "localized": [ - "Castillo" - ], - "romanized": [ - "Castillo" - ], + "localized": ["Castillo"], + "romanized": ["Castillo"], "count": 78338 }, { "id": "DO-17", "rank": 17, - "localized": [ - "de la Cruz" - ], - "romanized": [ - "de la Cruz" - ], + "localized": ["de la Cruz"], + "romanized": ["de la Cruz"], "count": 76977 }, { "id": "DO-18", "rank": 18, - "localized": [ - "Cruz" - ], - "romanized": [ - "Cruz" - ], + "localized": ["Cruz"], + "romanized": ["Cruz"], "count": 64613 }, { "id": "DO-19", "rank": 19, - "localized": [ - "Guzmán" - ], - "romanized": [ - "Guzmán" - ], + "localized": ["Guzmán"], + "romanized": ["Guzmán"], "count": 63073 }, { "id": "DO-20", "rank": 20, - "localized": [ - "Gómez" - ], - "romanized": [ - "Gómez" - ], + "localized": ["Gómez"], + "romanized": ["Gómez"], "count": 62310 }, { "id": "DO-21", "rank": 21, - "localized": [ - "Santos" - ], - "romanized": [ - "Santos" - ], + "localized": ["Santos"], + "romanized": ["Santos"], "count": 60613 }, { "id": "DO-22", "rank": 22, - "localized": [ - "López" - ], - "romanized": [ - "López" - ], + "localized": ["López"], + "romanized": ["López"], "count": 59566 }, { "id": "DO-23", "rank": 23, - "localized": [ - "Fuentes" - ], - "romanized": [ - "Fuentes" - ], + "localized": ["Fuentes"], + "romanized": ["Fuentes"], "count": 58518 }, { "id": "DO-24", "rank": 24, - "localized": [ - "Vásquez" - ], - "romanized": [ - "Vásquez" - ], + "localized": ["Vásquez"], + "romanized": ["Vásquez"], "count": 56149 }, { "id": "DO-25", "rank": 25, - "localized": [ - "De Los Santos" - ], - "romanized": [ - "De Los Santos" - ], + "localized": ["De Los Santos"], + "romanized": ["De Los Santos"], "count": 54634 }, { "id": "DO-26", "rank": 26, - "localized": [ - "Mejía" - ], - "romanized": [ - "Mejía" - ], + "localized": ["Mejía"], + "romanized": ["Mejía"], "count": 51605 }, { "id": "DO-27", "rank": 27, - "localized": [ - "Ponce" - ], - "romanized": [ - "Ponce" - ], + "localized": ["Ponce"], + "romanized": ["Ponce"], "count": 49952 }, { "id": "DO-28", "rank": 28, - "localized": [ - "Fernández" - ], - "romanized": [ - "Fernández" - ], + "localized": ["Fernández"], + "romanized": ["Fernández"], "count": 49712 }, { "id": "DO-29", "rank": 29, - "localized": [ - "Vargas" - ], - "romanized": [ - "Vargas" - ], + "localized": ["Vargas"], + "romanized": ["Vargas"], "count": 49353 }, { "id": "DO-30", "rank": 30, - "localized": [ - "Montes" - ], - "romanized": [ - "Montes" - ], + "localized": ["Montes"], + "romanized": ["Montes"], "count": 48574 } ], @@ -18972,221 +12021,141 @@ { "id": "GT-1", "rank": 1, - "localized": [ - "López" - ], - "romanized": [ - "López" - ], + "localized": ["López"], + "romanized": ["López"], "count": 371525 }, { "id": "GT-2", "rank": 2, - "localized": [ - "García" - ], - "romanized": [ - "García" - ], + "localized": ["García"], + "romanized": ["García"], "count": 285670 }, { "id": "GT-3", "rank": 3, - "localized": [ - "Morales" - ], - "romanized": [ - "Morales" - ], + "localized": ["Morales"], + "romanized": ["Morales"], "count": 228167 }, { "id": "GT-4", "rank": 4, - "localized": [ - "Hernández" - ], - "romanized": [ - "Hernández" - ], + "localized": ["Hernández"], + "romanized": ["Hernández"], "count": 222755 }, { "id": "GT-5", "rank": 5, - "localized": [ - "Pérez" - ], - "romanized": [ - "Pérez" - ], + "localized": ["Pérez"], + "romanized": ["Pérez"], "count": 209963 }, { "id": "GT-6", "rank": 6, - "localized": [ - "González" - ], - "romanized": [ - "González" - ], + "localized": ["González"], + "romanized": ["González"], "count": 208795 }, { "id": "GT-7", "rank": 7, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": 135978 }, { "id": "GT-8", "rank": 8, - "localized": [ - "De León" - ], - "romanized": [ - "De León" - ], + "localized": ["De León"], + "romanized": ["De León"], "count": 134010 }, { "id": "GT-9", "rank": 9, - "localized": [ - "Ramírez" - ], - "romanized": [ - "Ramírez" - ], + "localized": ["Ramírez"], + "romanized": ["Ramírez"], "count": 131796 }, { "id": "GT-10", "rank": 10, - "localized": [ - "Martínez" - ], - "romanized": [ - "Martínez" - ], + "localized": ["Martínez"], + "romanized": ["Martínez"], "count": 123186 }, { "id": "GT-11", "rank": 11, - "localized": [ - "Castillo" - ], - "romanized": [ - "Castillo" - ], + "localized": ["Castillo"], + "romanized": ["Castillo"], "count": 116298 }, { "id": "GT-12", "rank": 12, - "localized": [ - "Estrada" - ], - "romanized": [ - "Estrada" - ], + "localized": ["Estrada"], + "romanized": ["Estrada"], "count": 115252 }, { "id": "GT-13", "rank": 13, - "localized": [ - "Marroquín" - ], - "romanized": [ - "Marroquín" - ], + "localized": ["Marroquín"], + "romanized": ["Marroquín"], "count": 113961 }, { "id": "GT-14", "rank": 14, - "localized": [ - "Gómez" - ], - "romanized": [ - "Gómez" - ], + "localized": ["Gómez"], + "romanized": ["Gómez"], "count": 110824 }, { "id": "GT-15", "rank": 15, - "localized": [ - "Vásquez" - ], - "romanized": [ - "Vásquez" - ], + "localized": ["Vásquez"], + "romanized": ["Vásquez"], "count": 102153 }, { "id": "GT-16", "rank": 16, - "localized": [ - "Méndez" - ], - "romanized": [ - "Méndez" - ], + "localized": ["Méndez"], + "romanized": ["Méndez"], "count": 98462 }, { "id": "GT-17", "rank": 17, - "localized": [ - "Reyes" - ], - "romanized": [ - "Reyes" - ], + "localized": ["Reyes"], + "romanized": ["Reyes"], "count": 95449 }, { "id": "GT-18", "rank": 18, - "localized": [ - "Díaz" - ], - "romanized": [ - "Díaz" - ], + "localized": ["Díaz"], + "romanized": ["Díaz"], "count": 94403 }, { "id": "GT-19", "rank": 19, - "localized": [ - "Aguilar" - ], - "romanized": [ - "Aguilar" - ], + "localized": ["Aguilar"], + "romanized": ["Aguilar"], "count": 94096 }, { "id": "GT-20", "rank": 20, - "localized": [ - "Velásquez" - ], - "romanized": [ - "Velásquez" - ], + "localized": ["Velásquez"], + "romanized": ["Velásquez"], "count": 89975 } ], @@ -19194,1101 +12163,701 @@ { "id": "MX-1", "rank": 1, - "localized": [ - "Hernández" - ], - "romanized": [ - "Hernández" - ], + "localized": ["Hernández"], + "romanized": ["Hernández"], "count": 5526929 }, { "id": "MX-2", "rank": 2, - "localized": [ - "García" - ], - "romanized": [ - "García" - ], + "localized": ["García"], + "romanized": ["García"], "count": 4129360 }, { "id": "MX-3", "rank": 3, - "localized": [ - "Martínez" - ], - "romanized": [ - "Martínez" - ], + "localized": ["Martínez"], + "romanized": ["Martínez"], "count": 3886887 }, { "id": "MX-4", "rank": 4, - "localized": [ - "González" - ], - "romanized": [ - "González" - ], + "localized": ["González"], + "romanized": ["González"], "count": 3188693 }, { "id": "MX-5", "rank": 5, - "localized": [ - "López" - ], - "romanized": [ - "López" - ], + "localized": ["López"], + "romanized": ["López"], "count": 3148024 }, { "id": "MX-6", "rank": 6, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": 2744179 }, { "id": "MX-7", "rank": 7, - "localized": [ - "Pérez" - ], - "romanized": [ - "Pérez" - ], + "localized": ["Pérez"], + "romanized": ["Pérez"], "count": 2746468 }, { "id": "MX-8", "rank": 8, - "localized": [ - "Sánchez" - ], - "romanized": [ - "Sánchez" - ], + "localized": ["Sánchez"], + "romanized": ["Sánchez"], "count": 2234625 }, { "id": "MX-9", "rank": 9, - "localized": [ - "Ramírez" - ], - "romanized": [ - "Ramírez" - ], + "localized": ["Ramírez"], + "romanized": ["Ramírez"], "count": 2070723 }, { "id": "MX-10", "rank": 10, - "localized": [ - "Flores" - ], - "romanized": [ - "Flores" - ], + "localized": ["Flores"], + "romanized": ["Flores"], "count": 1392707 }, { "id": "MX-11", "rank": 11, - "localized": [ - "Gómez" - ], - "romanized": [ - "Gómez" - ], + "localized": ["Gómez"], + "romanized": ["Gómez"], "count": 989295 }, { "id": "MX-12", "rank": 12, - "localized": [ - "Torres" - ], - "romanized": [ - "Torres" - ], + "localized": ["Torres"], + "romanized": ["Torres"], "count": 841966 }, { "id": "MX-13", "rank": 13, - "localized": [ - "Díaz" - ], - "romanized": [ - "Díaz" - ], + "localized": ["Díaz"], + "romanized": ["Díaz"], "count": 811553 }, { "id": "MX-14", "rank": 14, - "localized": [ - "Vásquez" - ], - "romanized": [ - "Vásquez" - ], + "localized": ["Vásquez"], + "romanized": ["Vásquez"], "count": 806894 }, { "id": "MX-15", "rank": 15, - "localized": [ - "Cruz" - ], - "romanized": [ - "Cruz" - ], + "localized": ["Cruz"], + "romanized": ["Cruz"], "count": 800874 }, { "id": "MX-16", "rank": 16, - "localized": [ - "Morales" - ], - "romanized": [ - "Morales" - ], + "localized": ["Morales"], + "romanized": ["Morales"], "count": 771796 }, { "id": "MX-17", "rank": 17, - "localized": [ - "Gutiérrez" - ], - "romanized": [ - "Gutiérrez" - ], + "localized": ["Gutiérrez"], + "romanized": ["Gutiérrez"], "count": 748789 }, { "id": "MX-18", "rank": 18, - "localized": [ - "Reyes" - ], - "romanized": [ - "Reyes" - ], + "localized": ["Reyes"], + "romanized": ["Reyes"], "count": 738320 }, { "id": "MX-19", "rank": 19, - "localized": [ - "Ruíz" - ], - "romanized": [ - "Ruíz" - ], + "localized": ["Ruíz"], + "romanized": ["Ruíz"], "count": 708718 }, { "id": "MX-20", "rank": 20, - "localized": [ - "Jiménez" - ], - "romanized": [ - "Jiménez" - ], + "localized": ["Jiménez"], + "romanized": ["Jiménez"], "count": 670453 }, { "id": "MX-21", "rank": 21, - "localized": [ - "Mendoza" - ], - "romanized": [ - "Mendoza" - ], + "localized": ["Mendoza"], + "romanized": ["Mendoza"], "count": 613683 }, { "id": "MX-22", "rank": 22, - "localized": [ - "Aguilar" - ], - "romanized": [ - "Aguilar" - ], + "localized": ["Aguilar"], + "romanized": ["Aguilar"], "count": 611904 }, { "id": "MX-23", "rank": 23, - "localized": [ - "Ortíz" - ], - "romanized": [ - "Ortíz" - ], + "localized": ["Ortíz"], + "romanized": ["Ortíz"], "count": 576989 }, { "id": "MX-24", "rank": 24, - "localized": [ - "Álvarez" - ], - "romanized": [ - "Álvarez" - ], + "localized": ["Álvarez"], + "romanized": ["Álvarez"], "count": 557332 }, { "id": "MX-25", "rank": 25, - "localized": [ - "Castillo" - ], - "romanized": [ - "Castillo" - ], + "localized": ["Castillo"], + "romanized": ["Castillo"], "count": 553799 }, { "id": "MX-26", "rank": 26, - "localized": [ - "Romero" - ], - "romanized": [ - "Romero" - ], + "localized": ["Romero"], + "romanized": ["Romero"], "count": 540922 }, { "id": "MX-27", "rank": 27, - "localized": [ - "Moreno" - ], - "romanized": [ - "Moreno" - ], + "localized": ["Moreno"], + "romanized": ["Moreno"], "count": 539927 }, { "id": "MX-28", "rank": 28, - "localized": [ - "Chávez" - ], - "romanized": [ - "Chávez" - ], + "localized": ["Chávez"], + "romanized": ["Chávez"], "count": 517392 }, { "id": "MX-29", "rank": 29, - "localized": [ - "Rivera" - ], - "romanized": [ - "Rivera" - ], + "localized": ["Rivera"], + "romanized": ["Rivera"], "count": 508022 }, { "id": "MX-30", "rank": 30, - "localized": [ - "Ramos" - ], - "romanized": [ - "Ramos" - ], + "localized": ["Ramos"], + "romanized": ["Ramos"], "count": 455728 }, { "id": "MX-31", "rank": 31, - "localized": [ - "Herrera" - ], - "romanized": [ - "Herrera" - ], + "localized": ["Herrera"], + "romanized": ["Herrera"], "count": 451226 }, { "id": "MX-32", "rank": 32, - "localized": [ - "Medina" - ], - "romanized": [ - "Medina" - ], + "localized": ["Medina"], + "romanized": ["Medina"], "count": 431518 }, { "id": "MX-33", "rank": 33, - "localized": [ - "Vargas" - ], - "romanized": [ - "Vargas" - ], + "localized": ["Vargas"], + "romanized": ["Vargas"], "count": 427854 }, { "id": "MX-34", "rank": 34, - "localized": [ - "Castro" - ], - "romanized": [ - "Castro" - ], + "localized": ["Castro"], + "romanized": ["Castro"], "count": 419216 }, { "id": "MX-35", "rank": 35, - "localized": [ - "Méndez" - ], - "romanized": [ - "Méndez" - ], + "localized": ["Méndez"], + "romanized": ["Méndez"], "count": 410239 }, { "id": "MX-36", "rank": 36, - "localized": [ - "Guzmán" - ], - "romanized": [ - "Guzmán" - ], + "localized": ["Guzmán"], + "romanized": ["Guzmán"], "count": 392284 }, { "id": "MX-37", "rank": 37, - "localized": [ - "Fernández" - ], - "romanized": [ - "Fernández" - ], + "localized": ["Fernández"], + "romanized": ["Fernández"], "count": 385741 }, { "id": "MX-38", "rank": 38, - "localized": [ - "Juárez" - ], - "romanized": [ - "Juárez" - ], + "localized": ["Juárez"], + "romanized": ["Juárez"], "count": 384929 }, { "id": "MX-39", "rank": 39, - "localized": [ - "Muñoz" - ], - "romanized": [ - "Muñoz" - ], + "localized": ["Muñoz"], + "romanized": ["Muñoz"], "count": 376633 }, { "id": "MX-40", "rank": 40, - "localized": [ - "Ortega" - ], - "romanized": [ - "Ortega" - ], + "localized": ["Ortega"], + "romanized": ["Ortega"], "count": 372471 }, { "id": "MX-41", "rank": 41, - "localized": [ - "Salazar" - ], - "romanized": [ - "Salazar" - ], + "localized": ["Salazar"], + "romanized": ["Salazar"], "count": 368231 }, { "id": "MX-42", "rank": 42, - "localized": [ - "Rojas" - ], - "romanized": [ - "Rojas" - ], + "localized": ["Rojas"], + "romanized": ["Rojas"], "count": 365457 }, { "id": "MX-43", "rank": 43, - "localized": [ - "Guerrero" - ], - "romanized": [ - "Guerrero" - ], + "localized": ["Guerrero"], + "romanized": ["Guerrero"], "count": 361557 }, { "id": "MX-44", "rank": 44, - "localized": [ - "Contreras" - ], - "romanized": [ - "Contreras" - ], + "localized": ["Contreras"], + "romanized": ["Contreras"], "count": 358521 }, { "id": "MX-45", "rank": 45, - "localized": [ - "Luna" - ], - "romanized": [ - "Luna" - ], + "localized": ["Luna"], + "romanized": ["Luna"], "count": 357578 }, { "id": "MX-46", "rank": 46, - "localized": [ - "Domínguez" - ], - "romanized": [ - "Domínguez" - ], + "localized": ["Domínguez"], + "romanized": ["Domínguez"], "count": 348182 }, { "id": "MX-47", "rank": 47, - "localized": [ - "Garza" - ], - "romanized": [ - "Garza" - ], + "localized": ["Garza"], + "romanized": ["Garza"], "count": 335829 }, { "id": "MX-48", "rank": 48, - "localized": [ - "Velásquez" - ], - "romanized": [ - "Velásquez" - ], + "localized": ["Velásquez"], + "romanized": ["Velásquez"], "count": 331510 }, { "id": "MX-49", "rank": 49, - "localized": [ - "Estrada" - ], - "romanized": [ - "Estrada" - ], + "localized": ["Estrada"], + "romanized": ["Estrada"], "count": 324103 }, { "id": "MX-50", "rank": 50, - "localized": [ - "Soto" - ], - "romanized": [ - "Soto" - ], + "localized": ["Soto"], + "romanized": ["Soto"], "count": 306227 }, { "id": "MX-51", "rank": 51, - "localized": [ - "Cortez" - ], - "romanized": [ - "Cortez" - ], + "localized": ["Cortez"], + "romanized": ["Cortez"], "count": 301954 }, { "id": "MX-52", "rank": 52, - "localized": [ - "Lara" - ], - "romanized": [ - "Lara" - ], + "localized": ["Lara"], + "romanized": ["Lara"], "count": 298034 }, { "id": "MX-53", "rank": 53, - "localized": [ - "Espinoza" - ], - "romanized": [ - "Espinoza" - ], + "localized": ["Espinoza"], + "romanized": ["Espinoza"], "count": 289842 }, { "id": "MX-54", "rank": 54, - "localized": [ - "Vega" - ], - "romanized": [ - "Vega" - ], + "localized": ["Vega"], + "romanized": ["Vega"], "count": 285864 }, { "id": "MX-55", "rank": 55, - "localized": [ - "Ávila" - ], - "romanized": [ - "Ávila" - ], + "localized": ["Ávila"], + "romanized": ["Ávila"], "count": 284530 }, { "id": "MX-56", "rank": 56, - "localized": [ - "Cervantes" - ], - "romanized": [ - "Cervantes" - ], + "localized": ["Cervantes"], + "romanized": ["Cervantes"], "count": 276101 }, { "id": "MX-57", "rank": 57, - "localized": [ - "Sandoval" - ], - "romanized": [ - "Sandoval" - ], + "localized": ["Sandoval"], + "romanized": ["Sandoval"], "count": 273091 }, { "id": "MX-58", "rank": 58, - "localized": [ - "Carrillo" - ], - "romanized": [ - "Carrillo" - ], + "localized": ["Carrillo"], + "romanized": ["Carrillo"], "count": 267333 }, { "id": "MX-59", "rank": 59, - "localized": [ - "Alvarado" - ], - "romanized": [ - "Alvarado" - ], + "localized": ["Alvarado"], + "romanized": ["Alvarado"], "count": 266993 }, { "id": "MX-60", "rank": 60, - "localized": [ - "Silva" - ], - "romanized": [ - "Silva" - ], + "localized": ["Silva"], + "romanized": ["Silva"], "count": 265553 }, { "id": "MX-61", "rank": 61, - "localized": [ - "León" - ], - "romanized": [ - "León" - ], + "localized": ["León"], + "romanized": ["León"], "count": 260246 }, { "id": "MX-62", "rank": 62, - "localized": [ - "Ríos" - ], - "romanized": [ - "Ríos" - ], + "localized": ["Ríos"], + "romanized": ["Ríos"], "count": 260141 }, { "id": "MX-63", "rank": 63, - "localized": [ - "Navarro" - ], - "romanized": [ - "Navarro" - ], + "localized": ["Navarro"], + "romanized": ["Navarro"], "count": 258408 }, { "id": "MX-64", "rank": 64, - "localized": [ - "Delgado" - ], - "romanized": [ - "Delgado" - ], + "localized": ["Delgado"], + "romanized": ["Delgado"], "count": 254273 }, { "id": "MX-65", "rank": 65, - "localized": [ - "Márquez" - ], - "romanized": [ - "Márquez" - ], + "localized": ["Márquez"], + "romanized": ["Márquez"], "count": 248933 }, { "id": "MX-66", "rank": 66, - "localized": [ - "Campos" - ], - "romanized": [ - "Campos" - ], + "localized": ["Campos"], + "romanized": ["Campos"], "count": 246709 }, { "id": "MX-67", "rank": 67, - "localized": [ - "Ibarra" - ], - "romanized": [ - "Ibarra" - ], + "localized": ["Ibarra"], + "romanized": ["Ibarra"], "count": 241343 }, { "id": "MX-68", "rank": 68, - "localized": [ - "Solís" - ], - "romanized": [ - "Solís" - ], + "localized": ["Solís"], + "romanized": ["Solís"], "count": 240008 }, { "id": "MX-69", "rank": 69, - "localized": [ - "Rosas" - ], - "romanized": [ - "Rosas" - ], + "localized": ["Rosas"], + "romanized": ["Rosas"], "count": 237339 }, { "id": "MX-70", "rank": 70, - "localized": [ - "Miranda" - ], - "romanized": [ - "Miranda" - ], + "localized": ["Miranda"], + "romanized": ["Miranda"], "count": 233910 }, { "id": "MX-71", "rank": 71, - "localized": [ - "Camacho" - ], - "romanized": [ - "Camacho" - ], + "localized": ["Camacho"], + "romanized": ["Camacho"], "count": 233858 }, { "id": "MX-72", "rank": 72, - "localized": [ - "Valdez" - ], - "romanized": [ - "Valdez" - ], + "localized": ["Valdez"], + "romanized": ["Valdez"], "count": 232680 }, { "id": "MX-73", "rank": 73, - "localized": [ - "Cárdenas" - ], - "romanized": [ - "Cárdenas" - ], + "localized": ["Cárdenas"], + "romanized": ["Cárdenas"], "count": 230848 }, { "id": "MX-74", "rank": 74, - "localized": [ - "Orozco" - ], - "romanized": [ - "Orozco" - ], + "localized": ["Orozco"], + "romanized": ["Orozco"], "count": 228963 }, { "id": "MX-75", "rank": 75, - "localized": [ - "Aguirre" - ], - "romanized": [ - "Aguirre" - ], + "localized": ["Aguirre"], + "romanized": ["Aguirre"], "count": 228754 }, { "id": "MX-76", "rank": 76, - "localized": [ - "Mejía" - ], - "romanized": [ - "Mejía" - ], + "localized": ["Mejía"], + "romanized": ["Mejía"], "count": 227392 }, { "id": "MX-77", "rank": 77, - "localized": [ - "Acosta" - ], - "romanized": [ - "Acosta" - ], + "localized": ["Acosta"], + "romanized": ["Acosta"], "count": 224385 }, { "id": "MX-78", "rank": 78, - "localized": [ - "Padilla" - ], - "romanized": [ - "Padilla" - ], + "localized": ["Padilla"], + "romanized": ["Padilla"], "count": 223205 }, { "id": "MX-79", "rank": 79, - "localized": [ - "Robles" - ], - "romanized": [ - "Robles" - ], + "localized": ["Robles"], + "romanized": ["Robles"], "count": 222472 }, { "id": "MX-80", "rank": 80, - "localized": [ - "Núñez" - ], - "romanized": [ - "Núñez" - ], + "localized": ["Núñez"], + "romanized": ["Núñez"], "count": 222153 }, { "id": "MX-81", "rank": 81, - "localized": [ - "Peña" - ], - "romanized": [ - "Peña" - ], + "localized": ["Peña"], + "romanized": ["Peña"], "count": 220868 }, { "id": "MX-82", "rank": 82, - "localized": [ - "Cabrera" - ], - "romanized": [ - "Cabrera" - ], + "localized": ["Cabrera"], + "romanized": ["Cabrera"], "count": 220647 }, { "id": "MX-83", "rank": 83, - "localized": [ - "Rosales" - ], - "romanized": [ - "Rosales" - ], + "localized": ["Rosales"], + "romanized": ["Rosales"], "count": 218935 }, { "id": "MX-84", "rank": 84, - "localized": [ - "Molina" - ], - "romanized": [ - "Molina" - ], + "localized": ["Molina"], + "romanized": ["Molina"], "count": 217049 }, { "id": "MX-85", "rank": 85, - "localized": [ - "Pacheco" - ], - "romanized": [ - "Pacheco" - ], + "localized": ["Pacheco"], + "romanized": ["Pacheco"], "count": 212981 }, { "id": "MX-86", "rank": 86, - "localized": [ - "Castañeda" - ], - "romanized": [ - "Castañeda" - ], + "localized": ["Castañeda"], + "romanized": ["Castañeda"], "count": 212078 }, { "id": "MX-87", "rank": 87, - "localized": [ - "Fuentes" - ], - "romanized": [ - "Fuentes" - ], + "localized": ["Fuentes"], + "romanized": ["Fuentes"], "count": 210342 }, { "id": "MX-88", "rank": 88, - "localized": [ - "Valenzuela" - ], - "romanized": [ - "Valenzuela" - ], + "localized": ["Valenzuela"], + "romanized": ["Valenzuela"], "count": 210221 }, { "id": "MX-89", "rank": 89, - "localized": [ - "Rangel" - ], - "romanized": [ - "Rangel" - ], + "localized": ["Rangel"], + "romanized": ["Rangel"], "count": 209232 }, { "id": "MX-90", "rank": 90, - "localized": [ - "Ayala" - ], - "romanized": [ - "Ayala" - ], + "localized": ["Ayala"], + "romanized": ["Ayala"], "count": 208964 }, { "id": "MX-91", "rank": 91, - "localized": [ - "Meza" - ], - "romanized": [ - "Meza" - ], + "localized": ["Meza"], + "romanized": ["Meza"], "count": 207662 }, { "id": "MX-92", "rank": 92, - "localized": [ - "Nava" - ], - "romanized": [ - "Nava" - ], + "localized": ["Nava"], + "romanized": ["Nava"], "count": 203308 }, { "id": "MX-93", "rank": 93, - "localized": [ - "Valencia" - ], - "romanized": [ - "Valencia" - ], + "localized": ["Valencia"], + "romanized": ["Valencia"], "count": 198634 }, { "id": "MX-94", "rank": 94, - "localized": [ - "Maldonado" - ], - "romanized": [ - "Maldonado" - ], + "localized": ["Maldonado"], + "romanized": ["Maldonado"], "count": 195043 }, { "id": "MX-95", "rank": 95, - "localized": [ - "Ochoa" - ], - "romanized": [ - "Ochoa" - ], + "localized": ["Ochoa"], + "romanized": ["Ochoa"], "count": 192341 }, { "id": "MX-96", "rank": 96, - "localized": [ - "Serrano" - ], - "romanized": [ - "Serrano" - ], + "localized": ["Serrano"], + "romanized": ["Serrano"], "count": 185071 }, { "id": "MX-97", "rank": 97, - "localized": [ - "Tapia" - ], - "romanized": [ - "Tapia" - ], + "localized": ["Tapia"], + "romanized": ["Tapia"], "count": 183351 }, { "id": "MX-98", "rank": 98, - "localized": [ - "Salinas" - ], - "romanized": [ - "Salinas" - ], + "localized": ["Salinas"], + "romanized": ["Salinas"], "count": 183098 }, { "id": "MX-99", "rank": 99, - "localized": [ - "Suárez" - ], - "romanized": [ - "Suárez" - ], + "localized": ["Suárez"], + "romanized": ["Suárez"], "count": 182020 }, { "id": "MX-100", "rank": 100, - "localized": [ - "Zamora" - ], - "romanized": [ - "Zamora" - ], + "localized": ["Zamora"], + "romanized": ["Zamora"], "count": 181835 } ], @@ -20296,1101 +12865,701 @@ { "id": "US-1", "rank": 1, - "localized": [ - "Smith" - ], - "romanized": [ - "Smith" - ], + "localized": ["Smith"], + "romanized": ["Smith"], "count": 2376207 }, { "id": "US-2", "rank": 2, - "localized": [ - "Johnson" - ], - "romanized": [ - "Johnson" - ], + "localized": ["Johnson"], + "romanized": ["Johnson"], "count": 1857160 }, { "id": "US-3", "rank": 3, - "localized": [ - "Williams" - ], - "romanized": [ - "Williams" - ], + "localized": ["Williams"], + "romanized": ["Williams"], "count": 1534042 }, { "id": "US-4", "rank": 4, - "localized": [ - "Brown" - ], - "romanized": [ - "Brown" - ], + "localized": ["Brown"], + "romanized": ["Brown"], "count": 1380145 }, { "id": "US-5", "rank": 5, - "localized": [ - "Jones" - ], - "romanized": [ - "Jones" - ], + "localized": ["Jones"], + "romanized": ["Jones"], "count": 1362755 }, { "id": "US-6", "rank": 6, - "localized": [ - "Miller" - ], - "romanized": [ - "Miller" - ], + "localized": ["Miller"], + "romanized": ["Miller"], "count": 1127803 }, { "id": "US-7", "rank": 7, - "localized": [ - "Davis" - ], - "romanized": [ - "Davis" - ], + "localized": ["Davis"], + "romanized": ["Davis"], "count": 1072335 }, { "id": "US-8", "rank": 8, - "localized": [ - "Garcia" - ], - "romanized": [ - "Garcia" - ], + "localized": ["Garcia"], + "romanized": ["Garcia"], "count": 858289 }, { "id": "US-9", "rank": 9, - "localized": [ - "Rodriguez" - ], - "romanized": [ - "Rodriguez" - ], + "localized": ["Rodriguez"], + "romanized": ["Rodriguez"], "count": 804240 }, { "id": "US-10", "rank": 10, - "localized": [ - "Wilson" - ], - "romanized": [ - "Wilson" - ], + "localized": ["Wilson"], + "romanized": ["Wilson"], "count": 783051 }, { "id": "US-11", "rank": 11, - "localized": [ - "Martinez" - ], - "romanized": [ - "Martinez" - ], + "localized": ["Martinez"], + "romanized": ["Martinez"], "count": 775072 }, { "id": "US-12", "rank": 12, - "localized": [ - "Anderson" - ], - "romanized": [ - "Anderson" - ], + "localized": ["Anderson"], + "romanized": ["Anderson"], "count": 762394 }, { "id": "US-13", "rank": 13, - "localized": [ - "Taylor" - ], - "romanized": [ - "Taylor" - ], + "localized": ["Taylor"], + "romanized": ["Taylor"], "count": 720370 }, { "id": "US-14", "rank": 14, - "localized": [ - "Thomas" - ], - "romanized": [ - "Thomas" - ], + "localized": ["Thomas"], + "romanized": ["Thomas"], "count": 710696 }, { "id": "US-15", "rank": 15, - "localized": [ - "Hernandez" - ], - "romanized": [ - "Hernandez" - ], + "localized": ["Hernandez"], + "romanized": ["Hernandez"], "count": 706372 }, { "id": "US-16", "rank": 16, - "localized": [ - "Moore" - ], - "romanized": [ - "Moore" - ], + "localized": ["Moore"], + "romanized": ["Moore"], "count": 698671 }, { "id": "US-17", "rank": 17, - "localized": [ - "Martin" - ], - "romanized": [ - "Martin" - ], + "localized": ["Martin"], + "romanized": ["Martin"], "count": 672711 }, { "id": "US-18", "rank": 18, - "localized": [ - "Jackson" - ], - "romanized": [ - "Jackson" - ], + "localized": ["Jackson"], + "romanized": ["Jackson"], "count": 666125 }, { "id": "US-19", "rank": 19, - "localized": [ - "Thompson" - ], - "romanized": [ - "Thompson" - ], + "localized": ["Thompson"], + "romanized": ["Thompson"], "count": 644368 }, { "id": "US-20", "rank": 20, - "localized": [ - "White" - ], - "romanized": [ - "White" - ], + "localized": ["White"], + "romanized": ["White"], "count": 639515 }, { "id": "US-21", "rank": 21, - "localized": [ - "Lopez" - ], - "romanized": [ - "Lopez" - ], + "localized": ["Lopez"], + "romanized": ["Lopez"], "count": 621536 }, { "id": "US-22", "rank": 22, - "localized": [ - "Lee" - ], - "romanized": [ - "Lee" - ], + "localized": ["Lee"], + "romanized": ["Lee"], "count": 605860 }, { "id": "US-23", "rank": 23, - "localized": [ - "Gonzalez" - ], - "romanized": [ - "Gonzalez" - ], + "localized": ["Gonzalez"], + "romanized": ["Gonzalez"], "count": 597718 }, { "id": "US-24", "rank": 24, - "localized": [ - "Harris" - ], - "romanized": [ - "Harris" - ], + "localized": ["Harris"], + "romanized": ["Harris"], "count": 593542 }, { "id": "US-25", "rank": 25, - "localized": [ - "Clark" - ], - "romanized": [ - "Clark" - ], + "localized": ["Clark"], + "romanized": ["Clark"], "count": 548369 }, { "id": "US-26", "rank": 26, - "localized": [ - "Lewis" - ], - "romanized": [ - "Lewis" - ], + "localized": ["Lewis"], + "romanized": ["Lewis"], "count": 509930 }, { "id": "US-27", "rank": 27, - "localized": [ - "Robinson" - ], - "romanized": [ - "Robinson" - ], + "localized": ["Robinson"], + "romanized": ["Robinson"], "count": 503028 }, { "id": "US-28", "rank": 28, - "localized": [ - "Walker" - ], - "romanized": [ - "Walker" - ], + "localized": ["Walker"], + "romanized": ["Walker"], "count": 501307 }, { "id": "US-29", "rank": 29, - "localized": [ - "Perez" - ], - "romanized": [ - "Perez" - ], + "localized": ["Perez"], + "romanized": ["Perez"], "count": 488521 }, { "id": "US-30", "rank": 30, - "localized": [ - "Hall" - ], - "romanized": [ - "Hall" - ], + "localized": ["Hall"], + "romanized": ["Hall"], "count": 473568 }, { "id": "US-31", "rank": 31, - "localized": [ - "Young" - ], - "romanized": [ - "Young" - ], + "localized": ["Young"], + "romanized": ["Young"], "count": 465948 }, { "id": "US-32", "rank": 32, - "localized": [ - "Allen" - ], - "romanized": [ - "Allen" - ], + "localized": ["Allen"], + "romanized": ["Allen"], "count": 463368 }, { "id": "US-33", "rank": 33, - "localized": [ - "Sanchez" - ], - "romanized": [ - "Sanchez" - ], + "localized": ["Sanchez"], + "romanized": ["Sanchez"], "count": 441242 }, { "id": "US-34", "rank": 34, - "localized": [ - "Wright" - ], - "romanized": [ - "Wright" - ], + "localized": ["Wright"], + "romanized": ["Wright"], "count": 440367 }, { "id": "US-35", "rank": 35, - "localized": [ - "King" - ], - "romanized": [ - "King" - ], + "localized": ["King"], + "romanized": ["King"], "count": 438986 }, { "id": "US-36", "rank": 36, - "localized": [ - "Scott" - ], - "romanized": [ - "Scott" - ], + "localized": ["Scott"], + "romanized": ["Scott"], "count": 420091 }, { "id": "US-37", "rank": 37, - "localized": [ - "Green" - ], - "romanized": [ - "Green" - ], + "localized": ["Green"], + "romanized": ["Green"], "count": 413477 }, { "id": "US-38", "rank": 38, - "localized": [ - "Baker" - ], - "romanized": [ - "Baker" - ], + "localized": ["Baker"], + "romanized": ["Baker"], "count": 413351 }, { "id": "US-39", "rank": 39, - "localized": [ - "Adams" - ], - "romanized": [ - "Adams" - ], + "localized": ["Adams"], + "romanized": ["Adams"], "count": 413086 }, { "id": "US-40", "rank": 40, - "localized": [ - "Nelson" - ], - "romanized": [ - "Nelson" - ], + "localized": ["Nelson"], + "romanized": ["Nelson"], "count": 412236 }, { "id": "US-41", "rank": 41, - "localized": [ - "Hill" - ], - "romanized": [ - "Hill" - ], + "localized": ["Hill"], + "romanized": ["Hill"], "count": 411770 }, { "id": "US-42", "rank": 42, - "localized": [ - "Ramirez" - ], - "romanized": [ - "Ramirez" - ], + "localized": ["Ramirez"], + "romanized": ["Ramirez"], "count": 388987 }, { "id": "US-43", "rank": 43, - "localized": [ - "Campbell" - ], - "romanized": [ - "Campbell" - ], + "localized": ["Campbell"], + "romanized": ["Campbell"], "count": 371953 }, { "id": "US-44", "rank": 44, - "localized": [ - "Mitchell" - ], - "romanized": [ - "Mitchell" - ], + "localized": ["Mitchell"], + "romanized": ["Mitchell"], "count": 367433 }, { "id": "US-45", "rank": 45, - "localized": [ - "Roberts" - ], - "romanized": [ - "Roberts" - ], + "localized": ["Roberts"], + "romanized": ["Roberts"], "count": 366215 }, { "id": "US-46", "rank": 46, - "localized": [ - "Carter" - ], - "romanized": [ - "Carter" - ], + "localized": ["Carter"], + "romanized": ["Carter"], "count": 362548 }, { "id": "US-47", "rank": 47, - "localized": [ - "Phillips" - ], - "romanized": [ - "Phillips" - ], + "localized": ["Phillips"], + "romanized": ["Phillips"], "count": 351848 }, { "id": "US-48", "rank": 48, - "localized": [ - "Evans" - ], - "romanized": [ - "Evans" - ], + "localized": ["Evans"], + "romanized": ["Evans"], "count": 342237 }, { "id": "US-49", "rank": 49, - "localized": [ - "Turner" - ], - "romanized": [ - "Turner" - ], + "localized": ["Turner"], + "romanized": ["Turner"], "count": 335663 }, { "id": "US-50", "rank": 50, - "localized": [ - "Torres" - ], - "romanized": [ - "Torres" - ], + "localized": ["Torres"], + "romanized": ["Torres"], "count": 325169 }, { "id": "US-51", "rank": 51, - "localized": [ - "Parker" - ], - "romanized": [ - "Parker" - ], + "localized": ["Parker"], + "romanized": ["Parker"], "count": 324246 }, { "id": "US-52", "rank": 52, - "localized": [ - "Collins" - ], - "romanized": [ - "Collins" - ], + "localized": ["Collins"], + "romanized": ["Collins"], "count": 317848 }, { "id": "US-53", "rank": 53, - "localized": [ - "Edwards" - ], - "romanized": [ - "Edwards" - ], + "localized": ["Edwards"], + "romanized": ["Edwards"], "count": 317070 }, { "id": "US-54", "rank": 54, - "localized": [ - "Stewart" - ], - "romanized": [ - "Stewart" - ], + "localized": ["Stewart"], + "romanized": ["Stewart"], "count": 312899 }, { "id": "US-55", "rank": 55, - "localized": [ - "Flores" - ], - "romanized": [ - "Flores" - ], + "localized": ["Flores"], + "romanized": ["Flores"], "count": 312615 }, { "id": "US-56", "rank": 56, - "localized": [ - "Morris" - ], - "romanized": [ - "Morris" - ], + "localized": ["Morris"], + "romanized": ["Morris"], "count": 311754 }, { "id": "US-57", "rank": 57, - "localized": [ - "Nguyen" - ], - "romanized": [ - "Nguyen" - ], + "localized": ["Nguyen"], + "romanized": ["Nguyen"], "count": 310125 }, { "id": "US-58", "rank": 58, - "localized": [ - "Murphy" - ], - "romanized": [ - "Murphy" - ], + "localized": ["Murphy"], + "romanized": ["Murphy"], "count": 300501 }, { "id": "US-59", "rank": 59, - "localized": [ - "Rivera" - ], - "romanized": [ - "Rivera" - ], + "localized": ["Rivera"], + "romanized": ["Rivera"], "count": 299463 }, { "id": "US-60", "rank": 60, - "localized": [ - "Cook" - ], - "romanized": [ - "Cook" - ], + "localized": ["Cook"], + "romanized": ["Cook"], "count": 294795 }, { "id": "US-61", "rank": 61, - "localized": [ - "Rogers" - ], - "romanized": [ - "Rogers" - ], + "localized": ["Rogers"], + "romanized": ["Rogers"], "count": 294403 }, { "id": "US-62", "rank": 62, - "localized": [ - "Morgan" - ], - "romanized": [ - "Morgan" - ], + "localized": ["Morgan"], + "romanized": ["Morgan"], "count": 276400 }, { "id": "US-63", "rank": 63, - "localized": [ - "Peterson" - ], - "romanized": [ - "Peterson" - ], + "localized": ["Peterson"], + "romanized": ["Peterson"], "count": 275041 }, { "id": "US-64", "rank": 64, - "localized": [ - "Cooper" - ], - "romanized": [ - "Cooper" - ], + "localized": ["Cooper"], + "romanized": ["Cooper"], "count": 270097 }, { "id": "US-65", "rank": 65, - "localized": [ - "Reed" - ], - "romanized": [ - "Reed" - ], + "localized": ["Reed"], + "romanized": ["Reed"], "count": 267443 }, { "id": "US-66", "rank": 66, - "localized": [ - "Bailey" - ], - "romanized": [ - "Bailey" - ], + "localized": ["Bailey"], + "romanized": ["Bailey"], "count": 265916 }, { "id": "US-67", "rank": 67, - "localized": [ - "Bell" - ], - "romanized": [ - "Bell" - ], + "localized": ["Bell"], + "romanized": ["Bell"], "count": 264752 }, { "id": "US-68", "rank": 68, - "localized": [ - "Gomez" - ], - "romanized": [ - "Gomez" - ], + "localized": ["Gomez"], + "romanized": ["Gomez"], "count": 263590 }, { "id": "US-69", "rank": 69, - "localized": [ - "Kelly" - ], - "romanized": [ - "Kelly" - ], + "localized": ["Kelly"], + "romanized": ["Kelly"], "count": 260385 }, { "id": "US-70", "rank": 70, - "localized": [ - "Howard" - ], - "romanized": [ - "Howard" - ], + "localized": ["Howard"], + "romanized": ["Howard"], "count": 254779 }, { "id": "US-71", "rank": 71, - "localized": [ - "Ward" - ], - "romanized": [ - "Ward" - ], + "localized": ["Ward"], + "romanized": ["Ward"], "count": 254121 }, { "id": "US-72", "rank": 72, - "localized": [ - "Cox" - ], - "romanized": [ - "Cox" - ], + "localized": ["Cox"], + "romanized": ["Cox"], "count": 253771 }, { "id": "US-73", "rank": 73, - "localized": [ - "Diaz" - ], - "romanized": [ - "Diaz" - ], + "localized": ["Diaz"], + "romanized": ["Diaz"], "count": 251772 }, { "id": "US-74", "rank": 74, - "localized": [ - "Richardson" - ], - "romanized": [ - "Richardson" - ], + "localized": ["Richardson"], + "romanized": ["Richardson"], "count": 249533 }, { "id": "US-75", "rank": 75, - "localized": [ - "Wood" - ], - "romanized": [ - "Wood" - ], + "localized": ["Wood"], + "romanized": ["Wood"], "count": 247299 }, { "id": "US-76", "rank": 76, - "localized": [ - "Watson" - ], - "romanized": [ - "Watson" - ], + "localized": ["Watson"], + "romanized": ["Watson"], "count": 242432 }, { "id": "US-77", "rank": 77, - "localized": [ - "Brooks" - ], - "romanized": [ - "Brooks" - ], + "localized": ["Brooks"], + "romanized": ["Brooks"], "count": 240751 }, { "id": "US-78", "rank": 78, - "localized": [ - "Bennett" - ], - "romanized": [ - "Bennett" - ], + "localized": ["Bennett"], + "romanized": ["Bennett"], "count": 239055 }, { "id": "US-79", "rank": 79, - "localized": [ - "Gray" - ], - "romanized": [ - "Gray" - ], + "localized": ["Gray"], + "romanized": ["Gray"], "count": 236713 }, { "id": "US-80", "rank": 80, - "localized": [ - "James" - ], - "romanized": [ - "James" - ], + "localized": ["James"], + "romanized": ["James"], "count": 233224 }, { "id": "US-81", "rank": 81, - "localized": [ - "Reyes" - ], - "romanized": [ - "Reyes" - ], + "localized": ["Reyes"], + "romanized": ["Reyes"], "count": 232511 }, { "id": "US-82", "rank": 82, - "localized": [ - "Cruz" - ], - "romanized": [ - "Cruz" - ], + "localized": ["Cruz"], + "romanized": ["Cruz"], "count": 231065 }, { "id": "US-83", "rank": 83, - "localized": [ - "Hughes" - ], - "romanized": [ - "Hughes" - ], + "localized": ["Hughes"], + "romanized": ["Hughes"], "count": 229390 }, { "id": "US-84", "rank": 84, - "localized": [ - "Price" - ], - "romanized": [ - "Price" - ], + "localized": ["Price"], + "romanized": ["Price"], "count": 228756 }, { "id": "US-85", "rank": 85, - "localized": [ - "Myers" - ], - "romanized": [ - "Myers" - ], + "localized": ["Myers"], + "romanized": ["Myers"], "count": 224824 }, { "id": "US-86", "rank": 86, - "localized": [ - "Long" - ], - "romanized": [ - "Long" - ], + "localized": ["Long"], + "romanized": ["Long"], "count": 223494 }, { "id": "US-87", "rank": 87, - "localized": [ - "Foster" - ], - "romanized": [ - "Foster" - ], + "localized": ["Foster"], + "romanized": ["Foster"], "count": 221040 }, { "id": "US-88", "rank": 88, - "localized": [ - "Sanders" - ], - "romanized": [ - "Sanders" - ], + "localized": ["Sanders"], + "romanized": ["Sanders"], "count": 220902 }, { "id": "US-89", "rank": 89, - "localized": [ - "Ross" - ], - "romanized": [ - "Ross" - ], + "localized": ["Ross"], + "romanized": ["Ross"], "count": 219961 }, { "id": "US-90", "rank": 90, - "localized": [ - "Morales" - ], - "romanized": [ - "Morales" - ], + "localized": ["Morales"], + "romanized": ["Morales"], "count": 217642 }, { "id": "US-91", "rank": 91, - "localized": [ - "Powell" - ], - "romanized": [ - "Powell" - ], + "localized": ["Powell"], + "romanized": ["Powell"], "count": 216553 }, { "id": "US-92", "rank": 92, - "localized": [ - "Sullivan" - ], - "romanized": [ - "Sullivan" - ], + "localized": ["Sullivan"], + "romanized": ["Sullivan"], "count": 215640 }, { "id": "US-93", "rank": 93, - "localized": [ - "Russell" - ], - "romanized": [ - "Russell" - ], + "localized": ["Russell"], + "romanized": ["Russell"], "count": 215432 }, { "id": "US-94", "rank": 94, - "localized": [ - "Ortiz" - ], - "romanized": [ - "Ortiz" - ], + "localized": ["Ortiz"], + "romanized": ["Ortiz"], "count": 214683 }, { "id": "US-95", "rank": 95, - "localized": [ - "Jenkins" - ], - "romanized": [ - "Jenkins" - ], + "localized": ["Jenkins"], + "romanized": ["Jenkins"], "count": 213737 }, { "id": "US-96", "rank": 96, - "localized": [ - "Gutierrez" - ], - "romanized": [ - "Gutierrez" - ], + "localized": ["Gutierrez"], + "romanized": ["Gutierrez"], "count": 212905 }, { "id": "US-97", "rank": 97, - "localized": [ - "Perry" - ], - "romanized": [ - "Perry" - ], + "localized": ["Perry"], + "romanized": ["Perry"], "count": 212644 }, { "id": "US-98", "rank": 98, - "localized": [ - "Butler" - ], - "romanized": [ - "Butler" - ], + "localized": ["Butler"], + "romanized": ["Butler"], "count": 210879 }, { "id": "US-99", "rank": 99, - "localized": [ - "Barnes" - ], - "romanized": [ - "Barnes" - ], + "localized": ["Barnes"], + "romanized": ["Barnes"], "count": 210426 }, { "id": "US-100", "rank": 100, - "localized": [ - "Fisher" - ], - "romanized": [ - "Fisher" - ], + "localized": ["Fisher"], + "romanized": ["Fisher"], "count": 210279 } ], @@ -21398,221 +13567,141 @@ { "id": "AU-1", "rank": 1, - "localized": [ - "Smith" - ], - "romanized": [ - "Smith" - ], + "localized": ["Smith"], + "romanized": ["Smith"], "count": 114997 }, { "id": "AU-2", "rank": 2, - "localized": [ - "Jones" - ], - "romanized": [ - "Jones" - ], + "localized": ["Jones"], + "romanized": ["Jones"], "count": 55679 }, { "id": "AU-3", "rank": 3, - "localized": [ - "Williams" - ], - "romanized": [ - "Williams" - ], + "localized": ["Williams"], + "romanized": ["Williams"], "count": 55555 }, { "id": "AU-4", "rank": 4, - "localized": [ - "Brown" - ], - "romanized": [ - "Brown" - ], + "localized": ["Brown"], + "romanized": ["Brown"], "count": 54896 }, { "id": "AU-5", "rank": 5, - "localized": [ - "Wilson" - ], - "romanized": [ - "Wilson" - ], + "localized": ["Wilson"], + "romanized": ["Wilson"], "count": 46961 }, { "id": "AU-6", "rank": 6, - "localized": [ - "Taylor" - ], - "romanized": [ - "Taylor" - ], + "localized": ["Taylor"], + "romanized": ["Taylor"], "count": 45328 }, { "id": "AU-7", "rank": 7, - "localized": [ - "Johnson" - ], - "romanized": [ - "Johnson" - ], + "localized": ["Johnson"], + "romanized": ["Johnson"], "count": 33435 }, { "id": "AU-8", "rank": 8, - "localized": [ - "White" - ], - "romanized": [ - "White" - ], + "localized": ["White"], + "romanized": ["White"], "count": 31099 }, { "id": "AU-9", "rank": 9, - "localized": [ - "Martin" - ], - "romanized": [ - "Martin" - ], + "localized": ["Martin"], + "romanized": ["Martin"], "count": 31058 }, { "id": "AU-10", "rank": 10, - "localized": [ - "Anderson" - ], - "romanized": [ - "Anderson" - ], + "localized": ["Anderson"], + "romanized": ["Anderson"], "count": 30910 }, { "id": "AU-11", "rank": 11, - "localized": [ - "Thompson" - ], - "romanized": [ - "Thompson" - ], + "localized": ["Thompson"], + "romanized": ["Thompson"], "count": 29931 }, { "id": "AU-12", "rank": 12, - "localized": [ - "Nguyen" - ], - "romanized": [ - "Nguyen" - ], + "localized": ["Nguyen"], + "romanized": ["Nguyen"], "count": 29798 }, { "id": "AU-13", "rank": 13, - "localized": [ - "Turner" - ], - "romanized": [ - "Turner" - ], + "localized": ["Turner"], + "romanized": ["Turner"], "count": 27276 }, { "id": "AU-14", "rank": 14, - "localized": [ - "Walker" - ], - "romanized": [ - "Walker" - ], + "localized": ["Walker"], + "romanized": ["Walker"], "count": 26688 }, { "id": "AU-15", "rank": 15, - "localized": [ - "Harris" - ], - "romanized": [ - "Harris" - ], + "localized": ["Harris"], + "romanized": ["Harris"], "count": 26025 }, { "id": "AU-16", "rank": 16, - "localized": [ - "Lee" - ], - "romanized": [ - "Lee" - ], + "localized": ["Lee"], + "romanized": ["Lee"], "count": 25612 }, { "id": "AU-17", "rank": 17, - "localized": [ - "Ryan" - ], - "romanized": [ - "Ryan" - ], + "localized": ["Ryan"], + "romanized": ["Ryan"], "count": 25526 }, { "id": "AU-18", "rank": 18, - "localized": [ - "Robinson" - ], - "romanized": [ - "Robinson" - ], + "localized": ["Robinson"], + "romanized": ["Robinson"], "count": 25168 }, { "id": "AU-19", "rank": 19, - "localized": [ - "Kelly" - ], - "romanized": [ - "Kelly" - ], + "localized": ["Kelly"], + "romanized": ["Kelly"], "count": 25014 }, { "id": "AU-20", "rank": 20, - "localized": [ - "Murphy" - ], - "romanized": [ - "Murphy" - ], + "localized": ["Murphy"], + "romanized": ["Murphy"], "count": 24993 } ], @@ -21620,243 +13709,155 @@ { "id": "FJ-1", "rank": 1, - "localized": [ - "Kumar" - ], - "romanized": [ - "Kumar" - ], + "localized": ["Kumar"], + "romanized": ["Kumar"], "count": null }, { "id": "FJ-2", "rank": 2, - "localized": [ - "Prasad" - ], - "romanized": [ - "Prasad" - ], + "localized": ["Prasad"], + "romanized": ["Prasad"], "count": null }, { "id": "FJ-3", "rank": 3, - "localized": [ - "Chand" - ], - "romanized": [ - "Chand" - ], + "localized": ["Chand"], + "romanized": ["Chand"], "count": null }, { "id": "FJ-4", "rank": 4, - "localized": [ - "Singh" - ], - "romanized": [ - "Singh" - ], + "localized": ["Singh"], + "romanized": ["Singh"], "count": null }, { "id": "FJ-5", "rank": 5, - "localized": [ - "Lal" - ], - "romanized": [ - "Lal" - ], + "localized": ["Lal"], + "romanized": ["Lal"], "count": null }, { "id": "FJ-6", "rank": 6, - "localized": [ - "Sharma" - ], - "romanized": [ - "Sharma" - ], + "localized": ["Sharma"], + "romanized": ["Sharma"], "count": null }, { "id": "FJ-7", "rank": 7, - "localized": [ - "Narayan" - ], - "romanized": [ - "Narayan" - ], + "localized": ["Narayan"], + "romanized": ["Narayan"], "count": null }, { "id": "FJ-8", "rank": 8, - "localized": [ - "Khan" - ], - "romanized": [ - "Khan" - ], + "localized": ["Khan"], + "romanized": ["Khan"], "count": null }, { "id": "FJ-9", "rank": 9, - "localized": [ - "Ali" - ], - "romanized": [ - "Ali" - ], + "localized": ["Ali"], + "romanized": ["Ali"], "count": null }, { "id": "FJ-10", "rank": 10, - "localized": [ - "Devi" - ], - "romanized": [ - "Devi" - ], + "localized": ["Devi"], + "romanized": ["Devi"], "count": null }, { "id": "FJ-11", "rank": 11, - "localized": [ - "Ram" - ], - "romanized": [ - "Ram" - ], + "localized": ["Ram"], + "romanized": ["Ram"], "count": null }, { "id": "FJ-12", "rank": 12, - "localized": [ - "Naidu" - ], - "romanized": [ - "Naidu" - ], + "localized": ["Naidu"], + "romanized": ["Naidu"], "count": null }, { "id": "FJ-13", "rank": 13, - "localized": [ - "Chandra" - ], - "romanized": [ - "Chandra" - ], + "localized": ["Chandra"], + "romanized": ["Chandra"], "count": null }, { "id": "FJ-14", "rank": 14, - "localized": [ - "Nand" - ], - "romanized": [ - "Nand" - ], + "localized": ["Nand"], + "romanized": ["Nand"], "count": null }, { "id": "FJ-15", "rank": 15, - "localized": [ - "Lata" - ], - "romanized": [ - "Lata" - ], + "localized": ["Lata"], + "romanized": ["Lata"], "count": null }, { "id": "FJ-16", "rank": 16, - "localized": [ - "Deo" - ], - "romanized": [ - "Deo" - ], + "localized": ["Deo"], + "romanized": ["Deo"], "count": null }, { "id": "FJ-17", "rank": 17, - "localized": [ - "Reddy" - ], - "romanized": [ - "Reddy" - ], + "localized": ["Reddy"], + "romanized": ["Reddy"], "count": null }, { "id": "FJ-18", "rank": 18, - "localized": [ - "Prakash" - ], - "romanized": [ - "Prakash" - ], + "localized": ["Prakash"], + "romanized": ["Prakash"], "count": null }, { "id": "FJ-19", "rank": 19, - "localized": [ - "Raj" - ], - "romanized": [ - "Raj" - ], + "localized": ["Raj"], + "romanized": ["Raj"], "count": null }, { "id": "FJ-20", "rank": 20, - "localized": [ - "Maharaj" - ], - "romanized": [ - "Maharaj" - ], + "localized": ["Maharaj"], + "romanized": ["Maharaj"], "count": null }, { "id": "FJ-21", "rank": 21, - "localized": [ - "Waqa" - ], - "romanized": [ - "Waqa" - ], + "localized": ["Waqa"], + "romanized": ["Waqa"], "count": null }, { "id": "FJ-22", "rank": 22, - "localized": [ - "Goundar" - ], - "romanized": [ - "Goundar" - ], + "localized": ["Goundar"], + "romanized": ["Goundar"], "count": null } ], @@ -21864,111 +13865,71 @@ { "id": "NZ-1", "rank": 1, - "localized": [ - "Singh" - ], - "romanized": [ - "Singh" - ], + "localized": ["Singh"], + "romanized": ["Singh"], "count": null }, { "id": "NZ-2", "rank": 2, - "localized": [ - "Smith" - ], - "romanized": [ - "Smith" - ], + "localized": ["Smith"], + "romanized": ["Smith"], "count": null }, { "id": "NZ-3", "rank": 3, - "localized": [ - "Kaur" - ], - "romanized": [ - "Kaur" - ], + "localized": ["Kaur"], + "romanized": ["Kaur"], "count": null }, { "id": "NZ-4", "rank": 4, - "localized": [ - "Williams" - ], - "romanized": [ - "Williams" - ], + "localized": ["Williams"], + "romanized": ["Williams"], "count": null }, { "id": "NZ-5", "rank": 5, - "localized": [ - "Patel" - ], - "romanized": [ - "Patel" - ], + "localized": ["Patel"], + "romanized": ["Patel"], "count": null }, { "id": "NZ-6", "rank": 6, - "localized": [ - "Wilson" - ], - "romanized": [ - "Wilson" - ], + "localized": ["Wilson"], + "romanized": ["Wilson"], "count": null }, { "id": "NZ-7", "rank": 7, - "localized": [ - "Brown" - ], - "romanized": [ - "Brown" - ], + "localized": ["Brown"], + "romanized": ["Brown"], "count": null }, { "id": "NZ-8", "rank": 8, - "localized": [ - "Taylor" - ], - "romanized": [ - "Taylor" - ], + "localized": ["Taylor"], + "romanized": ["Taylor"], "count": null }, { "id": "NZ-9", "rank": 9, - "localized": [ - "Jones" - ], - "romanized": [ - "Jones" - ], + "localized": ["Jones"], + "romanized": ["Jones"], "count": null }, { "id": "NZ-10", "rank": 10, - "localized": [ - "Sharma" - ], - "romanized": [ - "Sharma" - ], + "localized": ["Sharma"], + "romanized": ["Sharma"], "count": null } ], @@ -21976,1101 +13937,701 @@ { "id": "AR-1", "rank": 1, - "localized": [ - "González" - ], - "romanized": [ - "González" - ], + "localized": ["González"], + "romanized": ["González"], "count": 568240 }, { "id": "AR-2", "rank": 2, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": 483212 }, { "id": "AR-3", "rank": 3, - "localized": [ - "Fernández" - ], - "romanized": [ - "Fernández" - ], + "localized": ["Fernández"], + "romanized": ["Fernández"], "count": 426253 }, { "id": "AR-4", "rank": 4, - "localized": [ - "García" - ], - "romanized": [ - "García" - ], + "localized": ["García"], + "romanized": ["García"], "count": 411462 }, { "id": "AR-5", "rank": 5, - "localized": [ - "López" - ], - "romanized": [ - "López" - ], + "localized": ["López"], + "romanized": ["López"], "count": 393704 }, { "id": "AR-6", "rank": 6, - "localized": [ - "Martínez" - ], - "romanized": [ - "Martínez" - ], + "localized": ["Martínez"], + "romanized": ["Martínez"], "count": 346271 }, { "id": "AR-7", "rank": 7, - "localized": [ - "Pérez" - ], - "romanized": [ - "Pérez" - ], + "localized": ["Pérez"], + "romanized": ["Pérez"], "count": 336094 }, { "id": "AR-8", "rank": 8, - "localized": [ - "Álvarez" - ], - "romanized": [ - "Álvarez" - ], + "localized": ["Álvarez"], + "romanized": ["Álvarez"], "count": 294527 }, { "id": "AR-9", "rank": 9, - "localized": [ - "Gómez" - ], - "romanized": [ - "Gómez" - ], + "localized": ["Gómez"], + "romanized": ["Gómez"], "count": 290821 }, { "id": "AR-10", "rank": 10, - "localized": [ - "Sánchez" - ], - "romanized": [ - "Sánchez" - ], + "localized": ["Sánchez"], + "romanized": ["Sánchez"], "count": 271351 }, { "id": "AR-11", "rank": 11, - "localized": [ - "Díaz" - ], - "romanized": [ - "Díaz" - ], + "localized": ["Díaz"], + "romanized": ["Díaz"], "count": 256397 }, { "id": "AR-12", "rank": 12, - "localized": [ - "Vásquez" - ], - "romanized": [ - "Vásquez" - ], + "localized": ["Vásquez"], + "romanized": ["Vásquez"], "count": 187974 }, { "id": "AR-13", "rank": 13, - "localized": [ - "Castro" - ], - "romanized": [ - "Castro" - ], + "localized": ["Castro"], + "romanized": ["Castro"], "count": 173055 }, { "id": "AR-14", "rank": 14, - "localized": [ - "Romero" - ], - "romanized": [ - "Romero" - ], + "localized": ["Romero"], + "romanized": ["Romero"], "count": 166497 }, { "id": "AR-15", "rank": 15, - "localized": [ - "Suárez" - ], - "romanized": [ - "Suárez" - ], + "localized": ["Suárez"], + "romanized": ["Suárez"], "count": 160483 }, { "id": "AR-16", "rank": 16, - "localized": [ - "Blanco" - ], - "romanized": [ - "Blanco" - ], + "localized": ["Blanco"], + "romanized": ["Blanco"], "count": 154248 }, { "id": "AR-17", "rank": 17, - "localized": [ - "Ruiz" - ], - "romanized": [ - "Ruiz" - ], + "localized": ["Ruiz"], + "romanized": ["Ruiz"], "count": 140829 }, { "id": "AR-18", "rank": 18, - "localized": [ - "Alonso" - ], - "romanized": [ - "Alonso" - ], + "localized": ["Alonso"], + "romanized": ["Alonso"], "count": 135893 }, { "id": "AR-19", "rank": 19, - "localized": [ - "Torres" - ], - "romanized": [ - "Torres" - ], + "localized": ["Torres"], + "romanized": ["Torres"], "count": 133599 }, { "id": "AR-20", "rank": 20, - "localized": [ - "Domínguez" - ], - "romanized": [ - "Domínguez" - ], + "localized": ["Domínguez"], + "romanized": ["Domínguez"], "count": 132625 }, { "id": "AR-21", "rank": 21, - "localized": [ - "Gutiérrez" - ], - "romanized": [ - "Gutiérrez" - ], + "localized": ["Gutiérrez"], + "romanized": ["Gutiérrez"], "count": 130607 }, { "id": "AR-22", "rank": 22, - "localized": [ - "Sosa" - ], - "romanized": [ - "Sosa" - ], + "localized": ["Sosa"], + "romanized": ["Sosa"], "count": 129372 }, { "id": "AR-23", "rank": 23, - "localized": [ - "Iglesias" - ], - "romanized": [ - "Iglesias" - ], + "localized": ["Iglesias"], + "romanized": ["Iglesias"], "count": 126822 }, { "id": "AR-24", "rank": 24, - "localized": [ - "Giménez" - ], - "romanized": [ - "Giménez" - ], + "localized": ["Giménez"], + "romanized": ["Giménez"], "count": 125009 }, { "id": "AR-25", "rank": 25, - "localized": [ - "Ramírez" - ], - "romanized": [ - "Ramírez" - ], + "localized": ["Ramírez"], + "romanized": ["Ramírez"], "count": 124550 }, { "id": "AR-26", "rank": 26, - "localized": [ - "Martín" - ], - "romanized": [ - "Martín" - ], + "localized": ["Martín"], + "romanized": ["Martín"], "count": 123938 }, { "id": "AR-27", "rank": 27, - "localized": [ - "Varela" - ], - "romanized": [ - "Varela" - ], + "localized": ["Varela"], + "romanized": ["Varela"], "count": 119674 }, { "id": "AR-28", "rank": 28, - "localized": [ - "Ramos" - ], - "romanized": [ - "Ramos" - ], + "localized": ["Ramos"], + "romanized": ["Ramos"], "count": 118825 }, { "id": "AR-29", "rank": 29, - "localized": [ - "Núñez" - ], - "romanized": [ - "Núñez" - ], + "localized": ["Núñez"], + "romanized": ["Núñez"], "count": 118106 }, { "id": "AR-30", "rank": 30, - "localized": [ - "Rossi" - ], - "romanized": [ - "Rossi" - ], + "localized": ["Rossi"], + "romanized": ["Rossi"], "count": 116775 }, { "id": "AR-31", "rank": 31, - "localized": [ - "Silva" - ], - "romanized": [ - "Silva" - ], + "localized": ["Silva"], + "romanized": ["Silva"], "count": 107835 }, { "id": "AR-32", "rank": 32, - "localized": [ - "Méndez" - ], - "romanized": [ - "Méndez" - ], + "localized": ["Méndez"], + "romanized": ["Méndez"], "count": 104668 }, { "id": "AR-33", "rank": 33, - "localized": [ - "Hernández" - ], - "romanized": [ - "Hernández" - ], + "localized": ["Hernández"], + "romanized": ["Hernández"], "count": 104581 }, { "id": "AR-34", "rank": 34, - "localized": [ - "Flores" - ], - "romanized": [ - "Flores" - ], + "localized": ["Flores"], + "romanized": ["Flores"], "count": 100092 }, { "id": "AR-35", "rank": 35, - "localized": [ - "Pereyra" - ], - "romanized": [ - "Pereyra" - ], + "localized": ["Pereyra"], + "romanized": ["Pereyra"], "count": 99884 }, { "id": "AR-36", "rank": 36, - "localized": [ - "Ferrari" - ], - "romanized": [ - "Ferrari" - ], + "localized": ["Ferrari"], + "romanized": ["Ferrari"], "count": 98761 }, { "id": "AR-37", "rank": 37, - "localized": [ - "Ortiz" - ], - "romanized": [ - "Ortiz" - ], + "localized": ["Ortiz"], + "romanized": ["Ortiz"], "count": 96761 }, { "id": "AR-38", "rank": 38, - "localized": [ - "Medina" - ], - "romanized": [ - "Medina" - ], + "localized": ["Medina"], + "romanized": ["Medina"], "count": 96228 }, { "id": "AR-39", "rank": 39, - "localized": [ - "Benítez" - ], - "romanized": [ - "Benítez" - ], + "localized": ["Benítez"], + "romanized": ["Benítez"], "count": 95628 }, { "id": "AR-40", "rank": 40, - "localized": [ - "Herrera" - ], - "romanized": [ - "Herrera" - ], + "localized": ["Herrera"], + "romanized": ["Herrera"], "count": 94781 }, { "id": "AR-41", "rank": 41, - "localized": [ - "Arias" - ], - "romanized": [ - "Arias" - ], + "localized": ["Arias"], + "romanized": ["Arias"], "count": 94537 }, { "id": "AR-42", "rank": 42, - "localized": [ - "Acosta" - ], - "romanized": [ - "Acosta" - ], + "localized": ["Acosta"], + "romanized": ["Acosta"], "count": 92707 }, { "id": "AR-43", "rank": 43, - "localized": [ - "Moreno" - ], - "romanized": [ - "Moreno" - ], + "localized": ["Moreno"], + "romanized": ["Moreno"], "count": 92127 }, { "id": "AR-44", "rank": 44, - "localized": [ - "Aguirre" - ], - "romanized": [ - "Aguirre" - ], + "localized": ["Aguirre"], + "romanized": ["Aguirre"], "count": 91365 }, { "id": "AR-45", "rank": 45, - "localized": [ - "Otero" - ], - "romanized": [ - "Otero" - ], + "localized": ["Otero"], + "romanized": ["Otero"], "count": 89583 }, { "id": "AR-46", "rank": 46, - "localized": [ - "Cabrera" - ], - "romanized": [ - "Cabrera" - ], + "localized": ["Cabrera"], + "romanized": ["Cabrera"], "count": 88398 }, { "id": "AR-47", "rank": 47, - "localized": [ - "Rey" - ], - "romanized": [ - "Rey" - ], + "localized": ["Rey"], + "romanized": ["Rey"], "count": 88394 }, { "id": "AR-48", "rank": 48, - "localized": [ - "Rojas" - ], - "romanized": [ - "Rojas" - ], + "localized": ["Rojas"], + "romanized": ["Rojas"], "count": 81343 }, { "id": "AR-49", "rank": 49, - "localized": [ - "Vidal" - ], - "romanized": [ - "Vidal" - ], + "localized": ["Vidal"], + "romanized": ["Vidal"], "count": 80233 }, { "id": "AR-50", "rank": 50, - "localized": [ - "Molina" - ], - "romanized": [ - "Molina" - ], + "localized": ["Molina"], + "romanized": ["Molina"], "count": 80050 }, { "id": "AR-51", "rank": 51, - "localized": [ - "Russo" - ], - "romanized": [ - "Russo" - ], + "localized": ["Russo"], + "romanized": ["Russo"], "count": 79882 }, { "id": "AR-52", "rank": 52, - "localized": [ - "Paz" - ], - "romanized": [ - "Paz" - ], + "localized": ["Paz"], + "romanized": ["Paz"], "count": 75365 }, { "id": "AR-53", "rank": 53, - "localized": [ - "Vega" - ], - "romanized": [ - "Vega" - ], + "localized": ["Vega"], + "romanized": ["Vega"], "count": 74107 }, { "id": "AR-54", "rank": 54, - "localized": [ - "Costa" - ], - "romanized": [ - "Costa" - ], + "localized": ["Costa"], + "romanized": ["Costa"], "count": 73932 }, { "id": "AR-55", "rank": 55, - "localized": [ - "Bruno" - ], - "romanized": [ - "Bruno" - ], + "localized": ["Bruno"], + "romanized": ["Bruno"], "count": 73907 }, { "id": "AR-56", "rank": 56, - "localized": [ - "Romano" - ], - "romanized": [ - "Romano" - ], + "localized": ["Romano"], + "romanized": ["Romano"], "count": 73458 }, { "id": "AR-57", "rank": 57, - "localized": [ - "Morales" - ], - "romanized": [ - "Morales" - ], + "localized": ["Morales"], + "romanized": ["Morales"], "count": 71587 }, { "id": "AR-58", "rank": 58, - "localized": [ - "Ríos" - ], - "romanized": [ - "Ríos" - ], + "localized": ["Ríos"], + "romanized": ["Ríos"], "count": 71534 }, { "id": "AR-59", "rank": 59, - "localized": [ - "Miranda" - ], - "romanized": [ - "Miranda" - ], + "localized": ["Miranda"], + "romanized": ["Miranda"], "count": 70713 }, { "id": "AR-60", "rank": 60, - "localized": [ - "Muñoz" - ], - "romanized": [ - "Muñoz" - ], + "localized": ["Muñoz"], + "romanized": ["Muñoz"], "count": 70092 }, { "id": "AR-61", "rank": 61, - "localized": [ - "Franco" - ], - "romanized": [ - "Franco" - ], + "localized": ["Franco"], + "romanized": ["Franco"], "count": 70055 }, { "id": "AR-62", "rank": 62, - "localized": [ - "Castillo" - ], - "romanized": [ - "Castillo" - ], + "localized": ["Castillo"], + "romanized": ["Castillo"], "count": 69720 }, { "id": "AR-63", "rank": 63, - "localized": [ - "Campos" - ], - "romanized": [ - "Campos" - ], + "localized": ["Campos"], + "romanized": ["Campos"], "count": 69447 }, { "id": "AR-64", "rank": 64, - "localized": [ - "Bianchi" - ], - "romanized": [ - "Bianchi" - ], + "localized": ["Bianchi"], + "romanized": ["Bianchi"], "count": 68510 }, { "id": "AR-65", "rank": 65, - "localized": [ - "Luna" - ], - "romanized": [ - "Luna" - ], + "localized": ["Luna"], + "romanized": ["Luna"], "count": 66763 }, { "id": "AR-66", "rank": 66, - "localized": [ - "Correa" - ], - "romanized": [ - "Correa" - ], + "localized": ["Correa"], + "romanized": ["Correa"], "count": 66535 }, { "id": "AR-67", "rank": 67, - "localized": [ - "Ferreyra" - ], - "romanized": [ - "Ferreyra" - ], + "localized": ["Ferreyra"], + "romanized": ["Ferreyra"], "count": 66461 }, { "id": "AR-68", "rank": 68, - "localized": [ - "Navarro" - ], - "romanized": [ - "Navarro" - ], + "localized": ["Navarro"], + "romanized": ["Navarro"], "count": 66457 }, { "id": "AR-69", "rank": 69, - "localized": [ - "Quiroga" - ], - "romanized": [ - "Quiroga" - ], + "localized": ["Quiroga"], + "romanized": ["Quiroga"], "count": 66138 }, { "id": "AR-70", "rank": 70, - "localized": [ - "Colombo" - ], - "romanized": [ - "Colombo" - ], + "localized": ["Colombo"], + "romanized": ["Colombo"], "count": 65375 }, { "id": "AR-71", "rank": 71, - "localized": [ - "Cohen" - ], - "romanized": [ - "Cohen" - ], + "localized": ["Cohen"], + "romanized": ["Cohen"], "count": 63575 }, { "id": "AR-72", "rank": 72, - "localized": [ - "Pereyra" - ], - "romanized": [ - "Pereyra" - ], + "localized": ["Pereyra"], + "romanized": ["Pereyra"], "count": 63367 }, { "id": "AR-73", "rank": 73, - "localized": [ - "Vera" - ], - "romanized": [ - "Vera" - ], + "localized": ["Vera"], + "romanized": ["Vera"], "count": 63226 }, { "id": "AR-74", "rank": 74, - "localized": [ - "Lorenzo" - ], - "romanized": [ - "Lorenzo" - ], + "localized": ["Lorenzo"], + "romanized": ["Lorenzo"], "count": 63157 }, { "id": "AR-75", "rank": 75, - "localized": [ - "Gil" - ], - "romanized": [ - "Gil" - ], + "localized": ["Gil"], + "romanized": ["Gil"], "count": 62727 }, { "id": "AR-76", "rank": 76, - "localized": [ - "Santos" - ], - "romanized": [ - "Santos" - ], + "localized": ["Santos"], + "romanized": ["Santos"], "count": 60580 }, { "id": "AR-77", "rank": 77, - "localized": [ - "Delgado" - ], - "romanized": [ - "Delgado" - ], + "localized": ["Delgado"], + "romanized": ["Delgado"], "count": 59333 }, { "id": "AR-78", "rank": 78, - "localized": [ - "Godoy" - ], - "romanized": [ - "Godoy" - ], + "localized": ["Godoy"], + "romanized": ["Godoy"], "count": 58956 }, { "id": "AR-79", "rank": 79, - "localized": [ - "Rivas" - ], - "romanized": [ - "Rivas" - ], + "localized": ["Rivas"], + "romanized": ["Rivas"], "count": 58811 }, { "id": "AR-80", "rank": 80, - "localized": [ - "Rivero" - ], - "romanized": [ - "Rivero" - ], + "localized": ["Rivero"], + "romanized": ["Rivero"], "count": 58604 }, { "id": "AR-81", "rank": 81, - "localized": [ - "Gallo" - ], - "romanized": [ - "Gallo" - ], + "localized": ["Gallo"], + "romanized": ["Gallo"], "count": 57990 }, { "id": "AR-82", "rank": 82, - "localized": [ - "Peralta" - ], - "romanized": [ - "Peralta" - ], + "localized": ["Peralta"], + "romanized": ["Peralta"], "count": 57192 }, { "id": "AR-83", "rank": 83, - "localized": [ - "Soto" - ], - "romanized": [ - "Soto" - ], + "localized": ["Soto"], + "romanized": ["Soto"], "count": 55633 }, { "id": "AR-84", "rank": 84, - "localized": [ - "Figueroa" - ], - "romanized": [ - "Figueroa" - ], + "localized": ["Figueroa"], + "romanized": ["Figueroa"], "count": 55515 }, { "id": "AR-85", "rank": 85, - "localized": [ - "Juárez" - ], - "romanized": [ - "Juárez" - ], + "localized": ["Juárez"], + "romanized": ["Juárez"], "count": 55310 }, { "id": "AR-86", "rank": 86, - "localized": [ - "Marino" - ], - "romanized": [ - "Marino" - ], + "localized": ["Marino"], + "romanized": ["Marino"], "count": 54806 }, { "id": "AR-87", "rank": 87, - "localized": [ - "Ponce" - ], - "romanized": [ - "Ponce" - ], + "localized": ["Ponce"], + "romanized": ["Ponce"], "count": 54009 }, { "id": "AR-88", "rank": 88, - "localized": [ - "Calvo" - ], - "romanized": [ - "Calvo" - ], + "localized": ["Calvo"], + "romanized": ["Calvo"], "count": 52282 }, { "id": "AR-89", "rank": 89, - "localized": [ - "Ibáñez" - ], - "romanized": [ - "Ibáñez" - ], + "localized": ["Ibáñez"], + "romanized": ["Ibáñez"], "count": 51972 }, { "id": "AR-90", "rank": 90, - "localized": [ - "Cáceres" - ], - "romanized": [ - "Cáceres" - ], + "localized": ["Cáceres"], + "romanized": ["Cáceres"], "count": 51493 }, { "id": "AR-91", "rank": 91, - "localized": [ - "Carrizo" - ], - "romanized": [ - "Carrizo" - ], + "localized": ["Carrizo"], + "romanized": ["Carrizo"], "count": 50657 }, { "id": "AR-92", "rank": 92, - "localized": [ - "Vargas" - ], - "romanized": [ - "Vargas" - ], + "localized": ["Vargas"], + "romanized": ["Vargas"], "count": 50613 }, { "id": "AR-93", "rank": 93, - "localized": [ - "Mendoza" - ], - "romanized": [ - "Mendoza" - ], + "localized": ["Mendoza"], + "romanized": ["Mendoza"], "count": 50588 }, { "id": "AR-94", "rank": 94, - "localized": [ - "Aguilar" - ], - "romanized": [ - "Aguilar" - ], + "localized": ["Aguilar"], + "romanized": ["Aguilar"], "count": 49717 }, { "id": "AR-95", "rank": 95, - "localized": [ - "Ledesma" - ], - "romanized": [ - "Ledesma" - ], + "localized": ["Ledesma"], + "romanized": ["Ledesma"], "count": 49645 }, { "id": "AR-96", "rank": 96, - "localized": [ - "Guzmán" - ], - "romanized": [ - "Guzmán" - ], + "localized": ["Guzmán"], + "romanized": ["Guzmán"], "count": 49543 }, { "id": "AR-97", "rank": 97, - "localized": [ - "Soria" - ], - "romanized": [ - "Soria" - ], + "localized": ["Soria"], + "romanized": ["Soria"], "count": 49291 }, { "id": "AR-98", "rank": 98, - "localized": [ - "Villalba" - ], - "romanized": [ - "Villalba" - ], + "localized": ["Villalba"], + "romanized": ["Villalba"], "count": 48602 }, { "id": "AR-99", "rank": 99, - "localized": [ - "Prieto" - ], - "romanized": [ - "Prieto" - ], + "localized": ["Prieto"], + "romanized": ["Prieto"], "count": 48355 }, { "id": "AR-100", "rank": 100, - "localized": [ - "Maldonado" - ], - "romanized": [ - "Maldonado" - ], + "localized": ["Maldonado"], + "romanized": ["Maldonado"], "count": 47344 } ], @@ -23078,337 +14639,211 @@ { "id": "BR-1", "rank": 1, - "localized": [ - "Silva" - ], - "romanized": [ - "Silva" - ], + "localized": ["Silva"], + "romanized": ["Silva"], "count": 20882120 }, { "id": "BR-2", "rank": 2, - "localized": [ - "Santos" - ], - "romanized": [ - "Santos" - ], + "localized": ["Santos"], + "romanized": ["Santos"], "count": 13433982 }, { "id": "BR-3", "rank": 3, - "localized": [ - "Sousa" - ], - "romanized": [ - "Sousa" - ], + "localized": ["Sousa"], + "romanized": ["Sousa"], "count": 9810832 }, { "id": "BR-4", "rank": 4, - "localized": [ - "Oliveira" - ], - "romanized": [ - "Oliveira" - ], + "localized": ["Oliveira"], + "romanized": ["Oliveira"], "count": 6209493 }, { "id": "BR-5", "rank": 5, - "localized": [ - "Pereira" - ], - "romanized": [ - "Pereira" - ], + "localized": ["Pereira"], + "romanized": ["Pereira"], "count": 5892937 }, { "id": "BR-6", "rank": 6, - "localized": [ - "Lima" - ], - "romanized": [ - "Lima" - ], + "localized": ["Lima"], + "romanized": ["Lima"], "count": 5007393 }, { "id": "BR-7", "rank": 7, - "localized": [ - "Carvalho" - ], - "romanized": [ - "Carvalho" - ], + "localized": ["Carvalho"], + "romanized": ["Carvalho"], "count": 4630387 }, { "id": "BR-8", "rank": 8, - "localized": [ - "Ferreira" - ], - "romanized": [ - "Ferreira" - ], + "localized": ["Ferreira"], + "romanized": ["Ferreira"], "count": 4590010 }, { "id": "BR-9", "rank": 9, - "localized": [ - "Rodrigues" - ], - "romanized": [ - "Rodrigues" - ], + "localized": ["Rodrigues"], + "romanized": ["Rodrigues"], "count": 4510002 }, { "id": "BR-10", "rank": 10, - "localized": [ - "Almeida" - ], - "romanized": [ - "Almeida" - ], + "localized": ["Almeida"], + "romanized": ["Almeida"], "count": 4393398 }, { "id": "BR-11", "rank": 11, - "localized": [ - "Costa" - ], - "romanized": [ - "Costa" - ], + "localized": ["Costa"], + "romanized": ["Costa"], "count": 3905800 }, { "id": "BR-12", "rank": 12, - "localized": [ - "Gomes" - ], - "romanized": [ - "Gomes" - ], + "localized": ["Gomes"], + "romanized": ["Gomes"], "count": 3848000 }, { "id": "BR-13", "rank": 13, - "localized": [ - "Martins" - ], - "romanized": [ - "Martins" - ], + "localized": ["Martins"], + "romanized": ["Martins"], "count": 3650200 }, { "id": "BR-14", "rank": 14, - "localized": [ - "Araújo" - ], - "romanized": [ - "Araújo" - ], + "localized": ["Araújo"], + "romanized": ["Araújo"], "count": 3320780 }, { "id": "BR-15", "rank": 15, - "localized": [ - "Melo" - ], - "romanized": [ - "Melo" - ], + "localized": ["Melo"], + "romanized": ["Melo"], "count": 3209000 }, { "id": "BR-16", "rank": 16, - "localized": [ - "Barbosa" - ], - "romanized": [ - "Barbosa" - ], + "localized": ["Barbosa"], + "romanized": ["Barbosa"], "count": 3040300 }, { "id": "BR-17", "rank": 17, - "localized": [ - "Ribeiro" - ], - "romanized": [ - "Ribeiro" - ], + "localized": ["Ribeiro"], + "romanized": ["Ribeiro"], "count": 3010000 }, { "id": "BR-18", "rank": 18, - "localized": [ - "Alves" - ], - "romanized": [ - "Alves" - ], + "localized": ["Alves"], + "romanized": ["Alves"], "count": 2960500 }, { "id": "BR-19", "rank": 19, - "localized": [ - "Cardoso" - ], - "romanized": [ - "Cardoso" - ], + "localized": ["Cardoso"], + "romanized": ["Cardoso"], "count": 2830120 }, { "id": "BR-20", "rank": 20, - "localized": [ - "Schmitz", - "Schmidt" - ], - "romanized": [ - "Schmitz", - "Schmidt" - ], + "localized": ["Schmitz", "Schmidt"], + "romanized": ["Schmitz", "Schmidt"], "count": 2673000 }, { "id": "BR-21", "rank": 21, - "localized": [ - "Rocha" - ], - "romanized": [ - "Rocha" - ], + "localized": ["Rocha"], + "romanized": ["Rocha"], "count": 2540600 }, { "id": "BR-22", "rank": 22, - "localized": [ - "Correia", - "Correa" - ], - "romanized": [ - "Correia", - "Correa" - ], + "localized": ["Correia", "Correa"], + "romanized": ["Correia", "Correa"], "count": 2505070 }, { "id": "BR-23", "rank": 23, - "localized": [ - "Dias" - ], - "romanized": [ - "Dias" - ], + "localized": ["Dias"], + "romanized": ["Dias"], "count": 2467000 }, { "id": "BR-24", "rank": 24, - "localized": [ - "Teixeira" - ], - "romanized": [ - "Teixeira" - ], + "localized": ["Teixeira"], + "romanized": ["Teixeira"], "count": 2408500 }, { "id": "BR-25", "rank": 25, - "localized": [ - "Fernandes" - ], - "romanized": [ - "Fernandes" - ], + "localized": ["Fernandes"], + "romanized": ["Fernandes"], "count": 2379700 }, { "id": "BR-26", "rank": 26, - "localized": [ - "Azevedo" - ], - "romanized": [ - "Azevedo" - ], + "localized": ["Azevedo"], + "romanized": ["Azevedo"], "count": 2370000 }, { "id": "BR-27", "rank": 27, - "localized": [ - "Cavalcante", - "Cavalcanti" - ], - "romanized": [ - "Cavalcante", - "Cavalcanti" - ], + "localized": ["Cavalcante", "Cavalcanti"], + "romanized": ["Cavalcante", "Cavalcanti"], "count": 2366300 }, { "id": "BR-28", "rank": 28, - "localized": [ - "Montes" - ], - "romanized": [ - "Montes" - ], + "localized": ["Montes"], + "romanized": ["Montes"], "count": 2362000 }, { "id": "BR-29", "rank": 29, - "localized": [ - "Morais" - ], - "romanized": [ - "Morais" - ], + "localized": ["Morais"], + "romanized": ["Morais"], "count": 2354500 }, { "id": "BR-30", "rank": 30, - "localized": [ - "Gonçalves" - ], - "romanized": [ - "Gonçalves" - ], + "localized": ["Gonçalves"], + "romanized": ["Gonçalves"], "count": 2348000 } ], @@ -23416,1101 +14851,701 @@ { "id": "CL-1", "rank": 1, - "localized": [ - "González" - ], - "romanized": [ - "González" - ], + "localized": ["González"], + "romanized": ["González"], "count": 741388 }, { "id": "CL-2", "rank": 2, - "localized": [ - "Muñoz" - ], - "romanized": [ - "Muñoz" - ], + "localized": ["Muñoz"], + "romanized": ["Muñoz"], "count": 578673 }, { "id": "CL-3", "rank": 3, - "localized": [ - "Rojas" - ], - "romanized": [ - "Rojas" - ], + "localized": ["Rojas"], + "romanized": ["Rojas"], "count": 413897 }, { "id": "CL-4", "rank": 4, - "localized": [ - "Díaz" - ], - "romanized": [ - "Díaz" - ], + "localized": ["Díaz"], + "romanized": ["Díaz"], "count": 410802 }, { "id": "CL-5", "rank": 5, - "localized": [ - "Pérez" - ], - "romanized": [ - "Pérez" - ], + "localized": ["Pérez"], + "romanized": ["Pérez"], "count": 326867 }, { "id": "CL-6", "rank": 6, - "localized": [ - "Soto" - ], - "romanized": [ - "Soto" - ], + "localized": ["Soto"], + "romanized": ["Soto"], "count": 298062 }, { "id": "CL-7", "rank": 7, - "localized": [ - "Contreras" - ], - "romanized": [ - "Contreras" - ], + "localized": ["Contreras"], + "romanized": ["Contreras"], "count": 276887 }, { "id": "CL-8", "rank": 8, - "localized": [ - "Silva" - ], - "romanized": [ - "Silva" - ], + "localized": ["Silva"], + "romanized": ["Silva"], "count": 259950 }, { "id": "CL-9", "rank": 9, - "localized": [ - "Martínez" - ], - "romanized": [ - "Martínez" - ], + "localized": ["Martínez"], + "romanized": ["Martínez"], "count": 252966 }, { "id": "CL-10", "rank": 10, - "localized": [ - "Sepúlveda" - ], - "romanized": [ - "Sepúlveda" - ], + "localized": ["Sepúlveda"], + "romanized": ["Sepúlveda"], "count": 251078 }, { "id": "CL-11", "rank": 11, - "localized": [ - "Morales" - ], - "romanized": [ - "Morales" - ], + "localized": ["Morales"], + "romanized": ["Morales"], "count": 248448 }, { "id": "CL-12", "rank": 12, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": 243695 }, { "id": "CL-13", "rank": 13, - "localized": [ - "López" - ], - "romanized": [ - "López" - ], + "localized": ["López"], + "romanized": ["López"], "count": 240181 }, { "id": "CL-14", "rank": 14, - "localized": [ - "Fuentes" - ], - "romanized": [ - "Fuentes" - ], + "localized": ["Fuentes"], + "romanized": ["Fuentes"], "count": 228609 }, { "id": "CL-15", "rank": 15, - "localized": [ - "Hernández" - ], - "romanized": [ - "Hernández" - ], + "localized": ["Hernández"], + "romanized": ["Hernández"], "count": 226848 }, { "id": "CL-16", "rank": 16, - "localized": [ - "Torres" - ], - "romanized": [ - "Torres" - ], + "localized": ["Torres"], + "romanized": ["Torres"], "count": 226480 }, { "id": "CL-17", "rank": 17, - "localized": [ - "Araya" - ], - "romanized": [ - "Araya" - ], + "localized": ["Araya"], + "romanized": ["Araya"], "count": 224232 }, { "id": "CL-18", "rank": 18, - "localized": [ - "Flores" - ], - "romanized": [ - "Flores" - ], + "localized": ["Flores"], + "romanized": ["Flores"], "count": 221231 }, { "id": "CL-19", "rank": 19, - "localized": [ - "Espinoza" - ], - "romanized": [ - "Espinoza" - ], + "localized": ["Espinoza"], + "romanized": ["Espinoza"], "count": 219375 }, { "id": "CL-20", "rank": 20, - "localized": [ - "Valenzuela" - ], - "romanized": [ - "Valenzuela" - ], + "localized": ["Valenzuela"], + "romanized": ["Valenzuela"], "count": 215025 }, { "id": "CL-21", "rank": 21, - "localized": [ - "Castillo" - ], - "romanized": [ - "Castillo" - ], + "localized": ["Castillo"], + "romanized": ["Castillo"], "count": 213321 }, { "id": "CL-22", "rank": 22, - "localized": [ - "Ramírez" - ], - "romanized": [ - "Ramírez" - ], + "localized": ["Ramírez"], + "romanized": ["Ramírez"], "count": 211191 }, { "id": "CL-23", "rank": 23, - "localized": [ - "Reyes" - ], - "romanized": [ - "Reyes" - ], + "localized": ["Reyes"], + "romanized": ["Reyes"], "count": 208752 }, { "id": "CL-24", "rank": 24, - "localized": [ - "Gutiérrez" - ], - "romanized": [ - "Gutiérrez" - ], + "localized": ["Gutiérrez"], + "romanized": ["Gutiérrez"], "count": 201734 }, { "id": "CL-25", "rank": 25, - "localized": [ - "Castro" - ], - "romanized": [ - "Castro" - ], + "localized": ["Castro"], + "romanized": ["Castro"], "count": 199508 }, { "id": "CL-26", "rank": 26, - "localized": [ - "Vargas" - ], - "romanized": [ - "Vargas" - ], + "localized": ["Vargas"], + "romanized": ["Vargas"], "count": 198471 }, { "id": "CL-27", "rank": 27, - "localized": [ - "Álvarez" - ], - "romanized": [ - "Álvarez" - ], + "localized": ["Álvarez"], + "romanized": ["Álvarez"], "count": 193002 }, { "id": "CL-28", "rank": 28, - "localized": [ - "Vásquez" - ], - "romanized": [ - "Vásquez" - ], + "localized": ["Vásquez"], + "romanized": ["Vásquez"], "count": 189946 }, { "id": "CL-29", "rank": 29, - "localized": [ - "Tapia" - ], - "romanized": [ - "Tapia" - ], + "localized": ["Tapia"], + "romanized": ["Tapia"], "count": 179905 }, { "id": "CL-30", "rank": 30, - "localized": [ - "Fernández" - ], - "romanized": [ - "Fernández" - ], + "localized": ["Fernández"], + "romanized": ["Fernández"], "count": 179246 }, { "id": "CL-31", "rank": 31, - "localized": [ - "Sánchez" - ], - "romanized": [ - "Sánchez" - ], + "localized": ["Sánchez"], + "romanized": ["Sánchez"], "count": 178615 }, { "id": "CL-32", "rank": 32, - "localized": [ - "Carrasco" - ], - "romanized": [ - "Carrasco" - ], + "localized": ["Carrasco"], + "romanized": ["Carrasco"], "count": 172877 }, { "id": "CL-33", "rank": 33, - "localized": [ - "Gómez" - ], - "romanized": [ - "Gómez" - ], + "localized": ["Gómez"], + "romanized": ["Gómez"], "count": 172758 }, { "id": "CL-34", "rank": 34, - "localized": [ - "Cortés" - ], - "romanized": [ - "Cortés" - ], + "localized": ["Cortés"], + "romanized": ["Cortés"], "count": 171370 }, { "id": "CL-35", "rank": 35, - "localized": [ - "Herrera" - ], - "romanized": [ - "Herrera" - ], + "localized": ["Herrera"], + "romanized": ["Herrera"], "count": 170309 }, { "id": "CL-36", "rank": 36, - "localized": [ - "Núñez" - ], - "romanized": [ - "Núñez" - ], + "localized": ["Núñez"], + "romanized": ["Núñez"], "count": 165806 }, { "id": "CL-37", "rank": 37, - "localized": [ - "Jara" - ], - "romanized": [ - "Jara" - ], + "localized": ["Jara"], + "romanized": ["Jara"], "count": 161085 }, { "id": "CL-38", "rank": 38, - "localized": [ - "Vergara" - ], - "romanized": [ - "Vergara" - ], + "localized": ["Vergara"], + "romanized": ["Vergara"], "count": 155118 }, { "id": "CL-39", "rank": 39, - "localized": [ - "Rivera" - ], - "romanized": [ - "Rivera" - ], + "localized": ["Rivera"], + "romanized": ["Rivera"], "count": 147835 }, { "id": "CL-40", "rank": 40, - "localized": [ - "Figueroa" - ], - "romanized": [ - "Figueroa" - ], + "localized": ["Figueroa"], + "romanized": ["Figueroa"], "count": 145460 }, { "id": "CL-41", "rank": 41, - "localized": [ - "Riquelme" - ], - "romanized": [ - "Riquelme" - ], + "localized": ["Riquelme"], + "romanized": ["Riquelme"], "count": 143590 }, { "id": "CL-42", "rank": 42, - "localized": [ - "García" - ], - "romanized": [ - "García" - ], + "localized": ["García"], + "romanized": ["García"], "count": 142002 }, { "id": "CL-43", "rank": 43, - "localized": [ - "Miranda" - ], - "romanized": [ - "Miranda" - ], + "localized": ["Miranda"], + "romanized": ["Miranda"], "count": 138939 }, { "id": "CL-44", "rank": 44, - "localized": [ - "Bravo" - ], - "romanized": [ - "Bravo" - ], + "localized": ["Bravo"], + "romanized": ["Bravo"], "count": 138392 }, { "id": "CL-45", "rank": 45, - "localized": [ - "Vera" - ], - "romanized": [ - "Vera" - ], + "localized": ["Vera"], + "romanized": ["Vera"], "count": 137646 }, { "id": "CL-46", "rank": 46, - "localized": [ - "Molina" - ], - "romanized": [ - "Molina" - ], + "localized": ["Molina"], + "romanized": ["Molina"], "count": 131094 }, { "id": "CL-47", "rank": 47, - "localized": [ - "Vega" - ], - "romanized": [ - "Vega" - ], + "localized": ["Vega"], + "romanized": ["Vega"], "count": 128132 }, { "id": "CL-48", "rank": 48, - "localized": [ - "Campos" - ], - "romanized": [ - "Campos" - ], + "localized": ["Campos"], + "romanized": ["Campos"], "count": 126260 }, { "id": "CL-49", "rank": 49, - "localized": [ - "Sandoval" - ], - "romanized": [ - "Sandoval" - ], + "localized": ["Sandoval"], + "romanized": ["Sandoval"], "count": 125640 }, { "id": "CL-50", "rank": 50, - "localized": [ - "Orellana" - ], - "romanized": [ - "Orellana" - ], + "localized": ["Orellana"], + "romanized": ["Orellana"], "count": 123619 }, { "id": "CL-51", "rank": 51, - "localized": [ - "Zúñiga" - ], - "romanized": [ - "Zúñiga" - ], + "localized": ["Zúñiga"], + "romanized": ["Zúñiga"], "count": 120757 }, { "id": "CL-52", "rank": 52, - "localized": [ - "Olivares" - ], - "romanized": [ - "Olivares" - ], + "localized": ["Olivares"], + "romanized": ["Olivares"], "count": 120074 }, { "id": "CL-53", "rank": 53, - "localized": [ - "Alarcón" - ], - "romanized": [ - "Alarcón" - ], + "localized": ["Alarcón"], + "romanized": ["Alarcón"], "count": 118019 }, { "id": "CL-54", "rank": 54, - "localized": [ - "Gallardo" - ], - "romanized": [ - "Gallardo" - ], + "localized": ["Gallardo"], + "romanized": ["Gallardo"], "count": 117752 }, { "id": "CL-55", "rank": 55, - "localized": [ - "Ortiz" - ], - "romanized": [ - "Ortiz" - ], + "localized": ["Ortiz"], + "romanized": ["Ortiz"], "count": 117228 }, { "id": "CL-56", "rank": 56, - "localized": [ - "Garrido" - ], - "romanized": [ - "Garrido" - ], + "localized": ["Garrido"], + "romanized": ["Garrido"], "count": 115109 }, { "id": "CL-57", "rank": 57, - "localized": [ - "Salazar" - ], - "romanized": [ - "Salazar" - ], + "localized": ["Salazar"], + "romanized": ["Salazar"], "count": 113881 }, { "id": "CL-58", "rank": 58, - "localized": [ - "Guzmán" - ], - "romanized": [ - "Guzmán" - ], + "localized": ["Guzmán"], + "romanized": ["Guzmán"], "count": 109922 }, { "id": "CL-59", "rank": 59, - "localized": [ - "Henríquez" - ], - "romanized": [ - "Henríquez" - ], + "localized": ["Henríquez"], + "romanized": ["Henríquez"], "count": 109364 }, { "id": "CL-60", "rank": 60, - "localized": [ - "Saavedra" - ], - "romanized": [ - "Saavedra" - ], + "localized": ["Saavedra"], + "romanized": ["Saavedra"], "count": 108702 }, { "id": "CL-61", "rank": 61, - "localized": [ - "Navarro" - ], - "romanized": [ - "Navarro" - ], + "localized": ["Navarro"], + "romanized": ["Navarro"], "count": 107897 }, { "id": "CL-62", "rank": 62, - "localized": [ - "Aguilera" - ], - "romanized": [ - "Aguilera" - ], + "localized": ["Aguilera"], + "romanized": ["Aguilera"], "count": 107864 }, { "id": "CL-63", "rank": 63, - "localized": [ - "Parra" - ], - "romanized": [ - "Parra" - ], + "localized": ["Parra"], + "romanized": ["Parra"], "count": 106100 }, { "id": "CL-64", "rank": 64, - "localized": [ - "Romero" - ], - "romanized": [ - "Romero" - ], + "localized": ["Romero"], + "romanized": ["Romero"], "count": 105597 }, { "id": "CL-65", "rank": 65, - "localized": [ - "Aravena" - ], - "romanized": [ - "Aravena" - ], + "localized": ["Aravena"], + "romanized": ["Aravena"], "count": 105441 }, { "id": "CL-66", "rank": 66, - "localized": [ - "Pizarro" - ], - "romanized": [ - "Pizarro" - ], + "localized": ["Pizarro"], + "romanized": ["Pizarro"], "count": 105352 }, { "id": "CL-67", "rank": 67, - "localized": [ - "Godoy" - ], - "romanized": [ - "Godoy" - ], + "localized": ["Godoy"], + "romanized": ["Godoy"], "count": 103887 }, { "id": "CL-68", "rank": 68, - "localized": [ - "Peña" - ], - "romanized": [ - "Peña" - ], + "localized": ["Peña"], + "romanized": ["Peña"], "count": 103377 }, { "id": "CL-69", "rank": 69, - "localized": [ - "Cáceres" - ], - "romanized": [ - "Cáceres" - ], + "localized": ["Cáceres"], + "romanized": ["Cáceres"], "count": 102830 }, { "id": "CL-70", "rank": 70, - "localized": [ - "Leiva" - ], - "romanized": [ - "Leiva" - ], + "localized": ["Leiva"], + "romanized": ["Leiva"], "count": 99890 }, { "id": "CL-71", "rank": 71, - "localized": [ - "Escobar" - ], - "romanized": [ - "Escobar" - ], + "localized": ["Escobar"], + "romanized": ["Escobar"], "count": 97979 }, { "id": "CL-72", "rank": 72, - "localized": [ - "Yáñez" - ], - "romanized": [ - "Yáñez" - ], + "localized": ["Yáñez"], + "romanized": ["Yáñez"], "count": 96589 }, { "id": "CL-73", "rank": 73, - "localized": [ - "Valdés" - ], - "romanized": [ - "Valdés" - ], + "localized": ["Valdés"], + "romanized": ["Valdés"], "count": 96528 }, { "id": "CL-74", "rank": 74, - "localized": [ - "Vidal" - ], - "romanized": [ - "Vidal" - ], + "localized": ["Vidal"], + "romanized": ["Vidal"], "count": 96037 }, { "id": "CL-75", "rank": 75, - "localized": [ - "Salinas" - ], - "romanized": [ - "Salinas" - ], + "localized": ["Salinas"], + "romanized": ["Salinas"], "count": 94110 }, { "id": "CL-76", "rank": 76, - "localized": [ - "Cárdenas" - ], - "romanized": [ - "Cárdenas" - ], + "localized": ["Cárdenas"], + "romanized": ["Cárdenas"], "count": 93925 }, { "id": "CL-77", "rank": 77, - "localized": [ - "Jiménez" - ], - "romanized": [ - "Jiménez" - ], + "localized": ["Jiménez"], + "romanized": ["Jiménez"], "count": 92032 }, { "id": "CL-78", "rank": 78, - "localized": [ - "Ruiz" - ], - "romanized": [ - "Ruiz" - ], + "localized": ["Ruiz"], + "romanized": ["Ruiz"], "count": 91539 }, { "id": "CL-79", "rank": 79, - "localized": [ - "Lagos" - ], - "romanized": [ - "Lagos" - ], + "localized": ["Lagos"], + "romanized": ["Lagos"], "count": 91024 }, { "id": "CL-80", "rank": 80, - "localized": [ - "Maldonado" - ], - "romanized": [ - "Maldonado" - ], + "localized": ["Maldonado"], + "romanized": ["Maldonado"], "count": 89091 }, { "id": "CL-81", "rank": 81, - "localized": [ - "Bustos" - ], - "romanized": [ - "Bustos" - ], + "localized": ["Bustos"], + "romanized": ["Bustos"], "count": 88445 }, { "id": "CL-82", "rank": 82, - "localized": [ - "Medina" - ], - "romanized": [ - "Medina" - ], + "localized": ["Medina"], + "romanized": ["Medina"], "count": 87578 }, { "id": "CL-83", "rank": 83, - "localized": [ - "Pino" - ], - "romanized": [ - "Pino" - ], + "localized": ["Pino"], + "romanized": ["Pino"], "count": 86295 }, { "id": "CL-84", "rank": 84, - "localized": [ - "Palma" - ], - "romanized": [ - "Palma" - ], + "localized": ["Palma"], + "romanized": ["Palma"], "count": 82735 }, { "id": "CL-85", "rank": 85, - "localized": [ - "Moreno" - ], - "romanized": [ - "Moreno" - ], + "localized": ["Moreno"], + "romanized": ["Moreno"], "count": 82548 }, { "id": "CL-86", "rank": 86, - "localized": [ - "Sanhueza" - ], - "romanized": [ - "Sanhueza" - ], + "localized": ["Sanhueza"], + "romanized": ["Sanhueza"], "count": 82383 }, { "id": "CL-87", "rank": 87, - "localized": [ - "Carvajal" - ], - "romanized": [ - "Carvajal" - ], + "localized": ["Carvajal"], + "romanized": ["Carvajal"], "count": 81785 }, { "id": "CL-88", "rank": 88, - "localized": [ - "Navarrete" - ], - "romanized": [ - "Navarrete" - ], + "localized": ["Navarrete"], + "romanized": ["Navarrete"], "count": 81729 }, { "id": "CL-89", "rank": 89, - "localized": [ - "Sáez" - ], - "romanized": [ - "Sáez" - ], + "localized": ["Sáez"], + "romanized": ["Sáez"], "count": 80938 }, { "id": "CL-90", "rank": 90, - "localized": [ - "Alvarado" - ], - "romanized": [ - "Alvarado" - ], + "localized": ["Alvarado"], + "romanized": ["Alvarado"], "count": 79985 }, { "id": "CL-91", "rank": 91, - "localized": [ - "Donoso" - ], - "romanized": [ - "Donoso" - ], + "localized": ["Donoso"], + "romanized": ["Donoso"], "count": 79855 }, { "id": "CL-92", "rank": 92, - "localized": [ - "Poblete" - ], - "romanized": [ - "Poblete" - ], + "localized": ["Poblete"], + "romanized": ["Poblete"], "count": 79248 }, { "id": "CL-93", "rank": 93, - "localized": [ - "Bustamante" - ], - "romanized": [ - "Bustamante" - ], + "localized": ["Bustamante"], + "romanized": ["Bustamante"], "count": 78732 }, { "id": "CL-94", "rank": 94, - "localized": [ - "Toro" - ], - "romanized": [ - "Toro" - ], + "localized": ["Toro"], + "romanized": ["Toro"], "count": 78659 }, { "id": "CL-95", "rank": 95, - "localized": [ - "Ortega" - ], - "romanized": [ - "Ortega" - ], + "localized": ["Ortega"], + "romanized": ["Ortega"], "count": 78086 }, { "id": "CL-96", "rank": 96, - "localized": [ - "Venegas" - ], - "romanized": [ - "Venegas" - ], + "localized": ["Venegas"], + "romanized": ["Venegas"], "count": 76900 }, { "id": "CL-97", "rank": 97, - "localized": [ - "Guerrero" - ], - "romanized": [ - "Guerrero" - ], + "localized": ["Guerrero"], + "romanized": ["Guerrero"], "count": 76823 }, { "id": "CL-98", "rank": 98, - "localized": [ - "Paredes" - ], - "romanized": [ - "Paredes" - ], + "localized": ["Paredes"], + "romanized": ["Paredes"], "count": 75825 }, { "id": "CL-99", "rank": 99, - "localized": [ - "Farías" - ], - "romanized": [ - "Farías" - ], + "localized": ["Farías"], + "romanized": ["Farías"], "count": 75242 }, { "id": "CL-100", "rank": 100, - "localized": [ - "San Martín" - ], - "romanized": [ - "San Martín" - ], + "localized": ["San Martín"], + "romanized": ["San Martín"], "count": 74575 } ], @@ -24518,166 +15553,106 @@ { "id": "CO-1", "rank": 1, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": 707789 }, { "id": "CO-2", "rank": 2, - "localized": [ - "Gómez" - ], - "romanized": [ - "Gómez" - ], + "localized": ["Gómez"], + "romanized": ["Gómez"], "count": 537843 }, { "id": "CO-3", "rank": 3, - "localized": [ - "González" - ], - "romanized": [ - "González" - ], + "localized": ["González"], + "romanized": ["González"], "count": 531484 }, { "id": "CO-4", "rank": 4, - "localized": [ - "Martínez" - ], - "romanized": [ - "Martínez" - ], + "localized": ["Martínez"], + "romanized": ["Martínez"], "count": 530721 }, { "id": "CO-5", "rank": 5, - "localized": [ - "García" - ], - "romanized": [ - "García" - ], + "localized": ["García"], + "romanized": ["García"], "count": 524835 }, { "id": "CO-6", "rank": 6, - "localized": [ - "López" - ], - "romanized": [ - "López" - ], + "localized": ["López"], + "romanized": ["López"], "count": 509880 }, { "id": "CO-7", "rank": 7, - "localized": [ - "Hernández" - ], - "romanized": [ - "Hernández" - ], + "localized": ["Hernández"], + "romanized": ["Hernández"], "count": 454471 }, { "id": "CO-8", "rank": 8, - "localized": [ - "Sánchez" - ], - "romanized": [ - "Sánchez" - ], + "localized": ["Sánchez"], + "romanized": ["Sánchez"], "count": 449750 }, { "id": "CO-9", "rank": 9, - "localized": [ - "Ramírez" - ], - "romanized": [ - "Ramírez" - ], + "localized": ["Ramírez"], + "romanized": ["Ramírez"], "count": 427404 }, { "id": "CO-10", "rank": 10, - "localized": [ - "Pérez" - ], - "romanized": [ - "Pérez" - ], + "localized": ["Pérez"], + "romanized": ["Pérez"], "count": 418660 }, { "id": "CO-11", "rank": 11, - "localized": [ - "Díaz" - ], - "romanized": [ - "Díaz" - ], + "localized": ["Díaz"], + "romanized": ["Díaz"], "count": 388419 }, { "id": "CO-12", "rank": 12, - "localized": [ - "Muñoz" - ], - "romanized": [ - "Muñoz" - ], + "localized": ["Muñoz"], + "romanized": ["Muñoz"], "count": 293759 }, { "id": "CO-13", "rank": 13, - "localized": [ - "Rojas" - ], - "romanized": [ - "Rojas" - ], + "localized": ["Rojas"], + "romanized": ["Rojas"], "count": 286038 }, { "id": "CO-14", "rank": 14, - "localized": [ - "Moreno" - ], - "romanized": [ - "Moreno" - ], + "localized": ["Moreno"], + "romanized": ["Moreno"], "count": 265374 }, { "id": "CO-15", "rank": 15, - "localized": [ - "Jiménez" - ], - "romanized": [ - "Jiménez" - ], + "localized": ["Jiménez"], + "romanized": ["Jiménez"], "count": 261391 } ], @@ -24685,276 +15660,176 @@ { "id": "PY-1", "rank": 1, - "localized": [ - "González" - ], - "romanized": [ - "González" - ], + "localized": ["González"], + "romanized": ["González"], "count": 443804 }, { "id": "PY-2", "rank": 2, - "localized": [ - "Benítez" - ], - "romanized": [ - "Benítez" - ], + "localized": ["Benítez"], + "romanized": ["Benítez"], "count": 324473 }, { "id": "PY-3", "rank": 3, - "localized": [ - "Martínez" - ], - "romanized": [ - "Martínez" - ], + "localized": ["Martínez"], + "romanized": ["Martínez"], "count": 280227 }, { "id": "PY-4", "rank": 4, - "localized": [ - "López" - ], - "romanized": [ - "López" - ], + "localized": ["López"], + "romanized": ["López"], "count": 209835 }, { "id": "PY-5", "rank": 5, - "localized": [ - "Giménez" - ], - "romanized": [ - "Giménez" - ], + "localized": ["Giménez"], + "romanized": ["Giménez"], "count": 174974 }, { "id": "PY-6", "rank": 6, - "localized": [ - "Vera" - ], - "romanized": [ - "Vera" - ], + "localized": ["Vera"], + "romanized": ["Vera"], "count": 170281 }, { "id": "PY-7", "rank": 7, - "localized": [ - "Duarte" - ], - "romanized": [ - "Duarte" - ], + "localized": ["Duarte"], + "romanized": ["Duarte"], "count": 139443 }, { "id": "PY-8", "rank": 8, - "localized": [ - "Ramírez" - ], - "romanized": [ - "Ramírez" - ], + "localized": ["Ramírez"], + "romanized": ["Ramírez"], "count": 137432 }, { "id": "PY-9", "rank": 9, - "localized": [ - "Villalba" - ], - "romanized": [ - "Villalba" - ], + "localized": ["Villalba"], + "romanized": ["Villalba"], "count": 134750 }, { "id": "PY-10", "rank": 10, - "localized": [ - "Fernández" - ], - "romanized": [ - "Fernández" - ], + "localized": ["Fernández"], + "romanized": ["Fernández"], "count": 130057 }, { "id": "PY-11", "rank": 11, - "localized": [ - "Gómez" - ], - "romanized": [ - "Gómez" - ], + "localized": ["Gómez"], + "romanized": ["Gómez"], "count": 121342 }, { "id": "PY-12", "rank": 12, - "localized": [ - "Acosta" - ], - "romanized": [ - "Acosta" - ], + "localized": ["Acosta"], + "romanized": ["Acosta"], "count": 119331 }, { "id": "PY-13", "rank": 13, - "localized": [ - "Rojas" - ], - "romanized": [ - "Rojas" - ], + "localized": ["Rojas"], + "romanized": ["Rojas"], "count": 117990 }, { "id": "PY-14", "rank": 14, - "localized": [ - "Ortiz" - ], - "romanized": [ - "Ortiz" - ], + "localized": ["Ortiz"], + "romanized": ["Ortiz"], "count": 113297 }, { "id": "PY-15", "rank": 15, - "localized": [ - "Cáceres" - ], - "romanized": [ - "Cáceres" - ], + "localized": ["Cáceres"], + "romanized": ["Cáceres"], "count": 112627 }, { "id": "PY-16", "rank": 16, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": 105923 }, { "id": "PY-17", "rank": 17, - "localized": [ - "Ruiz" - ], - "romanized": [ - "Ruiz" - ], + "localized": ["Ruiz"], + "romanized": ["Ruiz"], "count": 105252 }, { "id": "PY-18", "rank": 18, - "localized": [ - "Núñez" - ], - "romanized": [ - "Núñez" - ], + "localized": ["Núñez"], + "romanized": ["Núñez"], "count": 103241 }, { "id": "PY-19", "rank": 19, - "localized": [ - "Ayala" - ], - "romanized": [ - "Ayala" - ], + "localized": ["Ayala"], + "romanized": ["Ayala"], "count": 99219 }, { "id": "PY-20", "rank": 20, - "localized": [ - "Báez" - ], - "romanized": [ - "Báez" - ], + "localized": ["Báez"], + "romanized": ["Báez"], "count": 97878 }, { "id": "PY-21", "rank": 21, - "localized": [ - "Galeano" - ], - "romanized": [ - "Galeano" - ], + "localized": ["Galeano"], + "romanized": ["Galeano"], "count": 93185 }, { "id": "PY-22", "rank": 22, - "localized": [ - "Herrera" - ], - "romanized": [ - "Herrera" - ], + "localized": ["Herrera"], + "romanized": ["Herrera"], "count": 89833 }, { "id": "PY-23", "rank": 23, - "localized": [ - "Franco" - ], - "romanized": [ - "Franco" - ], + "localized": ["Franco"], + "romanized": ["Franco"], "count": 85140 }, { "id": "PY-24", "rank": 24, - "localized": [ - "Torres" - ], - "romanized": [ - "Torres" - ], + "localized": ["Torres"], + "romanized": ["Torres"], "count": 83800 }, { "id": "PY-25", "rank": 25, - "localized": [ - "Cardozo" - ], - "romanized": [ - "Cardozo" - ], + "localized": ["Cardozo"], + "romanized": ["Cardozo"], "count": 83800 } ], @@ -24962,331 +15837,211 @@ { "id": "PE-1", "rank": 1, - "localized": [ - "Quispe" - ], - "romanized": [ - "Quispe" - ], + "localized": ["Quispe"], + "romanized": ["Quispe"], "count": 145812 }, { "id": "PE-2", "rank": 2, - "localized": [ - "Flores" - ], - "romanized": [ - "Flores" - ], + "localized": ["Flores"], + "romanized": ["Flores"], "count": 143733 }, { "id": "PE-3", "rank": 3, - "localized": [ - "Sánchez" - ], - "romanized": [ - "Sánchez" - ], + "localized": ["Sánchez"], + "romanized": ["Sánchez"], "count": 136158 }, { "id": "PE-4", "rank": 4, - "localized": [ - "Rodríguez" - ], - "romanized": [ - "Rodríguez" - ], + "localized": ["Rodríguez"], + "romanized": ["Rodríguez"], "count": 133208 }, { "id": "PE-5", "rank": 5, - "localized": [ - "García" - ], - "romanized": [ - "García" - ], + "localized": ["García"], + "romanized": ["García"], "count": 130593 }, { "id": "PE-6", "rank": 6, - "localized": [ - "Rojas" - ], - "romanized": [ - "Rojas" - ], + "localized": ["Rojas"], + "romanized": ["Rojas"], "count": 111286 }, { "id": "PE-7", "rank": 7, - "localized": [ - "González" - ], - "romanized": [ - "González" - ], + "localized": ["González"], + "romanized": ["González"], "count": 97610 }, { "id": "PE-8", "rank": 8, - "localized": [ - "Díaz" - ], - "romanized": [ - "Díaz" - ], + "localized": ["Díaz"], + "romanized": ["Díaz"], "count": 96135 }, { "id": "PE-9", "rank": 9, - "localized": [ - "Chávez" - ], - "romanized": [ - "Chávez" - ], + "localized": ["Chávez"], + "romanized": ["Chávez"], "count": 94660 }, { "id": "PE-10", "rank": 10, - "localized": [ - "Torres" - ], - "romanized": [ - "Torres" - ], + "localized": ["Torres"], + "romanized": ["Torres"], "count": 94057 }, { "id": "PE-11", "rank": 11, - "localized": [ - "Ramírez" - ], - "romanized": [ - "Ramírez" - ], + "localized": ["Ramírez"], + "romanized": ["Ramírez"], "count": 93520 }, { "id": "PE-12", "rank": 12, - "localized": [ - "Mendoza" - ], - "romanized": [ - "Mendoza" - ], + "localized": ["Mendoza"], + "romanized": ["Mendoza"], "count": 92045 }, { "id": "PE-13", "rank": 13, - "localized": [ - "Ramos" - ], - "romanized": [ - "Ramos" - ], + "localized": ["Ramos"], + "romanized": ["Ramos"], "count": 91442 }, { "id": "PE-14", "rank": 14, - "localized": [ - "López" - ], - "romanized": [ - "López" - ], + "localized": ["López"], + "romanized": ["López"], "count": 90571 }, { "id": "PE-15", "rank": 15, - "localized": [ - "Castillo" - ], - "romanized": [ - "Castillo" - ], + "localized": ["Castillo"], + "romanized": ["Castillo"], "count": 84470 }, { "id": "PE-16", "rank": 16, - "localized": [ - "Espinoza" - ], - "romanized": [ - "Espinoza" - ], + "localized": ["Espinoza"], + "romanized": ["Espinoza"], "count": 84470 }, { "id": "PE-17", "rank": 17, - "localized": [ - "Vásquez" - ], - "romanized": [ - "Vásquez" - ], + "localized": ["Vásquez"], + "romanized": ["Vásquez"], "count": 78570 }, { "id": "PE-18", "rank": 18, - "localized": [ - "Huamán" - ], - "romanized": [ - "Huamán" - ], + "localized": ["Huamán"], + "romanized": ["Huamán"], "count": 72135 }, { "id": "PE-19", "rank": 19, - "localized": [ - "Pérez" - ], - "romanized": [ - "Pérez" - ], + "localized": ["Pérez"], + "romanized": ["Pérez"], "count": 71866 }, { "id": "PE-20", "rank": 20, - "localized": [ - "Vargas" - ], - "romanized": [ - "Vargas" - ], + "localized": ["Vargas"], + "romanized": ["Vargas"], "count": 71598 }, { "id": "PE-21", "rank": 21, - "localized": [ - "Gutiérrez" - ], - "romanized": [ - "Gutiérrez" - ], + "localized": ["Gutiérrez"], + "romanized": ["Gutiérrez"], "count": 69855 }, { "id": "PE-22", "rank": 22, - "localized": [ - "Fernández" - ], - "romanized": [ - "Fernández" - ], + "localized": ["Fernández"], + "romanized": ["Fernández"], "count": 66034 }, { "id": "PE-23", "rank": 23, - "localized": [ - "Castro" - ], - "romanized": [ - "Castro" - ], + "localized": ["Castro"], + "romanized": ["Castro"], "count": 65766 }, { "id": "PE-24", "rank": 24, - "localized": [ - "Mamani" - ], - "romanized": [ - "Mamani" - ], + "localized": ["Mamani"], + "romanized": ["Mamani"], "count": 62213 }, { "id": "PE-25", "rank": 25, - "localized": [ - "Ruíz" - ], - "romanized": [ - "Ruíz" - ], + "localized": ["Ruíz"], + "romanized": ["Ruíz"], "count": 62213 }, { "id": "PE-26", "rank": 26, - "localized": [ - "Romero" - ], - "romanized": [ - "Romero" - ], + "localized": ["Romero"], + "romanized": ["Romero"], "count": 57252 }, { "id": "PE-27", "rank": 27, - "localized": [ - "Martínez" - ], - "romanized": [ - "Martínez" - ], + "localized": ["Martínez"], + "romanized": ["Martínez"], "count": 56715 }, { "id": "PE-28", "rank": 28, - "localized": [ - "Morales" - ], - "romanized": [ - "Morales" - ], + "localized": ["Morales"], + "romanized": ["Morales"], "count": 55777 }, { "id": "PE-29", "rank": 29, - "localized": [ - "Reyes" - ], - "romanized": [ - "Reyes" - ], + "localized": ["Reyes"], + "romanized": ["Reyes"], "count": 55240 }, { "id": "PE-30", "rank": 30, - "localized": [ - "Salazar" - ], - "romanized": [ - "Salazar" - ], + "localized": ["Salazar"], + "romanized": ["Salazar"], "count": 53766 } ], @@ -25294,144 +16049,92 @@ { "id": "SR-1", "rank": 1, - "localized": [ - "Lin" - ], - "romanized": [ - "Lin" - ], + "localized": ["Lin"], + "romanized": ["Lin"], "count": null }, { "id": "SR-2", "rank": 2, - "localized": [ - "Pinas" - ], - "romanized": [ - "Pinas" - ], + "localized": ["Pinas"], + "romanized": ["Pinas"], "count": null }, { "id": "SR-3", "rank": 3, - "localized": [ - "Wong" - ], - "romanized": [ - "Wong" - ], + "localized": ["Wong"], + "romanized": ["Wong"], "count": null }, { "id": "SR-4", "rank": 4, - "localized": [ - "Chin" - ], - "romanized": [ - "Chin" - ], + "localized": ["Chin"], + "romanized": ["Chin"], "count": null }, { "id": "SR-5", "rank": 5, - "localized": [ - "Mohan" - ], - "romanized": [ - "Mohan" - ], + "localized": ["Mohan"], + "romanized": ["Mohan"], "count": null }, { "id": "SR-6", "rank": 6, - "localized": [ - "Kalloe" - ], - "romanized": [ - "Kalloe" - ], + "localized": ["Kalloe"], + "romanized": ["Kalloe"], "count": null }, { "id": "SR-7", "rank": 7, - "localized": [ - "Singh" - ], - "romanized": [ - "Singh" - ], + "localized": ["Singh"], + "romanized": ["Singh"], "count": null }, { "id": "SR-8", "rank": 8, - "localized": [ - "Lie" - ], - "romanized": [ - "Lie" - ], + "localized": ["Lie"], + "romanized": ["Lie"], "count": null }, { "id": "SR-9", "rank": 9, - "localized": [ - "van Dijk" - ], - "romanized": [ - "van Dijk" - ], + "localized": ["van Dijk"], + "romanized": ["van Dijk"], "count": null }, { "id": "SR-10", "rank": 10, - "localized": [ - "Tjin" - ], - "romanized": [ - "Tjin" - ], + "localized": ["Tjin"], + "romanized": ["Tjin"], "count": null }, { "id": "SR-11", "rank": 11, - "localized": [ - "Kluivert" - ], - "romanized": [ - "Kluivert" - ], + "localized": ["Kluivert"], + "romanized": ["Kluivert"], "count": null }, { "id": "SR-12", "rank": 12, - "localized": [ - "Semil" - ], - "romanized": [ - "Semil" - ], + "localized": ["Semil"], + "romanized": ["Semil"], "count": null }, { "id": "SR-13", "rank": 13, - "localized": [ - "Sabajo" - ], - "romanized": [ - "Sabajo" - ], + "localized": ["Sabajo"], + "romanized": ["Sabajo"], "count": null } ]