DataBoySu commited on
Commit
81e1efb
·
1 Parent(s): 4204e21
.dockerignore ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ── Python / cache ────────────────────────────────────────────────────────────
2
+ __pycache__/
3
+ *.pyc
4
+ *.pyo
5
+ *.pyd
6
+
7
+ # ── Virtual environment (rebuilt inside container via uv) ─────────────────────
8
+ .venv/
9
+
10
+ # ── Build / generated artifacts ───────────────────────────────────────────────
11
+ *.egg-info/
12
+ dist/
13
+ build/
14
+ .pytest_cache/
15
+ .mypy_cache/
16
+
17
+ # ── VCS and editor noise ──────────────────────────────────────────────────────
18
+ .git/
19
+ .gitignore
20
+ .hfignore
21
+ .dockerignore
22
+ .DS_Store
23
+ .idea/
24
+ .vscode/
25
+ .github/
26
+
27
+ # ── Local secrets / config ────────────────────────────────────────────────────
28
+ .env
29
+ .env.*
30
+ CLAUDE.md
31
+
32
+ # ── Local tooling / noise ─────────────────────────────────────────────────────
33
+ .agents/
34
+ .agent/
35
+ node_modules/
36
+ outputs/
37
+ *.log
38
+
39
+ # ── Hackathon-internal docs (not needed at runtime) ───────────────────────────
40
+ AI_ENGINEERING_PRINCIPLES.txt
41
+ RULES.md
42
+ Tasks.md
43
+ pre-val.sh
44
+
45
+ # ── Misc ──────────────────────────────────────────────────────────────────────
46
+ test_redirect.py
47
+ openenv_AML_env.egg-info/
48
+ openenv_tracefix_rl.egg-info/
.gitignore CHANGED
@@ -1,4 +1,28 @@
 
1
  .venv/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  AI_ENGINEERING_PRINCIPLES.txt
3
  RULES.md
4
- openenv_AML_env.egg-info/
 
 
 
 
1
+ # Virtual environment
2
  .venv/
3
+
4
+ # Python build artifacts
5
+ __pycache__/
6
+ *.pyc
7
+ *.pyo
8
+ *.pyd
9
+ *.egg-info/
10
+ dist/
11
+ build/
12
+
13
+ # Editor / OS noise
14
+ .DS_Store
15
+ .idea/
16
+ .vscode/
17
+
18
+ # Test caches
19
+ .pytest_cache/
20
+ .mypy_cache/
21
+
22
+ # Hackathon-internal docs (not for public repo)
23
  AI_ENGINEERING_PRINCIPLES.txt
24
  RULES.md
25
+
26
+ # Logs & local outputs
27
+ *.log
28
+ outputs/
.hfignore ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ── Python / cache ────────────────────────────────────────────────────────────
2
+ __pycache__/
3
+ *.pyc
4
+ *.pyo
5
+ *.pyd
6
+
7
+ # ── Virtual environments / local tooling ──────────────────────────────────────
8
+ .venv/
9
+ .agents/
10
+ .agent/
11
+ node_modules/
12
+
13
+ # ── Local secrets / config ────────────────────────────────────────────────────
14
+ .env
15
+ .env.*
16
+ CLAUDE.md
17
+
18
+ # ── VCS and editor noise ──────────────────────────────────────────────────────
19
+ .git/
20
+ .gitignore
21
+ .hfignore
22
+ .DS_Store
23
+ .idea/
24
+ .vscode/
25
+
26
+ # ── Build / generated artifacts ───────────────────────────────────────────────
27
+ *.egg-info/
28
+ dist/
29
+ build/
30
+ .pytest_cache/
31
+ .mypy_cache/
32
+ uv.lock
33
+
34
+ # ── Local outputs / logs ──────────────────────────────────────────────────────
35
+ outputs/
36
+ *.log
37
+ .github/
38
+
39
+ # ── Hackathon-internal docs (not for public HF Space) ────────────────────────
40
+ AI_ENGINEERING_PRINCIPLES.txt
41
+ RULES.md
42
+ Tasks.md
43
+
44
+ # ── Misc ──────────────────────────────────────────────────────────────────────
45
+ test_redirect.py
46
+ pre-val.sh
47
+ openenv_AML_env.egg-info/
48
+ openenv_tracefix_rl.egg-info/
Dockerfile ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ============================================================
2
+ # AML Investigator — OpenEnv Environment
3
+ # Hugging Face Spaces compliant Docker image
4
+ # ============================================================
5
+ #
6
+ # Build (from repo root):
7
+ # docker build -t aml-env .
8
+ #
9
+ # Run locally:
10
+ # docker run -p 7860:7860 aml-env
11
+ # ============================================================
12
+
13
+ FROM python:3.11-slim
14
+
15
+ # --- System dependencies -------------------------------------------------
16
+ # curl → healthcheck
17
+ # git → uv may resolve VCS dependencies (openenv from git)
18
+ RUN apt-get update && \
19
+ apt-get install -y --no-install-recommends curl git && \
20
+ rm -rf /var/lib/apt/lists/*
21
+
22
+ # --- Install uv ----------------------------------------------------------
23
+ # uv is the canonical package manager for this project (see uv.lock).
24
+ # We download the pre-built binary so Docker layer caching is fast.
25
+ RUN curl -LsSf https://astral.sh/uv/install.sh | sh && \
26
+ mv /root/.local/bin/uv /usr/local/bin/uv && \
27
+ mv /root/.local/bin/uvx /usr/local/bin/uvx
28
+
29
+ # --- Working directory ---------------------------------------------------
30
+ WORKDIR /app
31
+
32
+ # --- Copy full project context -------------------------------------------
33
+ # Copy everything so uv sync can resolve the full project graph.
34
+ # Unwanted paths are excluded via .dockerignore.
35
+ COPY . /app/
36
+
37
+ # --- Install dependencies via uv -----------------------------------------
38
+ # Use --frozen to honour the checked-in uv.lock for reproducibility.
39
+ # Falls back to a live resolve if uv.lock is absent (shouldn't happen).
40
+ RUN if [ -f uv.lock ]; then \
41
+ uv sync --frozen --no-editable; \
42
+ else \
43
+ uv sync --no-editable; \
44
+ fi
45
+
46
+ # --- Runtime environment -------------------------------------------------
47
+ # Add the uv-managed venv to PATH so uvicorn / python resolve correctly.
48
+ ENV PATH="/app/.venv/bin:$PATH"
49
+
50
+ # PYTHONPATH → repo root so that both of these import patterns work:
51
+ # from models import AmlAction (absolute, no package prefix)
52
+ # from server.AML_env_environment import AmlEnvironment
53
+ ENV PYTHONPATH="/app"
54
+
55
+ # Hugging Face Spaces mandates port 7860.
56
+ EXPOSE 7860
57
+
58
+ # --- Health check --------------------------------------------------------
59
+ HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
60
+ CMD curl -f http://localhost:7860/health || exit 1
61
+
62
+ # --- Start server --------------------------------------------------------
63
+ # Module path: server/app.py → server.app:app
64
+ CMD ["uvicorn", "server.app:app", "--host", "0.0.0.0", "--port", "7860"]
README.md CHANGED
@@ -5,7 +5,7 @@ colorFrom: indigo
5
  colorTo: red
6
  sdk: docker
7
  pinned: false
8
- app_port: 8000
9
  base_path: /web
10
  tags:
11
  - openenv
 
5
  colorTo: red
6
  sdk: docker
7
  pinned: false
8
+ app_port: 7860
9
  base_path: /web
10
  tags:
11
  - openenv
Tasks.md ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 1. The Environment Setup: The Noisy Haystack
2
+
3
+ Instead of 15 nodes, your mock database will now simulate a slice of a real bank with hundreds of entities and thousands of transactions.
4
+
5
+ The Noise (False Flags & Legitimate Activity):
6
+
7
+ Payroll & Utilities: 80% of transactions are just companies paying hundreds of employees or paying server hosting bills.
8
+
9
+ The "False Positive" Trap: An account transfers $12.50 to a coffee shop whose owner happens to share the exact name as someone on an international watchlist. The LLM must not waste its API budget investigating a coffee purchase.
10
+
11
+ High Fan-Out: When the agent queries an active corporate account, it won't get 3 transactions; it will get 150.
12
+
13
+ 2. The Tool Upgrades (Pagination is Mandatory)
14
+
15
+ Because the dataset is now massive, if the agent queries a major corporate account, returning 150 transactions will instantly blow up the context window and cause an Out-Of-Memory (OOM) failure for the LLM. You must introduce pagination to the tools.
16
+
17
+ query_transactions(account_id: str, limit: int = 10, offset: int = 0): The agent must actively choose to page through history or search by date ranges.
18
+
19
+ search_transactions_by_keyword(account_id: str, keyword: str): Allows the agent to search the "notes" or "memo" field (e.g., searching for "consulting" or "invoice") to filter noise.
20
+
21
+ get_kyc_record(entity_id: str): Returns corporate directors, registration addresses, and incorporation dates.
22
+
23
+ submit_decision(decision: Literal["FRAUD", "CLEAR"], evidence_links: List[str]): The final action.
24
+
25
+
26
+ Task 1: The False Positive Triage (Easy)
27
+
28
+ The Alert: The automated system flags ACC-101 (A local construction company) because it transferred $50,000 to ACC-909 (A newly registered entity in a high-risk jurisdiction).
29
+
30
+ The Environment State: ACC-101 has 200 normal transactions (buying lumber, paying contractors). The $50,000 transfer has the memo "Heavy Machinery Purchase - Unit 4".
31
+
32
+ The Trap: A naive model will see "High-Risk Jurisdiction," panic, and flag it as FRAUD.
33
+
34
+ The Solution Path: 1. The agent calls query_transactions('ACC-101').
35
+ 2. Reads the memo indicating a machinery purchase.
36
+ 3. Calls get_kyc_record('ACC-909') and sees it is registered as "Global Tractor Sales Ltd."
37
+ 4. Calls query_transactions('ACC-909') and sees 50 other legitimate inbound payments from global construction firms.
38
+ 5. Agent Action: Calls submit_decision("CLEAR"). The agent proves it can dismiss noise.
39
+
40
+ Task 2: The Smurf Network (Medium)
41
+
42
+ The Alert: The system flags ACC-200 (A used car dealership) for a sudden spike in cash deposits over a 5-day period.
43
+
44
+ The Environment State: The dealership has hundreds of regular car sale transactions. However, mixed into the ledger are 14 incoming cash deposits, all for exactly $9,900 or $9,500.
45
+
46
+ The Trap: The LLM must notice that these deposits are suspiciously just below the standard $10,000 AML reporting threshold.
47
+
48
+ The Solution Path:
49
+
50
+ The agent pages through query_transactions('ACC-200') and spots the pattern of $9,900 deposits.
51
+
52
+ The agent notes the senders: ACC-301, ACC-302, ACC-303 (The Smurfs).
53
+
54
+ The agent queries the KYC for those three accounts.
55
+
56
+ The KYC reveals all three accounts were opened on the exact same day, and they all list their occupation as "Student."
57
+
58
+ Agent Action: Calls submit_decision("FRAUD", ["ACC-301", "ACC-302", "ACC-303"]). The agent proves it can identify data anomalies (structuring) without a direct loop.
59
+
60
+ Task 3: The Ultimate Corporate Mirage (Hard)
61
+
62
+ The Alert: The system flags a $2.5 million transfer from ACC-500 (A major logistics firm) to ACC-700 (A generic consulting agency).
63
+
64
+ The Environment State: This is the massive haystack. ACC-500 has 500+ transactions. ACC-700 also has hundreds of transactions paying out to various vendors, charities, and payroll.
65
+
66
+ The Trap: ACC-500 also sends $100 to an entity named "Al-Qaeda Watchlist Target" (A complete false flag designed to bait the LLM into wasting its API budget).
67
+
68
+ The Solution Path:
69
+
70
+ Agent ignores the $100 false flag and focuses on the $2.5M transfer.
71
+
72
+ Agent queries ACC-700 (The consultant) and uses pagination or search tools to filter out payroll.
73
+
74
+ Agent finds that exactly 48 hours after receiving the $2.5M, ACC-700 transferred $2.4M to ACC-888 (An offshore holding company).
75
+
76
+ Agent queries get_kyc_record('ACC-888'). The director is listed as "Robert House."
77
+
78
+ Agent queries get_kyc_record('ACC-500') (The original sender). The director is listed as "Apex Management Corp."
79
+
80
+ Agent queries get_kyc_record('Apex Management Corp'). The CEO of Apex is "Robert House."
81
+
82
+ Agent Action: Calls submit_decision("FRAUD", ["ACC-500", "ACC-700", "ACC-888"]). The agent proves it can ignore severe false flags, navigate pagination, and cross-reference multi-hop KYC records to find the hidden loop.
data/accounts.json ADDED
@@ -0,0 +1,2062 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "account_id": "ACC-0001",
4
+ "owner_entity_id": "ENT-0284",
5
+ "status": "Active"
6
+ },
7
+ {
8
+ "account_id": "ACC-0002",
9
+ "owner_entity_id": "ENT-0006",
10
+ "status": "Active"
11
+ },
12
+ {
13
+ "account_id": "ACC-0003",
14
+ "owner_entity_id": "ENT-0059",
15
+ "status": "Active"
16
+ },
17
+ {
18
+ "account_id": "ACC-0004",
19
+ "owner_entity_id": "ENT-0275",
20
+ "status": "Active"
21
+ },
22
+ {
23
+ "account_id": "ACC-0005",
24
+ "owner_entity_id": "ENT-0175",
25
+ "status": "Active"
26
+ },
27
+ {
28
+ "account_id": "ACC-0006",
29
+ "owner_entity_id": "ENT-0223",
30
+ "status": "Active"
31
+ },
32
+ {
33
+ "account_id": "ACC-0007",
34
+ "owner_entity_id": "ENT-0002",
35
+ "status": "Closed"
36
+ },
37
+ {
38
+ "account_id": "ACC-0008",
39
+ "owner_entity_id": "ENT-0135",
40
+ "status": "Closed"
41
+ },
42
+ {
43
+ "account_id": "ACC-0009",
44
+ "owner_entity_id": "ENT-0092",
45
+ "status": "Active"
46
+ },
47
+ {
48
+ "account_id": "ACC-0010",
49
+ "owner_entity_id": "ENT-0055",
50
+ "status": "Active"
51
+ },
52
+ {
53
+ "account_id": "ACC-0011",
54
+ "owner_entity_id": "ENT-0153",
55
+ "status": "Active"
56
+ },
57
+ {
58
+ "account_id": "ACC-0012",
59
+ "owner_entity_id": "ENT-0260",
60
+ "status": "Active"
61
+ },
62
+ {
63
+ "account_id": "ACC-0013",
64
+ "owner_entity_id": "ENT-0079",
65
+ "status": "Active"
66
+ },
67
+ {
68
+ "account_id": "ACC-0014",
69
+ "owner_entity_id": "ENT-0083",
70
+ "status": "Active"
71
+ },
72
+ {
73
+ "account_id": "ACC-0015",
74
+ "owner_entity_id": "ENT-0272",
75
+ "status": "Active"
76
+ },
77
+ {
78
+ "account_id": "ACC-0016",
79
+ "owner_entity_id": "ENT-0166",
80
+ "status": "Active"
81
+ },
82
+ {
83
+ "account_id": "ACC-0017",
84
+ "owner_entity_id": "ENT-0058",
85
+ "status": "Active"
86
+ },
87
+ {
88
+ "account_id": "ACC-0018",
89
+ "owner_entity_id": "ENT-0158",
90
+ "status": "Active"
91
+ },
92
+ {
93
+ "account_id": "ACC-0019",
94
+ "owner_entity_id": "ENT-0124",
95
+ "status": "Active"
96
+ },
97
+ {
98
+ "account_id": "ACC-0020",
99
+ "owner_entity_id": "ENT-0041",
100
+ "status": "Active"
101
+ },
102
+ {
103
+ "account_id": "ACC-0021",
104
+ "owner_entity_id": "ENT-0249",
105
+ "status": "Active"
106
+ },
107
+ {
108
+ "account_id": "ACC-0022",
109
+ "owner_entity_id": "ENT-0273",
110
+ "status": "Active"
111
+ },
112
+ {
113
+ "account_id": "ACC-0023",
114
+ "owner_entity_id": "ENT-0066",
115
+ "status": "Active"
116
+ },
117
+ {
118
+ "account_id": "ACC-0024",
119
+ "owner_entity_id": "ENT-0282",
120
+ "status": "Active"
121
+ },
122
+ {
123
+ "account_id": "ACC-0025",
124
+ "owner_entity_id": "ENT-0271",
125
+ "status": "Active"
126
+ },
127
+ {
128
+ "account_id": "ACC-0026",
129
+ "owner_entity_id": "ENT-0217",
130
+ "status": "Closed"
131
+ },
132
+ {
133
+ "account_id": "ACC-0027",
134
+ "owner_entity_id": "ENT-0277",
135
+ "status": "Active"
136
+ },
137
+ {
138
+ "account_id": "ACC-0028",
139
+ "owner_entity_id": "ENT-0103",
140
+ "status": "Active"
141
+ },
142
+ {
143
+ "account_id": "ACC-0029",
144
+ "owner_entity_id": "ENT-0205",
145
+ "status": "Closed"
146
+ },
147
+ {
148
+ "account_id": "ACC-0030",
149
+ "owner_entity_id": "ENT-0192",
150
+ "status": "Active"
151
+ },
152
+ {
153
+ "account_id": "ACC-0031",
154
+ "owner_entity_id": "ENT-0265",
155
+ "status": "Active"
156
+ },
157
+ {
158
+ "account_id": "ACC-0032",
159
+ "owner_entity_id": "ENT-0127",
160
+ "status": "Active"
161
+ },
162
+ {
163
+ "account_id": "ACC-0033",
164
+ "owner_entity_id": "ENT-0174",
165
+ "status": "Active"
166
+ },
167
+ {
168
+ "account_id": "ACC-0034",
169
+ "owner_entity_id": "ENT-0284",
170
+ "status": "Active"
171
+ },
172
+ {
173
+ "account_id": "ACC-0035",
174
+ "owner_entity_id": "ENT-0113",
175
+ "status": "Active"
176
+ },
177
+ {
178
+ "account_id": "ACC-0036",
179
+ "owner_entity_id": "ENT-0031",
180
+ "status": "Active"
181
+ },
182
+ {
183
+ "account_id": "ACC-0037",
184
+ "owner_entity_id": "ENT-0017",
185
+ "status": "Active"
186
+ },
187
+ {
188
+ "account_id": "ACC-0038",
189
+ "owner_entity_id": "ENT-0037",
190
+ "status": "Active"
191
+ },
192
+ {
193
+ "account_id": "ACC-0039",
194
+ "owner_entity_id": "ENT-0143",
195
+ "status": "Active"
196
+ },
197
+ {
198
+ "account_id": "ACC-0040",
199
+ "owner_entity_id": "ENT-0110",
200
+ "status": "Active"
201
+ },
202
+ {
203
+ "account_id": "ACC-0041",
204
+ "owner_entity_id": "ENT-0293",
205
+ "status": "Active"
206
+ },
207
+ {
208
+ "account_id": "ACC-0042",
209
+ "owner_entity_id": "ENT-0125",
210
+ "status": "Active"
211
+ },
212
+ {
213
+ "account_id": "ACC-0043",
214
+ "owner_entity_id": "ENT-0209",
215
+ "status": "Active"
216
+ },
217
+ {
218
+ "account_id": "ACC-0044",
219
+ "owner_entity_id": "ENT-0050",
220
+ "status": "Active"
221
+ },
222
+ {
223
+ "account_id": "ACC-0045",
224
+ "owner_entity_id": "ENT-0182",
225
+ "status": "Active"
226
+ },
227
+ {
228
+ "account_id": "ACC-0046",
229
+ "owner_entity_id": "ENT-0240",
230
+ "status": "Active"
231
+ },
232
+ {
233
+ "account_id": "ACC-0047",
234
+ "owner_entity_id": "ENT-0028",
235
+ "status": "Active"
236
+ },
237
+ {
238
+ "account_id": "ACC-0048",
239
+ "owner_entity_id": "ENT-0051",
240
+ "status": "Active"
241
+ },
242
+ {
243
+ "account_id": "ACC-0049",
244
+ "owner_entity_id": "ENT-0174",
245
+ "status": "Active"
246
+ },
247
+ {
248
+ "account_id": "ACC-0050",
249
+ "owner_entity_id": "ENT-0056",
250
+ "status": "Active"
251
+ },
252
+ {
253
+ "account_id": "ACC-0051",
254
+ "owner_entity_id": "ENT-0098",
255
+ "status": "Active"
256
+ },
257
+ {
258
+ "account_id": "ACC-0052",
259
+ "owner_entity_id": "ENT-0072",
260
+ "status": "Active"
261
+ },
262
+ {
263
+ "account_id": "ACC-0053",
264
+ "owner_entity_id": "ENT-0143",
265
+ "status": "Active"
266
+ },
267
+ {
268
+ "account_id": "ACC-0054",
269
+ "owner_entity_id": "ENT-0039",
270
+ "status": "Active"
271
+ },
272
+ {
273
+ "account_id": "ACC-0055",
274
+ "owner_entity_id": "ENT-0282",
275
+ "status": "Active"
276
+ },
277
+ {
278
+ "account_id": "ACC-0056",
279
+ "owner_entity_id": "ENT-0277",
280
+ "status": "Active"
281
+ },
282
+ {
283
+ "account_id": "ACC-0057",
284
+ "owner_entity_id": "ENT-0048",
285
+ "status": "Active"
286
+ },
287
+ {
288
+ "account_id": "ACC-0058",
289
+ "owner_entity_id": "ENT-0122",
290
+ "status": "Active"
291
+ },
292
+ {
293
+ "account_id": "ACC-0059",
294
+ "owner_entity_id": "ENT-0249",
295
+ "status": "Active"
296
+ },
297
+ {
298
+ "account_id": "ACC-0060",
299
+ "owner_entity_id": "ENT-0206",
300
+ "status": "Active"
301
+ },
302
+ {
303
+ "account_id": "ACC-0061",
304
+ "owner_entity_id": "ENT-0085",
305
+ "status": "Active"
306
+ },
307
+ {
308
+ "account_id": "ACC-0062",
309
+ "owner_entity_id": "ENT-0200",
310
+ "status": "Active"
311
+ },
312
+ {
313
+ "account_id": "ACC-0063",
314
+ "owner_entity_id": "ENT-0233",
315
+ "status": "Active"
316
+ },
317
+ {
318
+ "account_id": "ACC-0064",
319
+ "owner_entity_id": "ENT-0285",
320
+ "status": "Active"
321
+ },
322
+ {
323
+ "account_id": "ACC-0065",
324
+ "owner_entity_id": "ENT-0250",
325
+ "status": "Active"
326
+ },
327
+ {
328
+ "account_id": "ACC-0066",
329
+ "owner_entity_id": "ENT-0152",
330
+ "status": "Active"
331
+ },
332
+ {
333
+ "account_id": "ACC-0067",
334
+ "owner_entity_id": "ENT-0030",
335
+ "status": "Active"
336
+ },
337
+ {
338
+ "account_id": "ACC-0068",
339
+ "owner_entity_id": "ENT-0278",
340
+ "status": "Active"
341
+ },
342
+ {
343
+ "account_id": "ACC-0069",
344
+ "owner_entity_id": "ENT-0161",
345
+ "status": "Active"
346
+ },
347
+ {
348
+ "account_id": "ACC-0070",
349
+ "owner_entity_id": "ENT-0300",
350
+ "status": "Active"
351
+ },
352
+ {
353
+ "account_id": "ACC-0071",
354
+ "owner_entity_id": "ENT-0272",
355
+ "status": "Active"
356
+ },
357
+ {
358
+ "account_id": "ACC-0072",
359
+ "owner_entity_id": "ENT-0261",
360
+ "status": "Active"
361
+ },
362
+ {
363
+ "account_id": "ACC-0073",
364
+ "owner_entity_id": "ENT-0096",
365
+ "status": "Active"
366
+ },
367
+ {
368
+ "account_id": "ACC-0074",
369
+ "owner_entity_id": "ENT-0035",
370
+ "status": "Active"
371
+ },
372
+ {
373
+ "account_id": "ACC-0075",
374
+ "owner_entity_id": "ENT-0121",
375
+ "status": "Active"
376
+ },
377
+ {
378
+ "account_id": "ACC-0076",
379
+ "owner_entity_id": "ENT-0292",
380
+ "status": "Active"
381
+ },
382
+ {
383
+ "account_id": "ACC-0077",
384
+ "owner_entity_id": "ENT-0021",
385
+ "status": "Active"
386
+ },
387
+ {
388
+ "account_id": "ACC-0078",
389
+ "owner_entity_id": "ENT-0215",
390
+ "status": "Active"
391
+ },
392
+ {
393
+ "account_id": "ACC-0079",
394
+ "owner_entity_id": "ENT-0290",
395
+ "status": "Active"
396
+ },
397
+ {
398
+ "account_id": "ACC-0080",
399
+ "owner_entity_id": "ENT-0134",
400
+ "status": "Active"
401
+ },
402
+ {
403
+ "account_id": "ACC-0081",
404
+ "owner_entity_id": "ENT-0161",
405
+ "status": "Active"
406
+ },
407
+ {
408
+ "account_id": "ACC-0082",
409
+ "owner_entity_id": "ENT-0203",
410
+ "status": "Active"
411
+ },
412
+ {
413
+ "account_id": "ACC-0083",
414
+ "owner_entity_id": "ENT-0154",
415
+ "status": "Active"
416
+ },
417
+ {
418
+ "account_id": "ACC-0084",
419
+ "owner_entity_id": "ENT-0038",
420
+ "status": "Active"
421
+ },
422
+ {
423
+ "account_id": "ACC-0085",
424
+ "owner_entity_id": "ENT-0289",
425
+ "status": "Closed"
426
+ },
427
+ {
428
+ "account_id": "ACC-0086",
429
+ "owner_entity_id": "ENT-0038",
430
+ "status": "Active"
431
+ },
432
+ {
433
+ "account_id": "ACC-0087",
434
+ "owner_entity_id": "ENT-0260",
435
+ "status": "Active"
436
+ },
437
+ {
438
+ "account_id": "ACC-0088",
439
+ "owner_entity_id": "ENT-0179",
440
+ "status": "Active"
441
+ },
442
+ {
443
+ "account_id": "ACC-0089",
444
+ "owner_entity_id": "ENT-0126",
445
+ "status": "Active"
446
+ },
447
+ {
448
+ "account_id": "ACC-0090",
449
+ "owner_entity_id": "ENT-0081",
450
+ "status": "Active"
451
+ },
452
+ {
453
+ "account_id": "ACC-0091",
454
+ "owner_entity_id": "ENT-0279",
455
+ "status": "Active"
456
+ },
457
+ {
458
+ "account_id": "ACC-0092",
459
+ "owner_entity_id": "ENT-0271",
460
+ "status": "Active"
461
+ },
462
+ {
463
+ "account_id": "ACC-0093",
464
+ "owner_entity_id": "ENT-0284",
465
+ "status": "Active"
466
+ },
467
+ {
468
+ "account_id": "ACC-0094",
469
+ "owner_entity_id": "ENT-0054",
470
+ "status": "Active"
471
+ },
472
+ {
473
+ "account_id": "ACC-0095",
474
+ "owner_entity_id": "ENT-0069",
475
+ "status": "Active"
476
+ },
477
+ {
478
+ "account_id": "ACC-0096",
479
+ "owner_entity_id": "ENT-0055",
480
+ "status": "Active"
481
+ },
482
+ {
483
+ "account_id": "ACC-0097",
484
+ "owner_entity_id": "ENT-0080",
485
+ "status": "Active"
486
+ },
487
+ {
488
+ "account_id": "ACC-0098",
489
+ "owner_entity_id": "ENT-0108",
490
+ "status": "Active"
491
+ },
492
+ {
493
+ "account_id": "ACC-0099",
494
+ "owner_entity_id": "ENT-0105",
495
+ "status": "Active"
496
+ },
497
+ {
498
+ "account_id": "ACC-0100",
499
+ "owner_entity_id": "ENT-0136",
500
+ "status": "Active"
501
+ },
502
+ {
503
+ "account_id": "ACC-0101",
504
+ "owner_entity_id": "ENT-0129",
505
+ "status": "Active"
506
+ },
507
+ {
508
+ "account_id": "ACC-0102",
509
+ "owner_entity_id": "ENT-0027",
510
+ "status": "Active"
511
+ },
512
+ {
513
+ "account_id": "ACC-0103",
514
+ "owner_entity_id": "ENT-0217",
515
+ "status": "Active"
516
+ },
517
+ {
518
+ "account_id": "ACC-0104",
519
+ "owner_entity_id": "ENT-0023",
520
+ "status": "Active"
521
+ },
522
+ {
523
+ "account_id": "ACC-0105",
524
+ "owner_entity_id": "ENT-0067",
525
+ "status": "Active"
526
+ },
527
+ {
528
+ "account_id": "ACC-0106",
529
+ "owner_entity_id": "ENT-0135",
530
+ "status": "Active"
531
+ },
532
+ {
533
+ "account_id": "ACC-0107",
534
+ "owner_entity_id": "ENT-0227",
535
+ "status": "Active"
536
+ },
537
+ {
538
+ "account_id": "ACC-0108",
539
+ "owner_entity_id": "ENT-0219",
540
+ "status": "Active"
541
+ },
542
+ {
543
+ "account_id": "ACC-0109",
544
+ "owner_entity_id": "ENT-0058",
545
+ "status": "Active"
546
+ },
547
+ {
548
+ "account_id": "ACC-0110",
549
+ "owner_entity_id": "ENT-0077",
550
+ "status": "Active"
551
+ },
552
+ {
553
+ "account_id": "ACC-0111",
554
+ "owner_entity_id": "ENT-0190",
555
+ "status": "Active"
556
+ },
557
+ {
558
+ "account_id": "ACC-0112",
559
+ "owner_entity_id": "ENT-0076",
560
+ "status": "Active"
561
+ },
562
+ {
563
+ "account_id": "ACC-0113",
564
+ "owner_entity_id": "ENT-0022",
565
+ "status": "Active"
566
+ },
567
+ {
568
+ "account_id": "ACC-0114",
569
+ "owner_entity_id": "ENT-0021",
570
+ "status": "Active"
571
+ },
572
+ {
573
+ "account_id": "ACC-0115",
574
+ "owner_entity_id": "ENT-0108",
575
+ "status": "Active"
576
+ },
577
+ {
578
+ "account_id": "ACC-0116",
579
+ "owner_entity_id": "ENT-0053",
580
+ "status": "Active"
581
+ },
582
+ {
583
+ "account_id": "ACC-0117",
584
+ "owner_entity_id": "ENT-0287",
585
+ "status": "Active"
586
+ },
587
+ {
588
+ "account_id": "ACC-0118",
589
+ "owner_entity_id": "ENT-0209",
590
+ "status": "Closed"
591
+ },
592
+ {
593
+ "account_id": "ACC-0119",
594
+ "owner_entity_id": "ENT-0080",
595
+ "status": "Active"
596
+ },
597
+ {
598
+ "account_id": "ACC-0120",
599
+ "owner_entity_id": "ENT-0122",
600
+ "status": "Active"
601
+ },
602
+ {
603
+ "account_id": "ACC-0121",
604
+ "owner_entity_id": "ENT-0091",
605
+ "status": "Active"
606
+ },
607
+ {
608
+ "account_id": "ACC-0122",
609
+ "owner_entity_id": "ENT-0013",
610
+ "status": "Active"
611
+ },
612
+ {
613
+ "account_id": "ACC-0123",
614
+ "owner_entity_id": "ENT-0171",
615
+ "status": "Active"
616
+ },
617
+ {
618
+ "account_id": "ACC-0124",
619
+ "owner_entity_id": "ENT-0211",
620
+ "status": "Active"
621
+ },
622
+ {
623
+ "account_id": "ACC-0125",
624
+ "owner_entity_id": "ENT-0128",
625
+ "status": "Active"
626
+ },
627
+ {
628
+ "account_id": "ACC-0126",
629
+ "owner_entity_id": "ENT-0056",
630
+ "status": "Active"
631
+ },
632
+ {
633
+ "account_id": "ACC-0127",
634
+ "owner_entity_id": "ENT-0020",
635
+ "status": "Active"
636
+ },
637
+ {
638
+ "account_id": "ACC-0128",
639
+ "owner_entity_id": "ENT-0114",
640
+ "status": "Active"
641
+ },
642
+ {
643
+ "account_id": "ACC-0129",
644
+ "owner_entity_id": "ENT-0236",
645
+ "status": "Active"
646
+ },
647
+ {
648
+ "account_id": "ACC-0130",
649
+ "owner_entity_id": "ENT-0117",
650
+ "status": "Active"
651
+ },
652
+ {
653
+ "account_id": "ACC-0131",
654
+ "owner_entity_id": "ENT-0099",
655
+ "status": "Active"
656
+ },
657
+ {
658
+ "account_id": "ACC-0132",
659
+ "owner_entity_id": "ENT-0143",
660
+ "status": "Active"
661
+ },
662
+ {
663
+ "account_id": "ACC-0133",
664
+ "owner_entity_id": "ENT-0143",
665
+ "status": "Active"
666
+ },
667
+ {
668
+ "account_id": "ACC-0134",
669
+ "owner_entity_id": "ENT-0261",
670
+ "status": "Active"
671
+ },
672
+ {
673
+ "account_id": "ACC-0135",
674
+ "owner_entity_id": "ENT-0275",
675
+ "status": "Active"
676
+ },
677
+ {
678
+ "account_id": "ACC-0136",
679
+ "owner_entity_id": "ENT-0015",
680
+ "status": "Active"
681
+ },
682
+ {
683
+ "account_id": "ACC-0137",
684
+ "owner_entity_id": "ENT-0134",
685
+ "status": "Active"
686
+ },
687
+ {
688
+ "account_id": "ACC-0138",
689
+ "owner_entity_id": "ENT-0136",
690
+ "status": "Active"
691
+ },
692
+ {
693
+ "account_id": "ACC-0139",
694
+ "owner_entity_id": "ENT-0223",
695
+ "status": "Active"
696
+ },
697
+ {
698
+ "account_id": "ACC-0140",
699
+ "owner_entity_id": "ENT-0161",
700
+ "status": "Active"
701
+ },
702
+ {
703
+ "account_id": "ACC-0141",
704
+ "owner_entity_id": "ENT-0262",
705
+ "status": "Active"
706
+ },
707
+ {
708
+ "account_id": "ACC-0142",
709
+ "owner_entity_id": "ENT-0296",
710
+ "status": "Active"
711
+ },
712
+ {
713
+ "account_id": "ACC-0143",
714
+ "owner_entity_id": "ENT-0023",
715
+ "status": "Active"
716
+ },
717
+ {
718
+ "account_id": "ACC-0144",
719
+ "owner_entity_id": "ENT-0001",
720
+ "status": "Active"
721
+ },
722
+ {
723
+ "account_id": "ACC-0145",
724
+ "owner_entity_id": "ENT-0276",
725
+ "status": "Active"
726
+ },
727
+ {
728
+ "account_id": "ACC-0146",
729
+ "owner_entity_id": "ENT-0101",
730
+ "status": "Active"
731
+ },
732
+ {
733
+ "account_id": "ACC-0147",
734
+ "owner_entity_id": "ENT-0036",
735
+ "status": "Active"
736
+ },
737
+ {
738
+ "account_id": "ACC-0148",
739
+ "owner_entity_id": "ENT-0170",
740
+ "status": "Active"
741
+ },
742
+ {
743
+ "account_id": "ACC-0149",
744
+ "owner_entity_id": "ENT-0064",
745
+ "status": "Active"
746
+ },
747
+ {
748
+ "account_id": "ACC-0150",
749
+ "owner_entity_id": "ENT-0154",
750
+ "status": "Active"
751
+ },
752
+ {
753
+ "account_id": "ACC-0151",
754
+ "owner_entity_id": "ENT-0210",
755
+ "status": "Active"
756
+ },
757
+ {
758
+ "account_id": "ACC-0152",
759
+ "owner_entity_id": "ENT-0152",
760
+ "status": "Active"
761
+ },
762
+ {
763
+ "account_id": "ACC-0153",
764
+ "owner_entity_id": "ENT-0099",
765
+ "status": "Active"
766
+ },
767
+ {
768
+ "account_id": "ACC-0154",
769
+ "owner_entity_id": "ENT-0195",
770
+ "status": "Active"
771
+ },
772
+ {
773
+ "account_id": "ACC-0155",
774
+ "owner_entity_id": "ENT-0090",
775
+ "status": "Active"
776
+ },
777
+ {
778
+ "account_id": "ACC-0156",
779
+ "owner_entity_id": "ENT-0155",
780
+ "status": "Active"
781
+ },
782
+ {
783
+ "account_id": "ACC-0157",
784
+ "owner_entity_id": "ENT-0001",
785
+ "status": "Active"
786
+ },
787
+ {
788
+ "account_id": "ACC-0158",
789
+ "owner_entity_id": "ENT-0108",
790
+ "status": "Active"
791
+ },
792
+ {
793
+ "account_id": "ACC-0159",
794
+ "owner_entity_id": "ENT-0297",
795
+ "status": "Active"
796
+ },
797
+ {
798
+ "account_id": "ACC-0160",
799
+ "owner_entity_id": "ENT-0165",
800
+ "status": "Active"
801
+ },
802
+ {
803
+ "account_id": "ACC-0161",
804
+ "owner_entity_id": "ENT-0227",
805
+ "status": "Active"
806
+ },
807
+ {
808
+ "account_id": "ACC-0162",
809
+ "owner_entity_id": "ENT-0262",
810
+ "status": "Active"
811
+ },
812
+ {
813
+ "account_id": "ACC-0163",
814
+ "owner_entity_id": "ENT-0087",
815
+ "status": "Active"
816
+ },
817
+ {
818
+ "account_id": "ACC-0164",
819
+ "owner_entity_id": "ENT-0146",
820
+ "status": "Active"
821
+ },
822
+ {
823
+ "account_id": "ACC-0165",
824
+ "owner_entity_id": "ENT-0172",
825
+ "status": "Active"
826
+ },
827
+ {
828
+ "account_id": "ACC-0166",
829
+ "owner_entity_id": "ENT-0121",
830
+ "status": "Active"
831
+ },
832
+ {
833
+ "account_id": "ACC-0167",
834
+ "owner_entity_id": "ENT-0116",
835
+ "status": "Active"
836
+ },
837
+ {
838
+ "account_id": "ACC-0168",
839
+ "owner_entity_id": "ENT-0076",
840
+ "status": "Active"
841
+ },
842
+ {
843
+ "account_id": "ACC-0169",
844
+ "owner_entity_id": "ENT-0126",
845
+ "status": "Closed"
846
+ },
847
+ {
848
+ "account_id": "ACC-0170",
849
+ "owner_entity_id": "ENT-0038",
850
+ "status": "Active"
851
+ },
852
+ {
853
+ "account_id": "ACC-0171",
854
+ "owner_entity_id": "ENT-0295",
855
+ "status": "Active"
856
+ },
857
+ {
858
+ "account_id": "ACC-0172",
859
+ "owner_entity_id": "ENT-0197",
860
+ "status": "Active"
861
+ },
862
+ {
863
+ "account_id": "ACC-0173",
864
+ "owner_entity_id": "ENT-0125",
865
+ "status": "Active"
866
+ },
867
+ {
868
+ "account_id": "ACC-0174",
869
+ "owner_entity_id": "ENT-0003",
870
+ "status": "Active"
871
+ },
872
+ {
873
+ "account_id": "ACC-0175",
874
+ "owner_entity_id": "ENT-0055",
875
+ "status": "Active"
876
+ },
877
+ {
878
+ "account_id": "ACC-0176",
879
+ "owner_entity_id": "ENT-0113",
880
+ "status": "Active"
881
+ },
882
+ {
883
+ "account_id": "ACC-0177",
884
+ "owner_entity_id": "ENT-0266",
885
+ "status": "Active"
886
+ },
887
+ {
888
+ "account_id": "ACC-0178",
889
+ "owner_entity_id": "ENT-0286",
890
+ "status": "Active"
891
+ },
892
+ {
893
+ "account_id": "ACC-0179",
894
+ "owner_entity_id": "ENT-0063",
895
+ "status": "Active"
896
+ },
897
+ {
898
+ "account_id": "ACC-0180",
899
+ "owner_entity_id": "ENT-0238",
900
+ "status": "Active"
901
+ },
902
+ {
903
+ "account_id": "ACC-0181",
904
+ "owner_entity_id": "ENT-0287",
905
+ "status": "Active"
906
+ },
907
+ {
908
+ "account_id": "ACC-0182",
909
+ "owner_entity_id": "ENT-0227",
910
+ "status": "Active"
911
+ },
912
+ {
913
+ "account_id": "ACC-0183",
914
+ "owner_entity_id": "ENT-0259",
915
+ "status": "Active"
916
+ },
917
+ {
918
+ "account_id": "ACC-0184",
919
+ "owner_entity_id": "ENT-0281",
920
+ "status": "Active"
921
+ },
922
+ {
923
+ "account_id": "ACC-0185",
924
+ "owner_entity_id": "ENT-0082",
925
+ "status": "Active"
926
+ },
927
+ {
928
+ "account_id": "ACC-0186",
929
+ "owner_entity_id": "ENT-0244",
930
+ "status": "Active"
931
+ },
932
+ {
933
+ "account_id": "ACC-0187",
934
+ "owner_entity_id": "ENT-0127",
935
+ "status": "Active"
936
+ },
937
+ {
938
+ "account_id": "ACC-0188",
939
+ "owner_entity_id": "ENT-0142",
940
+ "status": "Active"
941
+ },
942
+ {
943
+ "account_id": "ACC-0189",
944
+ "owner_entity_id": "ENT-0267",
945
+ "status": "Active"
946
+ },
947
+ {
948
+ "account_id": "ACC-0190",
949
+ "owner_entity_id": "ENT-0123",
950
+ "status": "Active"
951
+ },
952
+ {
953
+ "account_id": "ACC-0191",
954
+ "owner_entity_id": "ENT-0040",
955
+ "status": "Active"
956
+ },
957
+ {
958
+ "account_id": "ACC-0192",
959
+ "owner_entity_id": "ENT-0121",
960
+ "status": "Active"
961
+ },
962
+ {
963
+ "account_id": "ACC-0193",
964
+ "owner_entity_id": "ENT-0164",
965
+ "status": "Active"
966
+ },
967
+ {
968
+ "account_id": "ACC-0194",
969
+ "owner_entity_id": "ENT-0042",
970
+ "status": "Active"
971
+ },
972
+ {
973
+ "account_id": "ACC-0195",
974
+ "owner_entity_id": "ENT-0119",
975
+ "status": "Active"
976
+ },
977
+ {
978
+ "account_id": "ACC-0196",
979
+ "owner_entity_id": "ENT-0079",
980
+ "status": "Active"
981
+ },
982
+ {
983
+ "account_id": "ACC-0197",
984
+ "owner_entity_id": "ENT-0033",
985
+ "status": "Active"
986
+ },
987
+ {
988
+ "account_id": "ACC-0198",
989
+ "owner_entity_id": "ENT-0170",
990
+ "status": "Active"
991
+ },
992
+ {
993
+ "account_id": "ACC-0199",
994
+ "owner_entity_id": "ENT-0213",
995
+ "status": "Active"
996
+ },
997
+ {
998
+ "account_id": "ACC-0200",
999
+ "owner_entity_id": "ENT-0216",
1000
+ "status": "Active"
1001
+ },
1002
+ {
1003
+ "account_id": "ACC-0201",
1004
+ "owner_entity_id": "ENT-0300",
1005
+ "status": "Active"
1006
+ },
1007
+ {
1008
+ "account_id": "ACC-0202",
1009
+ "owner_entity_id": "ENT-0011",
1010
+ "status": "Active"
1011
+ },
1012
+ {
1013
+ "account_id": "ACC-0203",
1014
+ "owner_entity_id": "ENT-0295",
1015
+ "status": "Active"
1016
+ },
1017
+ {
1018
+ "account_id": "ACC-0204",
1019
+ "owner_entity_id": "ENT-0004",
1020
+ "status": "Active"
1021
+ },
1022
+ {
1023
+ "account_id": "ACC-0205",
1024
+ "owner_entity_id": "ENT-0153",
1025
+ "status": "Active"
1026
+ },
1027
+ {
1028
+ "account_id": "ACC-0206",
1029
+ "owner_entity_id": "ENT-0215",
1030
+ "status": "Active"
1031
+ },
1032
+ {
1033
+ "account_id": "ACC-0207",
1034
+ "owner_entity_id": "ENT-0280",
1035
+ "status": "Active"
1036
+ },
1037
+ {
1038
+ "account_id": "ACC-0208",
1039
+ "owner_entity_id": "ENT-0113",
1040
+ "status": "Active"
1041
+ },
1042
+ {
1043
+ "account_id": "ACC-0209",
1044
+ "owner_entity_id": "ENT-0140",
1045
+ "status": "Active"
1046
+ },
1047
+ {
1048
+ "account_id": "ACC-0210",
1049
+ "owner_entity_id": "ENT-0015",
1050
+ "status": "Active"
1051
+ },
1052
+ {
1053
+ "account_id": "ACC-0211",
1054
+ "owner_entity_id": "ENT-0208",
1055
+ "status": "Active"
1056
+ },
1057
+ {
1058
+ "account_id": "ACC-0212",
1059
+ "owner_entity_id": "ENT-0240",
1060
+ "status": "Active"
1061
+ },
1062
+ {
1063
+ "account_id": "ACC-0213",
1064
+ "owner_entity_id": "ENT-0274",
1065
+ "status": "Active"
1066
+ },
1067
+ {
1068
+ "account_id": "ACC-0214",
1069
+ "owner_entity_id": "ENT-0202",
1070
+ "status": "Active"
1071
+ },
1072
+ {
1073
+ "account_id": "ACC-0215",
1074
+ "owner_entity_id": "ENT-0014",
1075
+ "status": "Active"
1076
+ },
1077
+ {
1078
+ "account_id": "ACC-0216",
1079
+ "owner_entity_id": "ENT-0220",
1080
+ "status": "Active"
1081
+ },
1082
+ {
1083
+ "account_id": "ACC-0217",
1084
+ "owner_entity_id": "ENT-0237",
1085
+ "status": "Active"
1086
+ },
1087
+ {
1088
+ "account_id": "ACC-0218",
1089
+ "owner_entity_id": "ENT-0134",
1090
+ "status": "Active"
1091
+ },
1092
+ {
1093
+ "account_id": "ACC-0219",
1094
+ "owner_entity_id": "ENT-0109",
1095
+ "status": "Active"
1096
+ },
1097
+ {
1098
+ "account_id": "ACC-0220",
1099
+ "owner_entity_id": "ENT-0173",
1100
+ "status": "Active"
1101
+ },
1102
+ {
1103
+ "account_id": "ACC-0221",
1104
+ "owner_entity_id": "ENT-0195",
1105
+ "status": "Active"
1106
+ },
1107
+ {
1108
+ "account_id": "ACC-0222",
1109
+ "owner_entity_id": "ENT-0216",
1110
+ "status": "Active"
1111
+ },
1112
+ {
1113
+ "account_id": "ACC-0223",
1114
+ "owner_entity_id": "ENT-0042",
1115
+ "status": "Active"
1116
+ },
1117
+ {
1118
+ "account_id": "ACC-0224",
1119
+ "owner_entity_id": "ENT-0277",
1120
+ "status": "Active"
1121
+ },
1122
+ {
1123
+ "account_id": "ACC-0225",
1124
+ "owner_entity_id": "ENT-0180",
1125
+ "status": "Active"
1126
+ },
1127
+ {
1128
+ "account_id": "ACC-0226",
1129
+ "owner_entity_id": "ENT-0036",
1130
+ "status": "Active"
1131
+ },
1132
+ {
1133
+ "account_id": "ACC-0227",
1134
+ "owner_entity_id": "ENT-0021",
1135
+ "status": "Active"
1136
+ },
1137
+ {
1138
+ "account_id": "ACC-0228",
1139
+ "owner_entity_id": "ENT-0127",
1140
+ "status": "Active"
1141
+ },
1142
+ {
1143
+ "account_id": "ACC-0229",
1144
+ "owner_entity_id": "ENT-0011",
1145
+ "status": "Active"
1146
+ },
1147
+ {
1148
+ "account_id": "ACC-0230",
1149
+ "owner_entity_id": "ENT-0123",
1150
+ "status": "Active"
1151
+ },
1152
+ {
1153
+ "account_id": "ACC-0231",
1154
+ "owner_entity_id": "ENT-0059",
1155
+ "status": "Active"
1156
+ },
1157
+ {
1158
+ "account_id": "ACC-0232",
1159
+ "owner_entity_id": "ENT-0112",
1160
+ "status": "Active"
1161
+ },
1162
+ {
1163
+ "account_id": "ACC-0233",
1164
+ "owner_entity_id": "ENT-0132",
1165
+ "status": "Active"
1166
+ },
1167
+ {
1168
+ "account_id": "ACC-0234",
1169
+ "owner_entity_id": "ENT-0086",
1170
+ "status": "Active"
1171
+ },
1172
+ {
1173
+ "account_id": "ACC-0235",
1174
+ "owner_entity_id": "ENT-0059",
1175
+ "status": "Active"
1176
+ },
1177
+ {
1178
+ "account_id": "ACC-0236",
1179
+ "owner_entity_id": "ENT-0084",
1180
+ "status": "Closed"
1181
+ },
1182
+ {
1183
+ "account_id": "ACC-0237",
1184
+ "owner_entity_id": "ENT-0056",
1185
+ "status": "Active"
1186
+ },
1187
+ {
1188
+ "account_id": "ACC-0238",
1189
+ "owner_entity_id": "ENT-0160",
1190
+ "status": "Active"
1191
+ },
1192
+ {
1193
+ "account_id": "ACC-0239",
1194
+ "owner_entity_id": "ENT-0193",
1195
+ "status": "Active"
1196
+ },
1197
+ {
1198
+ "account_id": "ACC-0240",
1199
+ "owner_entity_id": "ENT-0102",
1200
+ "status": "Active"
1201
+ },
1202
+ {
1203
+ "account_id": "ACC-0241",
1204
+ "owner_entity_id": "ENT-0125",
1205
+ "status": "Active"
1206
+ },
1207
+ {
1208
+ "account_id": "ACC-0242",
1209
+ "owner_entity_id": "ENT-0155",
1210
+ "status": "Active"
1211
+ },
1212
+ {
1213
+ "account_id": "ACC-0243",
1214
+ "owner_entity_id": "ENT-0062",
1215
+ "status": "Active"
1216
+ },
1217
+ {
1218
+ "account_id": "ACC-0244",
1219
+ "owner_entity_id": "ENT-0290",
1220
+ "status": "Active"
1221
+ },
1222
+ {
1223
+ "account_id": "ACC-0245",
1224
+ "owner_entity_id": "ENT-0178",
1225
+ "status": "Active"
1226
+ },
1227
+ {
1228
+ "account_id": "ACC-0246",
1229
+ "owner_entity_id": "ENT-0190",
1230
+ "status": "Active"
1231
+ },
1232
+ {
1233
+ "account_id": "ACC-0247",
1234
+ "owner_entity_id": "ENT-0175",
1235
+ "status": "Active"
1236
+ },
1237
+ {
1238
+ "account_id": "ACC-0248",
1239
+ "owner_entity_id": "ENT-0216",
1240
+ "status": "Active"
1241
+ },
1242
+ {
1243
+ "account_id": "ACC-0249",
1244
+ "owner_entity_id": "ENT-0055",
1245
+ "status": "Active"
1246
+ },
1247
+ {
1248
+ "account_id": "ACC-0250",
1249
+ "owner_entity_id": "ENT-0186",
1250
+ "status": "Active"
1251
+ },
1252
+ {
1253
+ "account_id": "ACC-0251",
1254
+ "owner_entity_id": "ENT-0236",
1255
+ "status": "Active"
1256
+ },
1257
+ {
1258
+ "account_id": "ACC-0252",
1259
+ "owner_entity_id": "ENT-0223",
1260
+ "status": "Active"
1261
+ },
1262
+ {
1263
+ "account_id": "ACC-0253",
1264
+ "owner_entity_id": "ENT-0268",
1265
+ "status": "Closed"
1266
+ },
1267
+ {
1268
+ "account_id": "ACC-0254",
1269
+ "owner_entity_id": "ENT-0139",
1270
+ "status": "Active"
1271
+ },
1272
+ {
1273
+ "account_id": "ACC-0255",
1274
+ "owner_entity_id": "ENT-0276",
1275
+ "status": "Active"
1276
+ },
1277
+ {
1278
+ "account_id": "ACC-0256",
1279
+ "owner_entity_id": "ENT-0239",
1280
+ "status": "Active"
1281
+ },
1282
+ {
1283
+ "account_id": "ACC-0257",
1284
+ "owner_entity_id": "ENT-0138",
1285
+ "status": "Active"
1286
+ },
1287
+ {
1288
+ "account_id": "ACC-0258",
1289
+ "owner_entity_id": "ENT-0126",
1290
+ "status": "Active"
1291
+ },
1292
+ {
1293
+ "account_id": "ACC-0259",
1294
+ "owner_entity_id": "ENT-0045",
1295
+ "status": "Active"
1296
+ },
1297
+ {
1298
+ "account_id": "ACC-0260",
1299
+ "owner_entity_id": "ENT-0231",
1300
+ "status": "Active"
1301
+ },
1302
+ {
1303
+ "account_id": "ACC-0261",
1304
+ "owner_entity_id": "ENT-0238",
1305
+ "status": "Active"
1306
+ },
1307
+ {
1308
+ "account_id": "ACC-0262",
1309
+ "owner_entity_id": "ENT-0195",
1310
+ "status": "Active"
1311
+ },
1312
+ {
1313
+ "account_id": "ACC-0263",
1314
+ "owner_entity_id": "ENT-0254",
1315
+ "status": "Active"
1316
+ },
1317
+ {
1318
+ "account_id": "ACC-0264",
1319
+ "owner_entity_id": "ENT-0094",
1320
+ "status": "Active"
1321
+ },
1322
+ {
1323
+ "account_id": "ACC-0265",
1324
+ "owner_entity_id": "ENT-0182",
1325
+ "status": "Active"
1326
+ },
1327
+ {
1328
+ "account_id": "ACC-0266",
1329
+ "owner_entity_id": "ENT-0175",
1330
+ "status": "Active"
1331
+ },
1332
+ {
1333
+ "account_id": "ACC-0267",
1334
+ "owner_entity_id": "ENT-0142",
1335
+ "status": "Active"
1336
+ },
1337
+ {
1338
+ "account_id": "ACC-0268",
1339
+ "owner_entity_id": "ENT-0265",
1340
+ "status": "Active"
1341
+ },
1342
+ {
1343
+ "account_id": "ACC-0269",
1344
+ "owner_entity_id": "ENT-0044",
1345
+ "status": "Active"
1346
+ },
1347
+ {
1348
+ "account_id": "ACC-0270",
1349
+ "owner_entity_id": "ENT-0209",
1350
+ "status": "Active"
1351
+ },
1352
+ {
1353
+ "account_id": "ACC-0271",
1354
+ "owner_entity_id": "ENT-0124",
1355
+ "status": "Active"
1356
+ },
1357
+ {
1358
+ "account_id": "ACC-0272",
1359
+ "owner_entity_id": "ENT-0252",
1360
+ "status": "Active"
1361
+ },
1362
+ {
1363
+ "account_id": "ACC-0273",
1364
+ "owner_entity_id": "ENT-0009",
1365
+ "status": "Active"
1366
+ },
1367
+ {
1368
+ "account_id": "ACC-0274",
1369
+ "owner_entity_id": "ENT-0114",
1370
+ "status": "Active"
1371
+ },
1372
+ {
1373
+ "account_id": "ACC-0275",
1374
+ "owner_entity_id": "ENT-0125",
1375
+ "status": "Active"
1376
+ },
1377
+ {
1378
+ "account_id": "ACC-0276",
1379
+ "owner_entity_id": "ENT-0298",
1380
+ "status": "Active"
1381
+ },
1382
+ {
1383
+ "account_id": "ACC-0277",
1384
+ "owner_entity_id": "ENT-0284",
1385
+ "status": "Active"
1386
+ },
1387
+ {
1388
+ "account_id": "ACC-0278",
1389
+ "owner_entity_id": "ENT-0218",
1390
+ "status": "Closed"
1391
+ },
1392
+ {
1393
+ "account_id": "ACC-0279",
1394
+ "owner_entity_id": "ENT-0282",
1395
+ "status": "Active"
1396
+ },
1397
+ {
1398
+ "account_id": "ACC-0280",
1399
+ "owner_entity_id": "ENT-0233",
1400
+ "status": "Active"
1401
+ },
1402
+ {
1403
+ "account_id": "ACC-0281",
1404
+ "owner_entity_id": "ENT-0129",
1405
+ "status": "Active"
1406
+ },
1407
+ {
1408
+ "account_id": "ACC-0282",
1409
+ "owner_entity_id": "ENT-0099",
1410
+ "status": "Active"
1411
+ },
1412
+ {
1413
+ "account_id": "ACC-0283",
1414
+ "owner_entity_id": "ENT-0275",
1415
+ "status": "Closed"
1416
+ },
1417
+ {
1418
+ "account_id": "ACC-0284",
1419
+ "owner_entity_id": "ENT-0095",
1420
+ "status": "Active"
1421
+ },
1422
+ {
1423
+ "account_id": "ACC-0285",
1424
+ "owner_entity_id": "ENT-0248",
1425
+ "status": "Active"
1426
+ },
1427
+ {
1428
+ "account_id": "ACC-0286",
1429
+ "owner_entity_id": "ENT-0269",
1430
+ "status": "Active"
1431
+ },
1432
+ {
1433
+ "account_id": "ACC-0287",
1434
+ "owner_entity_id": "ENT-0052",
1435
+ "status": "Active"
1436
+ },
1437
+ {
1438
+ "account_id": "ACC-0288",
1439
+ "owner_entity_id": "ENT-0152",
1440
+ "status": "Active"
1441
+ },
1442
+ {
1443
+ "account_id": "ACC-0289",
1444
+ "owner_entity_id": "ENT-0092",
1445
+ "status": "Active"
1446
+ },
1447
+ {
1448
+ "account_id": "ACC-0290",
1449
+ "owner_entity_id": "ENT-0274",
1450
+ "status": "Active"
1451
+ },
1452
+ {
1453
+ "account_id": "ACC-0291",
1454
+ "owner_entity_id": "ENT-0024",
1455
+ "status": "Closed"
1456
+ },
1457
+ {
1458
+ "account_id": "ACC-0292",
1459
+ "owner_entity_id": "ENT-0284",
1460
+ "status": "Active"
1461
+ },
1462
+ {
1463
+ "account_id": "ACC-0293",
1464
+ "owner_entity_id": "ENT-0065",
1465
+ "status": "Active"
1466
+ },
1467
+ {
1468
+ "account_id": "ACC-0294",
1469
+ "owner_entity_id": "ENT-0252",
1470
+ "status": "Active"
1471
+ },
1472
+ {
1473
+ "account_id": "ACC-0295",
1474
+ "owner_entity_id": "ENT-0007",
1475
+ "status": "Active"
1476
+ },
1477
+ {
1478
+ "account_id": "ACC-0296",
1479
+ "owner_entity_id": "ENT-0241",
1480
+ "status": "Active"
1481
+ },
1482
+ {
1483
+ "account_id": "ACC-0297",
1484
+ "owner_entity_id": "ENT-0175",
1485
+ "status": "Active"
1486
+ },
1487
+ {
1488
+ "account_id": "ACC-0298",
1489
+ "owner_entity_id": "ENT-0027",
1490
+ "status": "Active"
1491
+ },
1492
+ {
1493
+ "account_id": "ACC-0299",
1494
+ "owner_entity_id": "ENT-0245",
1495
+ "status": "Active"
1496
+ },
1497
+ {
1498
+ "account_id": "ACC-0300",
1499
+ "owner_entity_id": "ENT-0034",
1500
+ "status": "Active"
1501
+ },
1502
+ {
1503
+ "account_id": "ACC-0301",
1504
+ "owner_entity_id": "ENT-0038",
1505
+ "status": "Active"
1506
+ },
1507
+ {
1508
+ "account_id": "ACC-0302",
1509
+ "owner_entity_id": "ENT-0028",
1510
+ "status": "Active"
1511
+ },
1512
+ {
1513
+ "account_id": "ACC-0303",
1514
+ "owner_entity_id": "ENT-0289",
1515
+ "status": "Active"
1516
+ },
1517
+ {
1518
+ "account_id": "ACC-0304",
1519
+ "owner_entity_id": "ENT-0044",
1520
+ "status": "Closed"
1521
+ },
1522
+ {
1523
+ "account_id": "ACC-0305",
1524
+ "owner_entity_id": "ENT-0061",
1525
+ "status": "Active"
1526
+ },
1527
+ {
1528
+ "account_id": "ACC-0306",
1529
+ "owner_entity_id": "ENT-0214",
1530
+ "status": "Active"
1531
+ },
1532
+ {
1533
+ "account_id": "ACC-0307",
1534
+ "owner_entity_id": "ENT-0116",
1535
+ "status": "Active"
1536
+ },
1537
+ {
1538
+ "account_id": "ACC-0308",
1539
+ "owner_entity_id": "ENT-0195",
1540
+ "status": "Active"
1541
+ },
1542
+ {
1543
+ "account_id": "ACC-0309",
1544
+ "owner_entity_id": "ENT-0227",
1545
+ "status": "Active"
1546
+ },
1547
+ {
1548
+ "account_id": "ACC-0310",
1549
+ "owner_entity_id": "ENT-0220",
1550
+ "status": "Active"
1551
+ },
1552
+ {
1553
+ "account_id": "ACC-0311",
1554
+ "owner_entity_id": "ENT-0031",
1555
+ "status": "Active"
1556
+ },
1557
+ {
1558
+ "account_id": "ACC-0312",
1559
+ "owner_entity_id": "ENT-0051",
1560
+ "status": "Active"
1561
+ },
1562
+ {
1563
+ "account_id": "ACC-0313",
1564
+ "owner_entity_id": "ENT-0107",
1565
+ "status": "Active"
1566
+ },
1567
+ {
1568
+ "account_id": "ACC-0314",
1569
+ "owner_entity_id": "ENT-0136",
1570
+ "status": "Active"
1571
+ },
1572
+ {
1573
+ "account_id": "ACC-0315",
1574
+ "owner_entity_id": "ENT-0081",
1575
+ "status": "Active"
1576
+ },
1577
+ {
1578
+ "account_id": "ACC-0316",
1579
+ "owner_entity_id": "ENT-0283",
1580
+ "status": "Active"
1581
+ },
1582
+ {
1583
+ "account_id": "ACC-0317",
1584
+ "owner_entity_id": "ENT-0002",
1585
+ "status": "Active"
1586
+ },
1587
+ {
1588
+ "account_id": "ACC-0318",
1589
+ "owner_entity_id": "ENT-0241",
1590
+ "status": "Active"
1591
+ },
1592
+ {
1593
+ "account_id": "ACC-0319",
1594
+ "owner_entity_id": "ENT-0119",
1595
+ "status": "Active"
1596
+ },
1597
+ {
1598
+ "account_id": "ACC-0320",
1599
+ "owner_entity_id": "ENT-0145",
1600
+ "status": "Active"
1601
+ },
1602
+ {
1603
+ "account_id": "ACC-0321",
1604
+ "owner_entity_id": "ENT-0233",
1605
+ "status": "Active"
1606
+ },
1607
+ {
1608
+ "account_id": "ACC-0322",
1609
+ "owner_entity_id": "ENT-0120",
1610
+ "status": "Active"
1611
+ },
1612
+ {
1613
+ "account_id": "ACC-0323",
1614
+ "owner_entity_id": "ENT-0102",
1615
+ "status": "Active"
1616
+ },
1617
+ {
1618
+ "account_id": "ACC-0324",
1619
+ "owner_entity_id": "ENT-0279",
1620
+ "status": "Active"
1621
+ },
1622
+ {
1623
+ "account_id": "ACC-0325",
1624
+ "owner_entity_id": "ENT-0077",
1625
+ "status": "Active"
1626
+ },
1627
+ {
1628
+ "account_id": "ACC-0326",
1629
+ "owner_entity_id": "ENT-0073",
1630
+ "status": "Active"
1631
+ },
1632
+ {
1633
+ "account_id": "ACC-0327",
1634
+ "owner_entity_id": "ENT-0085",
1635
+ "status": "Active"
1636
+ },
1637
+ {
1638
+ "account_id": "ACC-0328",
1639
+ "owner_entity_id": "ENT-0292",
1640
+ "status": "Active"
1641
+ },
1642
+ {
1643
+ "account_id": "ACC-0329",
1644
+ "owner_entity_id": "ENT-0225",
1645
+ "status": "Active"
1646
+ },
1647
+ {
1648
+ "account_id": "ACC-0330",
1649
+ "owner_entity_id": "ENT-0156",
1650
+ "status": "Active"
1651
+ },
1652
+ {
1653
+ "account_id": "ACC-0331",
1654
+ "owner_entity_id": "ENT-0140",
1655
+ "status": "Active"
1656
+ },
1657
+ {
1658
+ "account_id": "ACC-0332",
1659
+ "owner_entity_id": "ENT-0253",
1660
+ "status": "Active"
1661
+ },
1662
+ {
1663
+ "account_id": "ACC-0333",
1664
+ "owner_entity_id": "ENT-0021",
1665
+ "status": "Active"
1666
+ },
1667
+ {
1668
+ "account_id": "ACC-0334",
1669
+ "owner_entity_id": "ENT-0166",
1670
+ "status": "Active"
1671
+ },
1672
+ {
1673
+ "account_id": "ACC-0335",
1674
+ "owner_entity_id": "ENT-0014",
1675
+ "status": "Active"
1676
+ },
1677
+ {
1678
+ "account_id": "ACC-0336",
1679
+ "owner_entity_id": "ENT-0295",
1680
+ "status": "Active"
1681
+ },
1682
+ {
1683
+ "account_id": "ACC-0337",
1684
+ "owner_entity_id": "ENT-0011",
1685
+ "status": "Closed"
1686
+ },
1687
+ {
1688
+ "account_id": "ACC-0338",
1689
+ "owner_entity_id": "ENT-0138",
1690
+ "status": "Active"
1691
+ },
1692
+ {
1693
+ "account_id": "ACC-0339",
1694
+ "owner_entity_id": "ENT-0090",
1695
+ "status": "Active"
1696
+ },
1697
+ {
1698
+ "account_id": "ACC-0340",
1699
+ "owner_entity_id": "ENT-0227",
1700
+ "status": "Active"
1701
+ },
1702
+ {
1703
+ "account_id": "ACC-0341",
1704
+ "owner_entity_id": "ENT-0093",
1705
+ "status": "Closed"
1706
+ },
1707
+ {
1708
+ "account_id": "ACC-0342",
1709
+ "owner_entity_id": "ENT-0224",
1710
+ "status": "Active"
1711
+ },
1712
+ {
1713
+ "account_id": "ACC-0343",
1714
+ "owner_entity_id": "ENT-0252",
1715
+ "status": "Closed"
1716
+ },
1717
+ {
1718
+ "account_id": "ACC-0344",
1719
+ "owner_entity_id": "ENT-0241",
1720
+ "status": "Active"
1721
+ },
1722
+ {
1723
+ "account_id": "ACC-0345",
1724
+ "owner_entity_id": "ENT-0171",
1725
+ "status": "Active"
1726
+ },
1727
+ {
1728
+ "account_id": "ACC-0346",
1729
+ "owner_entity_id": "ENT-0054",
1730
+ "status": "Active"
1731
+ },
1732
+ {
1733
+ "account_id": "ACC-0347",
1734
+ "owner_entity_id": "ENT-0169",
1735
+ "status": "Active"
1736
+ },
1737
+ {
1738
+ "account_id": "ACC-0348",
1739
+ "owner_entity_id": "ENT-0254",
1740
+ "status": "Active"
1741
+ },
1742
+ {
1743
+ "account_id": "ACC-0349",
1744
+ "owner_entity_id": "ENT-0206",
1745
+ "status": "Active"
1746
+ },
1747
+ {
1748
+ "account_id": "ACC-0350",
1749
+ "owner_entity_id": "ENT-0282",
1750
+ "status": "Active"
1751
+ },
1752
+ {
1753
+ "account_id": "ACC-0351",
1754
+ "owner_entity_id": "ENT-0046",
1755
+ "status": "Active"
1756
+ },
1757
+ {
1758
+ "account_id": "ACC-0352",
1759
+ "owner_entity_id": "ENT-0166",
1760
+ "status": "Active"
1761
+ },
1762
+ {
1763
+ "account_id": "ACC-0353",
1764
+ "owner_entity_id": "ENT-0207",
1765
+ "status": "Active"
1766
+ },
1767
+ {
1768
+ "account_id": "ACC-0354",
1769
+ "owner_entity_id": "ENT-0001",
1770
+ "status": "Active"
1771
+ },
1772
+ {
1773
+ "account_id": "ACC-0355",
1774
+ "owner_entity_id": "ENT-0278",
1775
+ "status": "Active"
1776
+ },
1777
+ {
1778
+ "account_id": "ACC-0356",
1779
+ "owner_entity_id": "ENT-0028",
1780
+ "status": "Active"
1781
+ },
1782
+ {
1783
+ "account_id": "ACC-0357",
1784
+ "owner_entity_id": "ENT-0186",
1785
+ "status": "Active"
1786
+ },
1787
+ {
1788
+ "account_id": "ACC-0358",
1789
+ "owner_entity_id": "ENT-0256",
1790
+ "status": "Active"
1791
+ },
1792
+ {
1793
+ "account_id": "ACC-0359",
1794
+ "owner_entity_id": "ENT-0027",
1795
+ "status": "Active"
1796
+ },
1797
+ {
1798
+ "account_id": "ACC-0360",
1799
+ "owner_entity_id": "ENT-0282",
1800
+ "status": "Active"
1801
+ },
1802
+ {
1803
+ "account_id": "ACC-0361",
1804
+ "owner_entity_id": "ENT-0148",
1805
+ "status": "Active"
1806
+ },
1807
+ {
1808
+ "account_id": "ACC-0362",
1809
+ "owner_entity_id": "ENT-0249",
1810
+ "status": "Active"
1811
+ },
1812
+ {
1813
+ "account_id": "ACC-0363",
1814
+ "owner_entity_id": "ENT-0123",
1815
+ "status": "Active"
1816
+ },
1817
+ {
1818
+ "account_id": "ACC-0364",
1819
+ "owner_entity_id": "ENT-0160",
1820
+ "status": "Active"
1821
+ },
1822
+ {
1823
+ "account_id": "ACC-0365",
1824
+ "owner_entity_id": "ENT-0283",
1825
+ "status": "Active"
1826
+ },
1827
+ {
1828
+ "account_id": "ACC-0366",
1829
+ "owner_entity_id": "ENT-0116",
1830
+ "status": "Closed"
1831
+ },
1832
+ {
1833
+ "account_id": "ACC-0367",
1834
+ "owner_entity_id": "ENT-0059",
1835
+ "status": "Active"
1836
+ },
1837
+ {
1838
+ "account_id": "ACC-0368",
1839
+ "owner_entity_id": "ENT-0061",
1840
+ "status": "Active"
1841
+ },
1842
+ {
1843
+ "account_id": "ACC-0369",
1844
+ "owner_entity_id": "ENT-0079",
1845
+ "status": "Active"
1846
+ },
1847
+ {
1848
+ "account_id": "ACC-0370",
1849
+ "owner_entity_id": "ENT-0150",
1850
+ "status": "Active"
1851
+ },
1852
+ {
1853
+ "account_id": "ACC-0371",
1854
+ "owner_entity_id": "ENT-0140",
1855
+ "status": "Active"
1856
+ },
1857
+ {
1858
+ "account_id": "ACC-0372",
1859
+ "owner_entity_id": "ENT-0248",
1860
+ "status": "Closed"
1861
+ },
1862
+ {
1863
+ "account_id": "ACC-0373",
1864
+ "owner_entity_id": "ENT-0125",
1865
+ "status": "Active"
1866
+ },
1867
+ {
1868
+ "account_id": "ACC-0374",
1869
+ "owner_entity_id": "ENT-0075",
1870
+ "status": "Active"
1871
+ },
1872
+ {
1873
+ "account_id": "ACC-0375",
1874
+ "owner_entity_id": "ENT-0261",
1875
+ "status": "Active"
1876
+ },
1877
+ {
1878
+ "account_id": "ACC-0376",
1879
+ "owner_entity_id": "ENT-0070",
1880
+ "status": "Active"
1881
+ },
1882
+ {
1883
+ "account_id": "ACC-0377",
1884
+ "owner_entity_id": "ENT-0142",
1885
+ "status": "Active"
1886
+ },
1887
+ {
1888
+ "account_id": "ACC-0378",
1889
+ "owner_entity_id": "ENT-0213",
1890
+ "status": "Active"
1891
+ },
1892
+ {
1893
+ "account_id": "ACC-0379",
1894
+ "owner_entity_id": "ENT-0260",
1895
+ "status": "Active"
1896
+ },
1897
+ {
1898
+ "account_id": "ACC-0380",
1899
+ "owner_entity_id": "ENT-0002",
1900
+ "status": "Active"
1901
+ },
1902
+ {
1903
+ "account_id": "ACC-0381",
1904
+ "owner_entity_id": "ENT-0153",
1905
+ "status": "Active"
1906
+ },
1907
+ {
1908
+ "account_id": "ACC-0382",
1909
+ "owner_entity_id": "ENT-0297",
1910
+ "status": "Closed"
1911
+ },
1912
+ {
1913
+ "account_id": "ACC-0383",
1914
+ "owner_entity_id": "ENT-0251",
1915
+ "status": "Active"
1916
+ },
1917
+ {
1918
+ "account_id": "ACC-0384",
1919
+ "owner_entity_id": "ENT-0229",
1920
+ "status": "Active"
1921
+ },
1922
+ {
1923
+ "account_id": "ACC-0385",
1924
+ "owner_entity_id": "ENT-0177",
1925
+ "status": "Active"
1926
+ },
1927
+ {
1928
+ "account_id": "ACC-0386",
1929
+ "owner_entity_id": "ENT-0279",
1930
+ "status": "Active"
1931
+ },
1932
+ {
1933
+ "account_id": "ACC-0387",
1934
+ "owner_entity_id": "ENT-0165",
1935
+ "status": "Active"
1936
+ },
1937
+ {
1938
+ "account_id": "ACC-0388",
1939
+ "owner_entity_id": "ENT-0123",
1940
+ "status": "Active"
1941
+ },
1942
+ {
1943
+ "account_id": "ACC-0389",
1944
+ "owner_entity_id": "ENT-0120",
1945
+ "status": "Active"
1946
+ },
1947
+ {
1948
+ "account_id": "ACC-0390",
1949
+ "owner_entity_id": "ENT-0211",
1950
+ "status": "Active"
1951
+ },
1952
+ {
1953
+ "account_id": "ACC-0391",
1954
+ "owner_entity_id": "ENT-0243",
1955
+ "status": "Active"
1956
+ },
1957
+ {
1958
+ "account_id": "ACC-0392",
1959
+ "owner_entity_id": "ENT-0196",
1960
+ "status": "Active"
1961
+ },
1962
+ {
1963
+ "account_id": "ACC-0393",
1964
+ "owner_entity_id": "ENT-0078",
1965
+ "status": "Active"
1966
+ },
1967
+ {
1968
+ "account_id": "ACC-0394",
1969
+ "owner_entity_id": "ENT-0019",
1970
+ "status": "Active"
1971
+ },
1972
+ {
1973
+ "account_id": "ACC-0395",
1974
+ "owner_entity_id": "ENT-0170",
1975
+ "status": "Active"
1976
+ },
1977
+ {
1978
+ "account_id": "ACC-0396",
1979
+ "owner_entity_id": "ENT-0226",
1980
+ "status": "Active"
1981
+ },
1982
+ {
1983
+ "account_id": "ACC-0397",
1984
+ "owner_entity_id": "ENT-0234",
1985
+ "status": "Active"
1986
+ },
1987
+ {
1988
+ "account_id": "ACC-0398",
1989
+ "owner_entity_id": "ENT-0074",
1990
+ "status": "Active"
1991
+ },
1992
+ {
1993
+ "account_id": "ACC-0399",
1994
+ "owner_entity_id": "ENT-0080",
1995
+ "status": "Active"
1996
+ },
1997
+ {
1998
+ "account_id": "ACC-0400",
1999
+ "owner_entity_id": "ENT-0136",
2000
+ "status": "Active"
2001
+ },
2002
+ {
2003
+ "_task": "EASY",
2004
+ "account_id": "ACC-9001",
2005
+ "owner_entity_id": "ENT-9001",
2006
+ "status": "Active"
2007
+ },
2008
+ {
2009
+ "_task": "EASY",
2010
+ "account_id": "ACC-9002",
2011
+ "owner_entity_id": "ENT-9002",
2012
+ "status": "Active"
2013
+ },
2014
+ {
2015
+ "_task": "MEDIUM",
2016
+ "account_id": "ACC-9010",
2017
+ "owner_entity_id": "ENT-9010",
2018
+ "status": "Active"
2019
+ },
2020
+ {
2021
+ "_task": "MEDIUM",
2022
+ "account_id": "ACC-9011",
2023
+ "owner_entity_id": "ENT-9011",
2024
+ "status": "Active"
2025
+ },
2026
+ {
2027
+ "_task": "MEDIUM",
2028
+ "account_id": "ACC-9012",
2029
+ "owner_entity_id": "ENT-9012",
2030
+ "status": "Active"
2031
+ },
2032
+ {
2033
+ "_task": "MEDIUM",
2034
+ "account_id": "ACC-9013",
2035
+ "owner_entity_id": "ENT-9013",
2036
+ "status": "Active"
2037
+ },
2038
+ {
2039
+ "_task": "HARD",
2040
+ "account_id": "ACC-9021",
2041
+ "owner_entity_id": "ENT-9021",
2042
+ "status": "Active"
2043
+ },
2044
+ {
2045
+ "_task": "HARD",
2046
+ "account_id": "ACC-9022",
2047
+ "owner_entity_id": "ENT-9022",
2048
+ "status": "Active"
2049
+ },
2050
+ {
2051
+ "_task": "HARD",
2052
+ "account_id": "ACC-9023",
2053
+ "owner_entity_id": "ENT-9023",
2054
+ "status": "Active"
2055
+ },
2056
+ {
2057
+ "_task": "HARD",
2058
+ "account_id": "ACC-9026",
2059
+ "owner_entity_id": "ENT-9026",
2060
+ "status": "Active"
2061
+ }
2062
+ ]
data/entities.json ADDED
@@ -0,0 +1,2381 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "entity_id": "ENT-0001",
4
+ "name": "Allison Hill",
5
+ "type": "Individual",
6
+ "registration_address": "819 Johnson Course, East William, AK 74064",
7
+ "directors": []
8
+ },
9
+ {
10
+ "entity_id": "ENT-0002",
11
+ "name": "Matthew Gardner",
12
+ "type": "Individual",
13
+ "registration_address": "26542 Susan Junction Apt. 161, Melanieview, AS 06196",
14
+ "directors": []
15
+ },
16
+ {
17
+ "entity_id": "ENT-0003",
18
+ "name": "Kimberly Dudley",
19
+ "type": "Individual",
20
+ "registration_address": "959 Janet Cape Apt. 413, South Joshuastad, GA 49021",
21
+ "directors": []
22
+ },
23
+ {
24
+ "entity_id": "ENT-0004",
25
+ "name": "Michael Miles",
26
+ "type": "Individual",
27
+ "registration_address": "283 Steven Groves, Lake Mark, WI 07832",
28
+ "directors": []
29
+ },
30
+ {
31
+ "entity_id": "ENT-0005",
32
+ "name": "Andrew Stewart",
33
+ "type": "Individual",
34
+ "registration_address": "537 Wilkerson Row, Thomasberg, IA 98148",
35
+ "directors": []
36
+ },
37
+ {
38
+ "entity_id": "ENT-0006",
39
+ "name": "Deborah Richards",
40
+ "type": "Individual",
41
+ "registration_address": "PSC 6532, Box 8710, APO AE 20534",
42
+ "directors": []
43
+ },
44
+ {
45
+ "entity_id": "ENT-0007",
46
+ "name": "Rebecca Henderson",
47
+ "type": "Individual",
48
+ "registration_address": "784 Erin Crescent Suite 514, Mooretown, VA 94830",
49
+ "directors": []
50
+ },
51
+ {
52
+ "entity_id": "ENT-0008",
53
+ "name": "Jonathan White",
54
+ "type": "Individual",
55
+ "registration_address": "PSC 4893, Box 2528, APO AP 00575",
56
+ "directors": []
57
+ },
58
+ {
59
+ "entity_id": "ENT-0009",
60
+ "name": "Katherine Rodriguez",
61
+ "type": "Individual",
62
+ "registration_address": "03911 Cabrera Trace Apt. 278, West Allison, PA 55962",
63
+ "directors": []
64
+ },
65
+ {
66
+ "entity_id": "ENT-0010",
67
+ "name": "Tanya Campos",
68
+ "type": "Individual",
69
+ "registration_address": "5787 John Circles Suite 098, New Jeffrey, CA 93279",
70
+ "directors": []
71
+ },
72
+ {
73
+ "entity_id": "ENT-0011",
74
+ "name": "Crystal Whitehead",
75
+ "type": "Individual",
76
+ "registration_address": "347 Amber Stream, Sanchezfort, AS 53855",
77
+ "directors": []
78
+ },
79
+ {
80
+ "entity_id": "ENT-0012",
81
+ "name": "Brent Jordan",
82
+ "type": "Individual",
83
+ "registration_address": "010 Chandler Union Apt. 333, Taylorburgh, KY 61138",
84
+ "directors": []
85
+ },
86
+ {
87
+ "entity_id": "ENT-0013",
88
+ "name": "Thomas Ramos",
89
+ "type": "Individual",
90
+ "registration_address": "80132 Tucker Forest, Barreraburgh, MS 00783",
91
+ "directors": []
92
+ },
93
+ {
94
+ "entity_id": "ENT-0014",
95
+ "name": "Mrs. Rachel Gibson",
96
+ "type": "Individual",
97
+ "registration_address": "34309 Julie Centers Apt. 978, North Susan, CO 24857",
98
+ "directors": []
99
+ },
100
+ {
101
+ "entity_id": "ENT-0015",
102
+ "name": "Barry Hensley",
103
+ "type": "Individual",
104
+ "registration_address": "909 Robert Prairie, Sarahborough, TN 94373",
105
+ "directors": []
106
+ },
107
+ {
108
+ "entity_id": "ENT-0016",
109
+ "name": "Derek Anderson",
110
+ "type": "Individual",
111
+ "registration_address": "1079 Charles Forest Suite 251, West Justin, NV 71701",
112
+ "directors": []
113
+ },
114
+ {
115
+ "entity_id": "ENT-0017",
116
+ "name": "Lisa Archer",
117
+ "type": "Individual",
118
+ "registration_address": "841 Joseph Coves, West Juan, IL 94559",
119
+ "directors": []
120
+ },
121
+ {
122
+ "entity_id": "ENT-0018",
123
+ "name": "Michael Farrell",
124
+ "type": "Individual",
125
+ "registration_address": "16400 Wise Route Suite 278, Hoffmanville, CA 91074",
126
+ "directors": []
127
+ },
128
+ {
129
+ "entity_id": "ENT-0019",
130
+ "name": "Kimberly Davenport",
131
+ "type": "Individual",
132
+ "registration_address": "2045 Rachel Fords, Lake Curtis, WI 73886",
133
+ "directors": []
134
+ },
135
+ {
136
+ "entity_id": "ENT-0020",
137
+ "name": "Jennifer Oliver",
138
+ "type": "Individual",
139
+ "registration_address": "26025 Pham Way, West Erik, UT 14669",
140
+ "directors": []
141
+ },
142
+ {
143
+ "entity_id": "ENT-0021",
144
+ "name": "Andrew Ruiz",
145
+ "type": "Individual",
146
+ "registration_address": "4330 Raymond Harbors Apt. 458, Frazierside, MA 04118",
147
+ "directors": []
148
+ },
149
+ {
150
+ "entity_id": "ENT-0022",
151
+ "name": "Wesley White",
152
+ "type": "Individual",
153
+ "registration_address": "USNV Johnson, FPO AP 57460",
154
+ "directors": []
155
+ },
156
+ {
157
+ "entity_id": "ENT-0023",
158
+ "name": "Richard Graham",
159
+ "type": "Individual",
160
+ "registration_address": "Unit 1693 Box 4060, DPO AP 71076",
161
+ "directors": []
162
+ },
163
+ {
164
+ "entity_id": "ENT-0024",
165
+ "name": "Teresa Mclaughlin",
166
+ "type": "Individual",
167
+ "registration_address": "59514 Estrada Islands Suite 482, South Elizabeth, MS 89278",
168
+ "directors": []
169
+ },
170
+ {
171
+ "entity_id": "ENT-0025",
172
+ "name": "Carrie Carroll",
173
+ "type": "Individual",
174
+ "registration_address": "4369 Marshall Mills, New Thomas, MH 96964",
175
+ "directors": []
176
+ },
177
+ {
178
+ "entity_id": "ENT-0026",
179
+ "name": "Bradley Robertson",
180
+ "type": "Individual",
181
+ "registration_address": "34332 Brandon Mountains Apt. 769, Lake Heather, NM 52884",
182
+ "directors": []
183
+ },
184
+ {
185
+ "entity_id": "ENT-0027",
186
+ "name": "Matthew Smith",
187
+ "type": "Individual",
188
+ "registration_address": "3287 Angela Vista, South Dennismouth, TN 70117",
189
+ "directors": []
190
+ },
191
+ {
192
+ "entity_id": "ENT-0028",
193
+ "name": "Linda Dodson DVM",
194
+ "type": "Individual",
195
+ "registration_address": "727 Green Gateway Suite 873, Scottport, IA 36115",
196
+ "directors": []
197
+ },
198
+ {
199
+ "entity_id": "ENT-0029",
200
+ "name": "Steven Miller",
201
+ "type": "Individual",
202
+ "registration_address": "231 Russell Plains Suite 603, Priceshire, UT 03061",
203
+ "directors": []
204
+ },
205
+ {
206
+ "entity_id": "ENT-0030",
207
+ "name": "Pamela James",
208
+ "type": "Individual",
209
+ "registration_address": "6688 Tracy Groves Suite 706, Elizabethfurt, VA 22133",
210
+ "directors": []
211
+ },
212
+ {
213
+ "entity_id": "ENT-0031",
214
+ "name": "Tamara Hooper",
215
+ "type": "Individual",
216
+ "registration_address": "901 Taylor Mountain Apt. 046, Jasonmouth, MA 50193",
217
+ "directors": []
218
+ },
219
+ {
220
+ "entity_id": "ENT-0032",
221
+ "name": "Trevor Fisher",
222
+ "type": "Individual",
223
+ "registration_address": "80531 Karen Gateway Apt. 092, East Thomas, DE 74421",
224
+ "directors": []
225
+ },
226
+ {
227
+ "entity_id": "ENT-0033",
228
+ "name": "Julie Scott",
229
+ "type": "Individual",
230
+ "registration_address": "41904 Sanders Stravenue, North Brittany, MP 82714",
231
+ "directors": []
232
+ },
233
+ {
234
+ "entity_id": "ENT-0034",
235
+ "name": "Michael Turner",
236
+ "type": "Individual",
237
+ "registration_address": "058 Stanley Cliff, Alexanderchester, GU 64752",
238
+ "directors": []
239
+ },
240
+ {
241
+ "entity_id": "ENT-0035",
242
+ "name": "Tyler Reid",
243
+ "type": "Individual",
244
+ "registration_address": "2849 Marshall Views, Marcusbury, MP 11860",
245
+ "directors": []
246
+ },
247
+ {
248
+ "entity_id": "ENT-0036",
249
+ "name": "Jerry Christensen",
250
+ "type": "Individual",
251
+ "registration_address": "0752 Lewis Union Suite 549, Angelahaven, ID 11722",
252
+ "directors": []
253
+ },
254
+ {
255
+ "entity_id": "ENT-0037",
256
+ "name": "Jason Peters",
257
+ "type": "Individual",
258
+ "registration_address": "770 Kelly Lodge Apt. 495, Transtad, NE 98272",
259
+ "directors": []
260
+ },
261
+ {
262
+ "entity_id": "ENT-0038",
263
+ "name": "Heather Chavez",
264
+ "type": "Individual",
265
+ "registration_address": "35182 Javier Orchard, Jennyhaven, PA 37594",
266
+ "directors": []
267
+ },
268
+ {
269
+ "entity_id": "ENT-0039",
270
+ "name": "Dr. Elizabeth Ward",
271
+ "type": "Individual",
272
+ "registration_address": "0084 Dana Terrace, Garciatown, OK 37769",
273
+ "directors": []
274
+ },
275
+ {
276
+ "entity_id": "ENT-0040",
277
+ "name": "Jeremiah Lopez",
278
+ "type": "Individual",
279
+ "registration_address": "16719 Edward Valleys Suite 131, Obrienbury, WI 68995",
280
+ "directors": []
281
+ },
282
+ {
283
+ "entity_id": "ENT-0041",
284
+ "name": "Terry Evans",
285
+ "type": "Individual",
286
+ "registration_address": "9909 Stacey Fords Apt. 412, East Andrea, GA 00851",
287
+ "directors": []
288
+ },
289
+ {
290
+ "entity_id": "ENT-0042",
291
+ "name": "Michael Harrison",
292
+ "type": "Individual",
293
+ "registration_address": "471 Sandra Turnpike Apt. 618, Lake Edward, KY 19144",
294
+ "directors": []
295
+ },
296
+ {
297
+ "entity_id": "ENT-0043",
298
+ "name": "Christopher Parker",
299
+ "type": "Individual",
300
+ "registration_address": "1746 Mason Park Suite 190, Navarroview, AK 12471",
301
+ "directors": []
302
+ },
303
+ {
304
+ "entity_id": "ENT-0044",
305
+ "name": "Michael Valencia",
306
+ "type": "Individual",
307
+ "registration_address": "490 Thomas Run, Moonburgh, OR 57633",
308
+ "directors": []
309
+ },
310
+ {
311
+ "entity_id": "ENT-0045",
312
+ "name": "Katherine Davis",
313
+ "type": "Individual",
314
+ "registration_address": "1256 Roberts Locks Apt. 715, Marcusfurt, VI 67950",
315
+ "directors": []
316
+ },
317
+ {
318
+ "entity_id": "ENT-0046",
319
+ "name": "April Booth",
320
+ "type": "Individual",
321
+ "registration_address": "85977 James Plaza, West Samuel, UT 64033",
322
+ "directors": []
323
+ },
324
+ {
325
+ "entity_id": "ENT-0047",
326
+ "name": "William Lynch",
327
+ "type": "Individual",
328
+ "registration_address": "8086 Jeffrey Ville, South Staceyberg, NM 94427",
329
+ "directors": []
330
+ },
331
+ {
332
+ "entity_id": "ENT-0048",
333
+ "name": "Michael Perry",
334
+ "type": "Individual",
335
+ "registration_address": "78263 Michelle Harbor Suite 584, West Jessicashire, OR 87000",
336
+ "directors": []
337
+ },
338
+ {
339
+ "entity_id": "ENT-0049",
340
+ "name": "Charles Ryan MD",
341
+ "type": "Individual",
342
+ "registration_address": "5339 Hall Trail Suite 057, Hughesberg, NM 05353",
343
+ "directors": []
344
+ },
345
+ {
346
+ "entity_id": "ENT-0050",
347
+ "name": "Vincent Rivera",
348
+ "type": "Individual",
349
+ "registration_address": "87026 Charles Tunnel Suite 596, Port Markside, MS 42006",
350
+ "directors": []
351
+ },
352
+ {
353
+ "entity_id": "ENT-0051",
354
+ "name": "Stacy Freeman",
355
+ "type": "Individual",
356
+ "registration_address": "43161 Scott Square, Rebeccaton, MD 07856",
357
+ "directors": []
358
+ },
359
+ {
360
+ "entity_id": "ENT-0052",
361
+ "name": "James Thomas",
362
+ "type": "Individual",
363
+ "registration_address": "21969 Tyler Prairie, East Steven, KS 60737",
364
+ "directors": []
365
+ },
366
+ {
367
+ "entity_id": "ENT-0053",
368
+ "name": "Adam Ballard",
369
+ "type": "Individual",
370
+ "registration_address": "PSC 8217, Box 5946, APO AP 33281",
371
+ "directors": []
372
+ },
373
+ {
374
+ "entity_id": "ENT-0054",
375
+ "name": "Eric Kidd",
376
+ "type": "Individual",
377
+ "registration_address": "69594 Johnson Village, Hillshire, VI 90390",
378
+ "directors": []
379
+ },
380
+ {
381
+ "entity_id": "ENT-0055",
382
+ "name": "Valerie Lozano",
383
+ "type": "Individual",
384
+ "registration_address": "95339 Byrd Stravenue Apt. 104, Johnsonstad, VA 17725",
385
+ "directors": []
386
+ },
387
+ {
388
+ "entity_id": "ENT-0056",
389
+ "name": "Edward Burgess",
390
+ "type": "Individual",
391
+ "registration_address": "588 Rivas Glens, Coffeyport, WA 44897",
392
+ "directors": []
393
+ },
394
+ {
395
+ "entity_id": "ENT-0057",
396
+ "name": "Julie Jones",
397
+ "type": "Individual",
398
+ "registration_address": "685 Krystal Bridge, Amandamouth, MN 88689",
399
+ "directors": []
400
+ },
401
+ {
402
+ "entity_id": "ENT-0058",
403
+ "name": "Deborah James",
404
+ "type": "Individual",
405
+ "registration_address": "37098 Herman Forges Apt. 746, East Brandonton, ME 65070",
406
+ "directors": []
407
+ },
408
+ {
409
+ "entity_id": "ENT-0059",
410
+ "name": "David Medina",
411
+ "type": "Individual",
412
+ "registration_address": "869 Nicole Shoal Apt. 796, Antoniostad, IL 58616",
413
+ "directors": []
414
+ },
415
+ {
416
+ "entity_id": "ENT-0060",
417
+ "name": "David Cox",
418
+ "type": "Individual",
419
+ "registration_address": "Unit 5850 Box 6431, DPO AA 12516",
420
+ "directors": []
421
+ },
422
+ {
423
+ "entity_id": "ENT-0061",
424
+ "name": "Maria Harper",
425
+ "type": "Individual",
426
+ "registration_address": "29318 Brenda Via Apt. 529, West Micheleberg, DC 71308",
427
+ "directors": []
428
+ },
429
+ {
430
+ "entity_id": "ENT-0062",
431
+ "name": "Christopher Guerrero",
432
+ "type": "Individual",
433
+ "registration_address": "3950 Joseph Crossroad, Foxland, NJ 59257",
434
+ "directors": []
435
+ },
436
+ {
437
+ "entity_id": "ENT-0063",
438
+ "name": "Kayla Rodriguez",
439
+ "type": "Individual",
440
+ "registration_address": "847 Bruce Neck, Simmonsville, NM 93876",
441
+ "directors": []
442
+ },
443
+ {
444
+ "entity_id": "ENT-0064",
445
+ "name": "Angel Miller",
446
+ "type": "Individual",
447
+ "registration_address": "49985 Vang Pines, Shawnchester, CT 92484",
448
+ "directors": []
449
+ },
450
+ {
451
+ "entity_id": "ENT-0065",
452
+ "name": "Matthew Rich",
453
+ "type": "Individual",
454
+ "registration_address": "7365 Ross Stream, West Ronaldview, MN 20507",
455
+ "directors": []
456
+ },
457
+ {
458
+ "entity_id": "ENT-0066",
459
+ "name": "Kara Davis",
460
+ "type": "Individual",
461
+ "registration_address": "52809 Santiago Loop Suite 604, Michaelshire, NY 28385",
462
+ "directors": []
463
+ },
464
+ {
465
+ "entity_id": "ENT-0067",
466
+ "name": "John Boone",
467
+ "type": "Individual",
468
+ "registration_address": "49368 Chelsea Shoals Suite 024, Sandrastad, AL 24278",
469
+ "directors": []
470
+ },
471
+ {
472
+ "entity_id": "ENT-0068",
473
+ "name": "Kylie Morales",
474
+ "type": "Individual",
475
+ "registration_address": "83667 Moore Inlet, Kimberlyshire, PA 11636",
476
+ "directors": []
477
+ },
478
+ {
479
+ "entity_id": "ENT-0069",
480
+ "name": "Brittney Webster",
481
+ "type": "Individual",
482
+ "registration_address": "7679 Perry Forge, West Russellport, TX 89431",
483
+ "directors": []
484
+ },
485
+ {
486
+ "entity_id": "ENT-0070",
487
+ "name": "Kelsey Parker",
488
+ "type": "Individual",
489
+ "registration_address": "34324 Murphy Avenue, Burgessburgh, DC 50335",
490
+ "directors": []
491
+ },
492
+ {
493
+ "entity_id": "ENT-0071",
494
+ "name": "Crystal Hansen",
495
+ "type": "Individual",
496
+ "registration_address": "60607 Michelle Ports Suite 966, Dariustown, MD 23028",
497
+ "directors": []
498
+ },
499
+ {
500
+ "entity_id": "ENT-0072",
501
+ "name": "Lisa Collier",
502
+ "type": "Individual",
503
+ "registration_address": "PSC 1613, Box 6968, APO AE 52374",
504
+ "directors": []
505
+ },
506
+ {
507
+ "entity_id": "ENT-0073",
508
+ "name": "Nichole Walker",
509
+ "type": "Individual",
510
+ "registration_address": "188 Rebecca Keys, Jessicaberg, IA 13975",
511
+ "directors": []
512
+ },
513
+ {
514
+ "entity_id": "ENT-0074",
515
+ "name": "Craig Morrison",
516
+ "type": "Individual",
517
+ "registration_address": "77997 Lin Road, Edwardland, NJ 58462",
518
+ "directors": []
519
+ },
520
+ {
521
+ "entity_id": "ENT-0075",
522
+ "name": "Rebecca Vargas",
523
+ "type": "Individual",
524
+ "registration_address": "7700 Decker Club, New Brookefurt, NH 76565",
525
+ "directors": []
526
+ },
527
+ {
528
+ "entity_id": "ENT-0076",
529
+ "name": "Rebecca Huang",
530
+ "type": "Individual",
531
+ "registration_address": "9782 Shannon Valleys, Toniland, NY 85190",
532
+ "directors": []
533
+ },
534
+ {
535
+ "entity_id": "ENT-0077",
536
+ "name": "David Kim",
537
+ "type": "Individual",
538
+ "registration_address": "5466 Shelton Center, Cameronville, OH 89417",
539
+ "directors": []
540
+ },
541
+ {
542
+ "entity_id": "ENT-0078",
543
+ "name": "David York",
544
+ "type": "Individual",
545
+ "registration_address": "Unit 9251 Box 9254, DPO AP 92052",
546
+ "directors": []
547
+ },
548
+ {
549
+ "entity_id": "ENT-0079",
550
+ "name": "Betty Fletcher",
551
+ "type": "Individual",
552
+ "registration_address": "528 Debbie Manors Suite 054, East Matthew, WI 64237",
553
+ "directors": []
554
+ },
555
+ {
556
+ "entity_id": "ENT-0080",
557
+ "name": "Zachary Moore",
558
+ "type": "Individual",
559
+ "registration_address": "880 Walter River, New Nicholas, GA 24204",
560
+ "directors": []
561
+ },
562
+ {
563
+ "entity_id": "ENT-0081",
564
+ "name": "Patricia Lamb",
565
+ "type": "Individual",
566
+ "registration_address": "65379 Goodwin Tunnel Suite 383, Tammyfort, MH 25931",
567
+ "directors": []
568
+ },
569
+ {
570
+ "entity_id": "ENT-0082",
571
+ "name": "Travis Joyce",
572
+ "type": "Individual",
573
+ "registration_address": "8862 Laurie Dam Suite 075, Lake Meghanville, LA 11494",
574
+ "directors": []
575
+ },
576
+ {
577
+ "entity_id": "ENT-0083",
578
+ "name": "Denise Whitehead",
579
+ "type": "Individual",
580
+ "registration_address": "37506 Randy Landing Apt. 615, North Lucas, CT 94178",
581
+ "directors": []
582
+ },
583
+ {
584
+ "entity_id": "ENT-0084",
585
+ "name": "Raven Taylor",
586
+ "type": "Individual",
587
+ "registration_address": "277 Rebecca Brook Suite 328, Rodriguezport, IA 39973",
588
+ "directors": []
589
+ },
590
+ {
591
+ "entity_id": "ENT-0085",
592
+ "name": "David Fowler",
593
+ "type": "Individual",
594
+ "registration_address": "79808 Jennifer Highway, Smithstad, IA 75299",
595
+ "directors": []
596
+ },
597
+ {
598
+ "entity_id": "ENT-0086",
599
+ "name": "Matthew Miller",
600
+ "type": "Individual",
601
+ "registration_address": "Unit 1888 Box 8806, DPO AA 06207",
602
+ "directors": []
603
+ },
604
+ {
605
+ "entity_id": "ENT-0087",
606
+ "name": "Veronica King",
607
+ "type": "Individual",
608
+ "registration_address": "3195 Bradley Plains, Lisaburgh, MP 90243",
609
+ "directors": []
610
+ },
611
+ {
612
+ "entity_id": "ENT-0088",
613
+ "name": "Michael Welch",
614
+ "type": "Individual",
615
+ "registration_address": "704 Bradley Flats, West Sarahhaven, MO 71677",
616
+ "directors": []
617
+ },
618
+ {
619
+ "entity_id": "ENT-0089",
620
+ "name": "Andrew Lucas",
621
+ "type": "Individual",
622
+ "registration_address": "541 Kim Locks, Klinefurt, MA 24987",
623
+ "directors": []
624
+ },
625
+ {
626
+ "entity_id": "ENT-0090",
627
+ "name": "Jonathan Glass MD",
628
+ "type": "Individual",
629
+ "registration_address": "69284 Garcia Islands Suite 479, Jacksonmouth, MI 59107",
630
+ "directors": []
631
+ },
632
+ {
633
+ "entity_id": "ENT-0091",
634
+ "name": "Sergio Gomez",
635
+ "type": "Individual",
636
+ "registration_address": "Unit 4016 Box 5820, DPO AE 80136",
637
+ "directors": []
638
+ },
639
+ {
640
+ "entity_id": "ENT-0092",
641
+ "name": "Jessica Martinez",
642
+ "type": "Individual",
643
+ "registration_address": "6909 Erika Land Suite 719, New Michael, MD 85640",
644
+ "directors": []
645
+ },
646
+ {
647
+ "entity_id": "ENT-0093",
648
+ "name": "Tyler Johnson",
649
+ "type": "Individual",
650
+ "registration_address": "144 Lewis Ridge Suite 731, Port Charles, HI 94003",
651
+ "directors": []
652
+ },
653
+ {
654
+ "entity_id": "ENT-0094",
655
+ "name": "Brandon Fleming",
656
+ "type": "Individual",
657
+ "registration_address": "518 Vance Vista Apt. 258, North Tracie, WY 18703",
658
+ "directors": []
659
+ },
660
+ {
661
+ "entity_id": "ENT-0095",
662
+ "name": "Johnny Ward",
663
+ "type": "Individual",
664
+ "registration_address": "291 Kyle Stravenue Suite 866, East Teresaland, NV 61558",
665
+ "directors": []
666
+ },
667
+ {
668
+ "entity_id": "ENT-0096",
669
+ "name": "Haley Humphrey",
670
+ "type": "Individual",
671
+ "registration_address": "68018 Kevin Estates, Sarahbury, MI 68513",
672
+ "directors": []
673
+ },
674
+ {
675
+ "entity_id": "ENT-0097",
676
+ "name": "Sarah King",
677
+ "type": "Individual",
678
+ "registration_address": "49818 Brittany Prairie Apt. 299, Meganshire, AZ 04219",
679
+ "directors": []
680
+ },
681
+ {
682
+ "entity_id": "ENT-0098",
683
+ "name": "Travis Wise",
684
+ "type": "Individual",
685
+ "registration_address": "690 Small Plains, Dawnport, NJ 32597",
686
+ "directors": []
687
+ },
688
+ {
689
+ "entity_id": "ENT-0099",
690
+ "name": "Melinda Evans",
691
+ "type": "Individual",
692
+ "registration_address": "76773 Lawson Island, Jessicastad, MO 17640",
693
+ "directors": []
694
+ },
695
+ {
696
+ "entity_id": "ENT-0100",
697
+ "name": "Kayla Rodriguez",
698
+ "type": "Individual",
699
+ "registration_address": "7321 Kelly Lights, Wrightburgh, GU 43418",
700
+ "directors": []
701
+ },
702
+ {
703
+ "entity_id": "ENT-0101",
704
+ "name": "Michelle Lee",
705
+ "type": "Individual",
706
+ "registration_address": "4701 Wagner Garden Apt. 950, West Troyfort, LA 70846",
707
+ "directors": []
708
+ },
709
+ {
710
+ "entity_id": "ENT-0102",
711
+ "name": "Brian Anderson",
712
+ "type": "Individual",
713
+ "registration_address": "5060 Michael Heights Apt. 687, Marciaville, DC 13173",
714
+ "directors": []
715
+ },
716
+ {
717
+ "entity_id": "ENT-0103",
718
+ "name": "Robert Morgan",
719
+ "type": "Individual",
720
+ "registration_address": "USNS Gonzalez, FPO AP 53111",
721
+ "directors": []
722
+ },
723
+ {
724
+ "entity_id": "ENT-0104",
725
+ "name": "Amber Taylor",
726
+ "type": "Individual",
727
+ "registration_address": "729 Mark Ridge Suite 269, Brittneyhaven, MP 67310",
728
+ "directors": []
729
+ },
730
+ {
731
+ "entity_id": "ENT-0105",
732
+ "name": "Michelle Evans",
733
+ "type": "Individual",
734
+ "registration_address": "1694 Candice Greens Apt. 097, New Cristina, RI 50333",
735
+ "directors": []
736
+ },
737
+ {
738
+ "entity_id": "ENT-0106",
739
+ "name": "Michael Johnson",
740
+ "type": "Individual",
741
+ "registration_address": "USS Lee, FPO AA 41617",
742
+ "directors": []
743
+ },
744
+ {
745
+ "entity_id": "ENT-0107",
746
+ "name": "Jason Harris",
747
+ "type": "Individual",
748
+ "registration_address": "028 Ann Shore Suite 865, South Rhonda, MA 72102",
749
+ "directors": []
750
+ },
751
+ {
752
+ "entity_id": "ENT-0108",
753
+ "name": "Raymond Le",
754
+ "type": "Individual",
755
+ "registration_address": "733 Grant Fork Suite 437, Timothyside, WY 95090",
756
+ "directors": []
757
+ },
758
+ {
759
+ "entity_id": "ENT-0109",
760
+ "name": "Bryan Rhodes",
761
+ "type": "Individual",
762
+ "registration_address": "2404 Michael Mills Suite 733, Sarahview, DC 14817",
763
+ "directors": []
764
+ },
765
+ {
766
+ "entity_id": "ENT-0110",
767
+ "name": "Laurie Sanchez",
768
+ "type": "Individual",
769
+ "registration_address": "301 Rivera Mountains, Lake Kellitown, OH 21202",
770
+ "directors": []
771
+ },
772
+ {
773
+ "entity_id": "ENT-0111",
774
+ "name": "Timothy Johns",
775
+ "type": "Individual",
776
+ "registration_address": "5401 Amanda Stream, East Robertburgh, PW 05264",
777
+ "directors": []
778
+ },
779
+ {
780
+ "entity_id": "ENT-0112",
781
+ "name": "Jennifer Simpson DVM",
782
+ "type": "Individual",
783
+ "registration_address": "USNV Mcdowell, FPO AE 39611",
784
+ "directors": []
785
+ },
786
+ {
787
+ "entity_id": "ENT-0113",
788
+ "name": "Ashley Bird",
789
+ "type": "Individual",
790
+ "registration_address": "87431 Martin Mount Suite 205, Ashleyborough, HI 80580",
791
+ "directors": []
792
+ },
793
+ {
794
+ "entity_id": "ENT-0114",
795
+ "name": "Stephanie Wilcox",
796
+ "type": "Individual",
797
+ "registration_address": "1227 Boyle Avenue, Patrickmouth, WV 35496",
798
+ "directors": []
799
+ },
800
+ {
801
+ "entity_id": "ENT-0115",
802
+ "name": "Elizabeth Sharp",
803
+ "type": "Individual",
804
+ "registration_address": "301 Parker Lodge Suite 145, East Susan, NJ 20579",
805
+ "directors": []
806
+ },
807
+ {
808
+ "entity_id": "ENT-0116",
809
+ "name": "William Brooks",
810
+ "type": "Individual",
811
+ "registration_address": "339 Alicia Pines Suite 191, Port Amyhaven, ID 75566",
812
+ "directors": []
813
+ },
814
+ {
815
+ "entity_id": "ENT-0117",
816
+ "name": "Carmen Bond",
817
+ "type": "Individual",
818
+ "registration_address": "971 Stokes Motorway, New Robert, OK 08068",
819
+ "directors": []
820
+ },
821
+ {
822
+ "entity_id": "ENT-0118",
823
+ "name": "Megan Parker",
824
+ "type": "Individual",
825
+ "registration_address": "39106 Graves Plains Apt. 170, Robertberg, WI 84586",
826
+ "directors": []
827
+ },
828
+ {
829
+ "entity_id": "ENT-0119",
830
+ "name": "Maria Fisher",
831
+ "type": "Individual",
832
+ "registration_address": "Unit 6766 Box 1825, DPO AE 23893",
833
+ "directors": []
834
+ },
835
+ {
836
+ "entity_id": "ENT-0120",
837
+ "name": "Jenna Anderson DVM",
838
+ "type": "Individual",
839
+ "registration_address": "7868 Morrow Gateway, Reedview, ID 95531",
840
+ "directors": []
841
+ },
842
+ {
843
+ "entity_id": "ENT-0121",
844
+ "name": "Amanda Keller",
845
+ "type": "Individual",
846
+ "registration_address": "31190 Harper Squares, East Joyfurt, NV 31216",
847
+ "directors": []
848
+ },
849
+ {
850
+ "entity_id": "ENT-0122",
851
+ "name": "Nicole Parsons",
852
+ "type": "Individual",
853
+ "registration_address": "95995 Kevin Divide Apt. 644, New Stacyburgh, SC 89466",
854
+ "directors": []
855
+ },
856
+ {
857
+ "entity_id": "ENT-0123",
858
+ "name": "Jon Compton",
859
+ "type": "Individual",
860
+ "registration_address": "USCGC Floyd, FPO AA 91767",
861
+ "directors": []
862
+ },
863
+ {
864
+ "entity_id": "ENT-0124",
865
+ "name": "Chase Bennett",
866
+ "type": "Individual",
867
+ "registration_address": "34270 Faulkner Point Apt. 634, West Deborah, NV 49138",
868
+ "directors": []
869
+ },
870
+ {
871
+ "entity_id": "ENT-0125",
872
+ "name": "Nathaniel Lee",
873
+ "type": "Individual",
874
+ "registration_address": "39837 Molly Isle, Susantown, IL 25407",
875
+ "directors": []
876
+ },
877
+ {
878
+ "entity_id": "ENT-0126",
879
+ "name": "Autumn Key",
880
+ "type": "Individual",
881
+ "registration_address": "936 Andrea Trail, Oscarside, SD 47589",
882
+ "directors": []
883
+ },
884
+ {
885
+ "entity_id": "ENT-0127",
886
+ "name": "Ian Andrade",
887
+ "type": "Individual",
888
+ "registration_address": "3556 Anna Forges Apt. 048, Phillipsborough, MA 30650",
889
+ "directors": []
890
+ },
891
+ {
892
+ "entity_id": "ENT-0128",
893
+ "name": "Roy Porter",
894
+ "type": "Individual",
895
+ "registration_address": "7772 Jackson Stravenue Suite 280, Port Melanieton, WV 01337",
896
+ "directors": []
897
+ },
898
+ {
899
+ "entity_id": "ENT-0129",
900
+ "name": "Ryan Hall",
901
+ "type": "Individual",
902
+ "registration_address": "87509 Hopkins Brook, New Andreatown, AK 69892",
903
+ "directors": []
904
+ },
905
+ {
906
+ "entity_id": "ENT-0130",
907
+ "name": "Kimberly Mitchell",
908
+ "type": "Individual",
909
+ "registration_address": "11823 Christine Glen Suite 461, Susanmouth, OK 32378",
910
+ "directors": []
911
+ },
912
+ {
913
+ "entity_id": "ENT-0131",
914
+ "name": "Courtney Sutton DVM",
915
+ "type": "Individual",
916
+ "registration_address": "66687 Dana Squares, North Vincent, NE 85030",
917
+ "directors": []
918
+ },
919
+ {
920
+ "entity_id": "ENT-0132",
921
+ "name": "Kylie Hodge",
922
+ "type": "Individual",
923
+ "registration_address": "39740 Gabrielle Harbors, East Sarahmouth, AK 27653",
924
+ "directors": []
925
+ },
926
+ {
927
+ "entity_id": "ENT-0133",
928
+ "name": "Nicole Marquez",
929
+ "type": "Individual",
930
+ "registration_address": "2939 Rhodes Plains, Patrickberg, WY 90850",
931
+ "directors": []
932
+ },
933
+ {
934
+ "entity_id": "ENT-0134",
935
+ "name": "Kathryn Mccann",
936
+ "type": "Individual",
937
+ "registration_address": "15999 Novak Islands Apt. 477, West Angela, MS 57104",
938
+ "directors": []
939
+ },
940
+ {
941
+ "entity_id": "ENT-0135",
942
+ "name": "Kevin James",
943
+ "type": "Individual",
944
+ "registration_address": "11426 Jodi Island Suite 110, Seanview, CT 17868",
945
+ "directors": []
946
+ },
947
+ {
948
+ "entity_id": "ENT-0136",
949
+ "name": "Jeffrey Hawkins",
950
+ "type": "Individual",
951
+ "registration_address": "15819 Shields Bridge, Robertland, VA 73840",
952
+ "directors": []
953
+ },
954
+ {
955
+ "entity_id": "ENT-0137",
956
+ "name": "Vanessa Armstrong",
957
+ "type": "Individual",
958
+ "registration_address": "24447 Bryan Mews Suite 647, West Johnathanbury, VA 82425",
959
+ "directors": []
960
+ },
961
+ {
962
+ "entity_id": "ENT-0138",
963
+ "name": "Luis Ellis Jr.",
964
+ "type": "Individual",
965
+ "registration_address": "9657 Jordan View Apt. 459, South Leon, MO 42331",
966
+ "directors": []
967
+ },
968
+ {
969
+ "entity_id": "ENT-0139",
970
+ "name": "Michael Henry",
971
+ "type": "Individual",
972
+ "registration_address": "6465 Sarah Flats, Lake Katrina, AK 95818",
973
+ "directors": []
974
+ },
975
+ {
976
+ "entity_id": "ENT-0140",
977
+ "name": "Michael Gonzales",
978
+ "type": "Individual",
979
+ "registration_address": "7243 Hopkins Stravenue, Mccormickland, NV 78873",
980
+ "directors": []
981
+ },
982
+ {
983
+ "entity_id": "ENT-0141",
984
+ "name": "James Hunter",
985
+ "type": "Individual",
986
+ "registration_address": "PSC 6805, Box 8911, APO AE 86694",
987
+ "directors": []
988
+ },
989
+ {
990
+ "entity_id": "ENT-0142",
991
+ "name": "Carol Salazar",
992
+ "type": "Individual",
993
+ "registration_address": "6101 Walker Summit Apt. 756, Bartonshire, UT 66098",
994
+ "directors": []
995
+ },
996
+ {
997
+ "entity_id": "ENT-0143",
998
+ "name": "Zachary Webb",
999
+ "type": "Individual",
1000
+ "registration_address": "25457 Adriana Keys, Davismouth, MD 09305",
1001
+ "directors": []
1002
+ },
1003
+ {
1004
+ "entity_id": "ENT-0144",
1005
+ "name": "Robert Wilson",
1006
+ "type": "Individual",
1007
+ "registration_address": "238 Andrea Isle, Mullenbury, AS 53591",
1008
+ "directors": []
1009
+ },
1010
+ {
1011
+ "entity_id": "ENT-0145",
1012
+ "name": "Charlotte Sandoval",
1013
+ "type": "Individual",
1014
+ "registration_address": "9660 Jamie Terrace, New Cristianside, HI 48446",
1015
+ "directors": []
1016
+ },
1017
+ {
1018
+ "entity_id": "ENT-0146",
1019
+ "name": "Jim Baker",
1020
+ "type": "Individual",
1021
+ "registration_address": "696 Michael Vista Suite 924, Lake Dennisville, IA 40527",
1022
+ "directors": []
1023
+ },
1024
+ {
1025
+ "entity_id": "ENT-0147",
1026
+ "name": "James Thomas",
1027
+ "type": "Individual",
1028
+ "registration_address": "662 Reid Square, New Garrett, LA 18889",
1029
+ "directors": []
1030
+ },
1031
+ {
1032
+ "entity_id": "ENT-0148",
1033
+ "name": "Ryan Harvey",
1034
+ "type": "Individual",
1035
+ "registration_address": "2368 Ortiz Overpass, Mckinneymouth, NM 22423",
1036
+ "directors": []
1037
+ },
1038
+ {
1039
+ "entity_id": "ENT-0149",
1040
+ "name": "Andre Juarez",
1041
+ "type": "Individual",
1042
+ "registration_address": "84279 Dunn Creek Apt. 485, Port Jenniferside, IL 56226",
1043
+ "directors": []
1044
+ },
1045
+ {
1046
+ "entity_id": "ENT-0150",
1047
+ "name": "Ronald Potter",
1048
+ "type": "Individual",
1049
+ "registration_address": "4517 Kimberly Freeway, Port Joan, UT 46458",
1050
+ "directors": []
1051
+ },
1052
+ {
1053
+ "entity_id": "ENT-0151",
1054
+ "name": "Lisa Patterson",
1055
+ "type": "Individual",
1056
+ "registration_address": "09584 Mario Squares, Keithview, PR 67926",
1057
+ "directors": []
1058
+ },
1059
+ {
1060
+ "entity_id": "ENT-0152",
1061
+ "name": "Miss Anna Estes",
1062
+ "type": "Individual",
1063
+ "registration_address": "2232 Poole Trace, Burnsshire, SC 35722",
1064
+ "directors": []
1065
+ },
1066
+ {
1067
+ "entity_id": "ENT-0153",
1068
+ "name": "Jaime Jones",
1069
+ "type": "Individual",
1070
+ "registration_address": "8457 Murphy Alley, Lake Teresastad, PR 08801",
1071
+ "directors": []
1072
+ },
1073
+ {
1074
+ "entity_id": "ENT-0154",
1075
+ "name": "Jennifer Donaldson",
1076
+ "type": "Individual",
1077
+ "registration_address": "5458 Ashlee Oval Suite 001, Smithburgh, NV 60337",
1078
+ "directors": []
1079
+ },
1080
+ {
1081
+ "entity_id": "ENT-0155",
1082
+ "name": "Tyler Harris",
1083
+ "type": "Individual",
1084
+ "registration_address": "424 Diamond Glen, West Elizabethburgh, AR 52450",
1085
+ "directors": []
1086
+ },
1087
+ {
1088
+ "entity_id": "ENT-0156",
1089
+ "name": "Molly Fischer",
1090
+ "type": "Individual",
1091
+ "registration_address": "103 Miller Ramp, New Erin, AL 01557",
1092
+ "directors": []
1093
+ },
1094
+ {
1095
+ "entity_id": "ENT-0157",
1096
+ "name": "Ruth Mcneil",
1097
+ "type": "Individual",
1098
+ "registration_address": "1361 Dakota Land, Derrickberg, SD 89254",
1099
+ "directors": []
1100
+ },
1101
+ {
1102
+ "entity_id": "ENT-0158",
1103
+ "name": "Joseph Smith",
1104
+ "type": "Individual",
1105
+ "registration_address": "3269 Heath Corners Apt. 219, Bellchester, MD 18828",
1106
+ "directors": []
1107
+ },
1108
+ {
1109
+ "entity_id": "ENT-0159",
1110
+ "name": "Matthew Wright",
1111
+ "type": "Individual",
1112
+ "registration_address": "043 Julie Hill Apt. 376, East Victorland, NC 02082",
1113
+ "directors": []
1114
+ },
1115
+ {
1116
+ "entity_id": "ENT-0160",
1117
+ "name": "Dr. Bonnie Valencia",
1118
+ "type": "Individual",
1119
+ "registration_address": "271 Brenda Bridge Suite 300, Hunterhaven, WI 54952",
1120
+ "directors": []
1121
+ },
1122
+ {
1123
+ "entity_id": "ENT-0161",
1124
+ "name": "James Davidson",
1125
+ "type": "Individual",
1126
+ "registration_address": "1418 Terri Drives, Peterland, ME 92077",
1127
+ "directors": []
1128
+ },
1129
+ {
1130
+ "entity_id": "ENT-0162",
1131
+ "name": "Troy Allen",
1132
+ "type": "Individual",
1133
+ "registration_address": "79904 David Station Apt. 027, Alexandraview, GA 49242",
1134
+ "directors": []
1135
+ },
1136
+ {
1137
+ "entity_id": "ENT-0163",
1138
+ "name": "Richard Adams",
1139
+ "type": "Individual",
1140
+ "registration_address": "6481 Joseph Ports, South Spencerstad, AR 65985",
1141
+ "directors": []
1142
+ },
1143
+ {
1144
+ "entity_id": "ENT-0164",
1145
+ "name": "Carol Moore",
1146
+ "type": "Individual",
1147
+ "registration_address": "80003 Thomas Lights, East Sarah, PR 05136",
1148
+ "directors": []
1149
+ },
1150
+ {
1151
+ "entity_id": "ENT-0165",
1152
+ "name": "Suzanne Yang",
1153
+ "type": "Individual",
1154
+ "registration_address": "65419 Wilson Spring Apt. 238, South Caseymouth, VI 37503",
1155
+ "directors": []
1156
+ },
1157
+ {
1158
+ "entity_id": "ENT-0166",
1159
+ "name": "Emily Miller",
1160
+ "type": "Individual",
1161
+ "registration_address": "49493 Richardson Park Apt. 832, South Andrewside, MI 83855",
1162
+ "directors": []
1163
+ },
1164
+ {
1165
+ "entity_id": "ENT-0167",
1166
+ "name": "Sherry Tapia",
1167
+ "type": "Individual",
1168
+ "registration_address": "413 Robert Circle Apt. 410, Port April, UT 49324",
1169
+ "directors": []
1170
+ },
1171
+ {
1172
+ "entity_id": "ENT-0168",
1173
+ "name": "Paul Carpenter",
1174
+ "type": "Individual",
1175
+ "registration_address": "99062 Kelly Vista Suite 655, Nelsonland, ID 18341",
1176
+ "directors": []
1177
+ },
1178
+ {
1179
+ "entity_id": "ENT-0169",
1180
+ "name": "Lauren Moore",
1181
+ "type": "Individual",
1182
+ "registration_address": "6185 Shannon Mountain Suite 112, Margaretton, IL 43465",
1183
+ "directors": []
1184
+ },
1185
+ {
1186
+ "entity_id": "ENT-0170",
1187
+ "name": "Michael Schmitt",
1188
+ "type": "Individual",
1189
+ "registration_address": "442 Stephanie Walk, Hawkinsside, IA 12916",
1190
+ "directors": []
1191
+ },
1192
+ {
1193
+ "entity_id": "ENT-0171",
1194
+ "name": "Robert Taylor",
1195
+ "type": "Individual",
1196
+ "registration_address": "36519 Lowery Club, North Jamesmouth, AS 17381",
1197
+ "directors": []
1198
+ },
1199
+ {
1200
+ "entity_id": "ENT-0172",
1201
+ "name": "Ryan Lamb",
1202
+ "type": "Individual",
1203
+ "registration_address": "29667 Patrick Meadow Apt. 532, Joshuaberg, AZ 80993",
1204
+ "directors": []
1205
+ },
1206
+ {
1207
+ "entity_id": "ENT-0173",
1208
+ "name": "Danielle Phillips",
1209
+ "type": "Individual",
1210
+ "registration_address": "14626 Dawn Union Apt. 806, Timothyfort, MI 74642",
1211
+ "directors": []
1212
+ },
1213
+ {
1214
+ "entity_id": "ENT-0174",
1215
+ "name": "Jasmine White",
1216
+ "type": "Individual",
1217
+ "registration_address": "40785 Terri Courts, Lake John, ND 97108",
1218
+ "directors": []
1219
+ },
1220
+ {
1221
+ "entity_id": "ENT-0175",
1222
+ "name": "Zachary Robinson",
1223
+ "type": "Individual",
1224
+ "registration_address": "2239 Drake Square Suite 905, New Stacy, MP 65018",
1225
+ "directors": []
1226
+ },
1227
+ {
1228
+ "entity_id": "ENT-0176",
1229
+ "name": "Casey Johnson",
1230
+ "type": "Individual",
1231
+ "registration_address": "87059 Lindsay Junctions, Port Megan, MD 08307",
1232
+ "directors": []
1233
+ },
1234
+ {
1235
+ "entity_id": "ENT-0177",
1236
+ "name": "Kevin Stark",
1237
+ "type": "Individual",
1238
+ "registration_address": "56915 Morris Estate Suite 752, Jeffreyshire, GU 23484",
1239
+ "directors": []
1240
+ },
1241
+ {
1242
+ "entity_id": "ENT-0178",
1243
+ "name": "Nicholas Phillips",
1244
+ "type": "Individual",
1245
+ "registration_address": "969 Ian Island, Lake Ariana, NM 18935",
1246
+ "directors": []
1247
+ },
1248
+ {
1249
+ "entity_id": "ENT-0179",
1250
+ "name": "Blake Reed",
1251
+ "type": "Individual",
1252
+ "registration_address": "570 Clark Square, West Jonathanville, VA 00668",
1253
+ "directors": []
1254
+ },
1255
+ {
1256
+ "entity_id": "ENT-0180",
1257
+ "name": "Jeffrey Barnes",
1258
+ "type": "Individual",
1259
+ "registration_address": "6586 Maria Turnpike Apt. 271, West Andrewview, CT 10226",
1260
+ "directors": []
1261
+ },
1262
+ {
1263
+ "entity_id": "ENT-0181",
1264
+ "name": "Stephen Martin",
1265
+ "type": "Individual",
1266
+ "registration_address": "9970 Dunlap Expressway, Mooreville, MA 27442",
1267
+ "directors": []
1268
+ },
1269
+ {
1270
+ "entity_id": "ENT-0182",
1271
+ "name": "Jennifer Spencer",
1272
+ "type": "Individual",
1273
+ "registration_address": "PSC 8444, Box 3106, APO AP 72546",
1274
+ "directors": []
1275
+ },
1276
+ {
1277
+ "entity_id": "ENT-0183",
1278
+ "name": "Brittany Ward",
1279
+ "type": "Individual",
1280
+ "registration_address": "973 Anthony Extension Suite 171, Kristenfort, NM 87144",
1281
+ "directors": []
1282
+ },
1283
+ {
1284
+ "entity_id": "ENT-0184",
1285
+ "name": "Martin Hughes",
1286
+ "type": "Individual",
1287
+ "registration_address": "2704 Marshall Fork Suite 902, North Elizabethside, MT 99651",
1288
+ "directors": []
1289
+ },
1290
+ {
1291
+ "entity_id": "ENT-0185",
1292
+ "name": "Kristen Randall",
1293
+ "type": "Individual",
1294
+ "registration_address": "793 Evans Locks Apt. 898, North Stacy, NV 23160",
1295
+ "directors": []
1296
+ },
1297
+ {
1298
+ "entity_id": "ENT-0186",
1299
+ "name": "Carol Lewis",
1300
+ "type": "Individual",
1301
+ "registration_address": "1632 Flores Stream, North Paulfurt, OH 43247",
1302
+ "directors": []
1303
+ },
1304
+ {
1305
+ "entity_id": "ENT-0187",
1306
+ "name": "Kelly Stark",
1307
+ "type": "Individual",
1308
+ "registration_address": "62299 Sara Port Apt. 485, Bakerfort, OK 80318",
1309
+ "directors": []
1310
+ },
1311
+ {
1312
+ "entity_id": "ENT-0188",
1313
+ "name": "Christopher Powell",
1314
+ "type": "Individual",
1315
+ "registration_address": "65307 Prince Brooks Suite 444, Garrisonville, VI 30379",
1316
+ "directors": []
1317
+ },
1318
+ {
1319
+ "entity_id": "ENT-0189",
1320
+ "name": "William Ramos",
1321
+ "type": "Individual",
1322
+ "registration_address": "691 Scott View Suite 785, New Laceyland, ME 93505",
1323
+ "directors": []
1324
+ },
1325
+ {
1326
+ "entity_id": "ENT-0190",
1327
+ "name": "Brandy York",
1328
+ "type": "Individual",
1329
+ "registration_address": "33030 Williams Lake, West Micheal, NH 66708",
1330
+ "directors": []
1331
+ },
1332
+ {
1333
+ "entity_id": "ENT-0191",
1334
+ "name": "Thomas Maldonado",
1335
+ "type": "Individual",
1336
+ "registration_address": "727 Cooper Villages Suite 140, Williamsshire, WI 28592",
1337
+ "directors": []
1338
+ },
1339
+ {
1340
+ "entity_id": "ENT-0192",
1341
+ "name": "Maria Byrd",
1342
+ "type": "Individual",
1343
+ "registration_address": "007 Deborah Rapid Apt. 349, Jenniferview, NE 49846",
1344
+ "directors": []
1345
+ },
1346
+ {
1347
+ "entity_id": "ENT-0193",
1348
+ "name": "Judy Robinson",
1349
+ "type": "Individual",
1350
+ "registration_address": "108 Hoffman Ranch Suite 417, West Vanessamouth, VI 36792",
1351
+ "directors": []
1352
+ },
1353
+ {
1354
+ "entity_id": "ENT-0194",
1355
+ "name": "Michael Stafford",
1356
+ "type": "Individual",
1357
+ "registration_address": "309 Guerrero Springs, Lake Anthony, NM 39246",
1358
+ "directors": []
1359
+ },
1360
+ {
1361
+ "entity_id": "ENT-0195",
1362
+ "name": "Jason Price",
1363
+ "type": "Individual",
1364
+ "registration_address": "3875 Bruce Ville, West Connor, DC 97614",
1365
+ "directors": []
1366
+ },
1367
+ {
1368
+ "entity_id": "ENT-0196",
1369
+ "name": "Robert Hines",
1370
+ "type": "Individual",
1371
+ "registration_address": "135 Julie Inlet Suite 554, Stevenville, NJ 07536",
1372
+ "directors": []
1373
+ },
1374
+ {
1375
+ "entity_id": "ENT-0197",
1376
+ "name": "Lauren Blackburn",
1377
+ "type": "Individual",
1378
+ "registration_address": "168 Gutierrez Ways, East Victoria, MA 54134",
1379
+ "directors": []
1380
+ },
1381
+ {
1382
+ "entity_id": "ENT-0198",
1383
+ "name": "Dr. Victoria Thomas",
1384
+ "type": "Individual",
1385
+ "registration_address": "75250 Shannon Fords, New Kathy, NM 12040",
1386
+ "directors": []
1387
+ },
1388
+ {
1389
+ "entity_id": "ENT-0199",
1390
+ "name": "Jeffrey Jordan",
1391
+ "type": "Individual",
1392
+ "registration_address": "0083 Dodson Islands Apt. 003, Lake Natalie, ME 17400",
1393
+ "directors": []
1394
+ },
1395
+ {
1396
+ "entity_id": "ENT-0200",
1397
+ "name": "Jonathan Torres",
1398
+ "type": "Individual",
1399
+ "registration_address": "4789 Hamilton Spur, West Wendy, NM 47588",
1400
+ "directors": []
1401
+ },
1402
+ {
1403
+ "entity_id": "ENT-0201",
1404
+ "name": "Carmen Meadows",
1405
+ "type": "Individual",
1406
+ "registration_address": "32309 David Station, South Nancyview, WI 70589",
1407
+ "directors": []
1408
+ },
1409
+ {
1410
+ "entity_id": "ENT-0202",
1411
+ "name": "Linda Williams",
1412
+ "type": "Individual",
1413
+ "registration_address": "16761 Wells Drives, Lake Gina, AL 39968",
1414
+ "directors": []
1415
+ },
1416
+ {
1417
+ "entity_id": "ENT-0203",
1418
+ "name": "Brian Meyer",
1419
+ "type": "Individual",
1420
+ "registration_address": "1891 Wilson Coves, Gonzalezborough, WI 34972",
1421
+ "directors": []
1422
+ },
1423
+ {
1424
+ "entity_id": "ENT-0204",
1425
+ "name": "Valerie Howard",
1426
+ "type": "Individual",
1427
+ "registration_address": "87375 Aaron Skyway, North Maryfort, FL 12308",
1428
+ "directors": []
1429
+ },
1430
+ {
1431
+ "entity_id": "ENT-0205",
1432
+ "name": "Angela Cummings",
1433
+ "type": "Individual",
1434
+ "registration_address": "PSC 3744, Box 7012, APO AE 38586",
1435
+ "directors": []
1436
+ },
1437
+ {
1438
+ "entity_id": "ENT-0206",
1439
+ "name": "Michael Simmons",
1440
+ "type": "Individual",
1441
+ "registration_address": "22557 Johns Course, Lisaburgh, DE 53031",
1442
+ "directors": []
1443
+ },
1444
+ {
1445
+ "entity_id": "ENT-0207",
1446
+ "name": "Jesus Houston",
1447
+ "type": "Individual",
1448
+ "registration_address": "2120 Dale Ramp Suite 972, Maxwelltown, VI 90215",
1449
+ "directors": []
1450
+ },
1451
+ {
1452
+ "entity_id": "ENT-0208",
1453
+ "name": "Monica Snow",
1454
+ "type": "Individual",
1455
+ "registration_address": "67014 Smith Ways Apt. 588, South Dorothybury, NJ 45819",
1456
+ "directors": []
1457
+ },
1458
+ {
1459
+ "entity_id": "ENT-0209",
1460
+ "name": "Margaret Hernandez",
1461
+ "type": "Individual",
1462
+ "registration_address": "28772 Karen Islands, West Tara, AR 66945",
1463
+ "directors": []
1464
+ },
1465
+ {
1466
+ "entity_id": "ENT-0210",
1467
+ "name": "Mason Powell",
1468
+ "type": "Individual",
1469
+ "registration_address": "9717 Stewart Parks Apt. 166, New Andrealand, WY 79695",
1470
+ "directors": []
1471
+ },
1472
+ {
1473
+ "entity_id": "ENT-0211",
1474
+ "name": "Marcia Wu",
1475
+ "type": "Individual",
1476
+ "registration_address": "5037 Castro River Suite 571, Port Donnatown, MA 47049",
1477
+ "directors": []
1478
+ },
1479
+ {
1480
+ "entity_id": "ENT-0212",
1481
+ "name": "Tracey Carter",
1482
+ "type": "Individual",
1483
+ "registration_address": "27261 Carr Field, Port Philipmouth, GU 25480",
1484
+ "directors": []
1485
+ },
1486
+ {
1487
+ "entity_id": "ENT-0213",
1488
+ "name": "Ashley Perry",
1489
+ "type": "Individual",
1490
+ "registration_address": "PSC 9177, Box 9827, APO AE 70016",
1491
+ "directors": []
1492
+ },
1493
+ {
1494
+ "entity_id": "ENT-0214",
1495
+ "name": "Kristen Reynolds",
1496
+ "type": "Individual",
1497
+ "registration_address": "922 Paul Rapid, Williamfurt, MT 80323",
1498
+ "directors": []
1499
+ },
1500
+ {
1501
+ "entity_id": "ENT-0215",
1502
+ "name": "Pamela Hill",
1503
+ "type": "Individual",
1504
+ "registration_address": "USNV Chavez, FPO AE 18612",
1505
+ "directors": []
1506
+ },
1507
+ {
1508
+ "entity_id": "ENT-0216",
1509
+ "name": "Michael Goodman",
1510
+ "type": "Individual",
1511
+ "registration_address": "833 Claudia Highway Suite 228, Jenniferstad, OH 63464",
1512
+ "directors": []
1513
+ },
1514
+ {
1515
+ "entity_id": "ENT-0217",
1516
+ "name": "Terri Mckinney",
1517
+ "type": "Individual",
1518
+ "registration_address": "0810 Thomas Skyway Apt. 342, Francesberg, MP 08631",
1519
+ "directors": []
1520
+ },
1521
+ {
1522
+ "entity_id": "ENT-0218",
1523
+ "name": "Elizabeth Molina",
1524
+ "type": "Individual",
1525
+ "registration_address": "98386 William Underpass Suite 066, Fryemouth, OH 07552",
1526
+ "directors": []
1527
+ },
1528
+ {
1529
+ "entity_id": "ENT-0219",
1530
+ "name": "David Oliver",
1531
+ "type": "Individual",
1532
+ "registration_address": "59893 Kelly Fall Apt. 228, South Billyview, OH 35135",
1533
+ "directors": []
1534
+ },
1535
+ {
1536
+ "entity_id": "ENT-0220",
1537
+ "name": "Kevin Scott",
1538
+ "type": "Individual",
1539
+ "registration_address": "25909 Henry Ports, Charlesmouth, NC 29331",
1540
+ "directors": []
1541
+ },
1542
+ {
1543
+ "entity_id": "ENT-0221",
1544
+ "name": "Kelly Hartman",
1545
+ "type": "Individual",
1546
+ "registration_address": "53355 Carter Terrace Suite 801, Seanbury, AZ 89964",
1547
+ "directors": []
1548
+ },
1549
+ {
1550
+ "entity_id": "ENT-0222",
1551
+ "name": "Jane Hogan",
1552
+ "type": "Individual",
1553
+ "registration_address": "408 Robertson Pass Suite 704, West Willie, CT 22441",
1554
+ "directors": []
1555
+ },
1556
+ {
1557
+ "entity_id": "ENT-0223",
1558
+ "name": "Patricia Ferguson",
1559
+ "type": "Individual",
1560
+ "registration_address": "361 Amanda Squares, Lucasland, WA 90422",
1561
+ "directors": []
1562
+ },
1563
+ {
1564
+ "entity_id": "ENT-0224",
1565
+ "name": "Joe Rivera",
1566
+ "type": "Individual",
1567
+ "registration_address": "48193 Russell Mission, Hamiltontown, MS 88751",
1568
+ "directors": []
1569
+ },
1570
+ {
1571
+ "entity_id": "ENT-0225",
1572
+ "name": "Aaron Cortez",
1573
+ "type": "Individual",
1574
+ "registration_address": "158 Keith Spur, Catherineport, WV 57868",
1575
+ "directors": []
1576
+ },
1577
+ {
1578
+ "entity_id": "ENT-0226",
1579
+ "name": "Rodney Johnson",
1580
+ "type": "Individual",
1581
+ "registration_address": "68424 Bernard Branch, North Bobby, OK 78705",
1582
+ "directors": []
1583
+ },
1584
+ {
1585
+ "entity_id": "ENT-0227",
1586
+ "name": "Joshua Miller",
1587
+ "type": "Individual",
1588
+ "registration_address": "68222 Christina Glen Apt. 129, Port Karenside, NH 84999",
1589
+ "directors": []
1590
+ },
1591
+ {
1592
+ "entity_id": "ENT-0228",
1593
+ "name": "Donna Jones",
1594
+ "type": "Individual",
1595
+ "registration_address": "5231 Harvey Fields Suite 775, Heatherberg, OK 74800",
1596
+ "directors": []
1597
+ },
1598
+ {
1599
+ "entity_id": "ENT-0229",
1600
+ "name": "Eugene Patterson",
1601
+ "type": "Individual",
1602
+ "registration_address": "64525 Ford Knolls, Tonyville, HI 85114",
1603
+ "directors": []
1604
+ },
1605
+ {
1606
+ "entity_id": "ENT-0230",
1607
+ "name": "Sarah Trevino",
1608
+ "type": "Individual",
1609
+ "registration_address": "1108 Lisa Prairie, Hammondborough, PW 05305",
1610
+ "directors": []
1611
+ },
1612
+ {
1613
+ "entity_id": "ENT-0231",
1614
+ "name": "Kimberly Lutz",
1615
+ "type": "Individual",
1616
+ "registration_address": "6394 Steven Pass, South Michaeltown, TN 31811",
1617
+ "directors": []
1618
+ },
1619
+ {
1620
+ "entity_id": "ENT-0232",
1621
+ "name": "Renee Mendez",
1622
+ "type": "Individual",
1623
+ "registration_address": "2299 Jill Orchard, Billyfort, IN 08740",
1624
+ "directors": []
1625
+ },
1626
+ {
1627
+ "entity_id": "ENT-0233",
1628
+ "name": "David Barnett",
1629
+ "type": "Individual",
1630
+ "registration_address": "7700 Garcia Pike Suite 498, South Desiree, MN 77529",
1631
+ "directors": []
1632
+ },
1633
+ {
1634
+ "entity_id": "ENT-0234",
1635
+ "name": "Sara Black",
1636
+ "type": "Individual",
1637
+ "registration_address": "655 Sparks Rapids, New Nicolemouth, GA 30646",
1638
+ "directors": []
1639
+ },
1640
+ {
1641
+ "entity_id": "ENT-0235",
1642
+ "name": "Mason Lewis",
1643
+ "type": "Individual",
1644
+ "registration_address": "136 Cortez Orchard Suite 739, Lake Martha, AK 32439",
1645
+ "directors": []
1646
+ },
1647
+ {
1648
+ "entity_id": "ENT-0236",
1649
+ "name": "Kenneth Martin",
1650
+ "type": "Individual",
1651
+ "registration_address": "202 Nielsen Path, Greeneshire, SC 02941",
1652
+ "directors": []
1653
+ },
1654
+ {
1655
+ "entity_id": "ENT-0237",
1656
+ "name": "Monica Nicholson",
1657
+ "type": "Individual",
1658
+ "registration_address": "USNS Cole, FPO AA 63634",
1659
+ "directors": []
1660
+ },
1661
+ {
1662
+ "entity_id": "ENT-0238",
1663
+ "name": "Ronald Burke",
1664
+ "type": "Individual",
1665
+ "registration_address": "842 Nielsen Ranch, East Nicholasberg, CT 02671",
1666
+ "directors": []
1667
+ },
1668
+ {
1669
+ "entity_id": "ENT-0239",
1670
+ "name": "Scott Gordon",
1671
+ "type": "Individual",
1672
+ "registration_address": "127 Natalie Place, North Timothyberg, MH 79599",
1673
+ "directors": []
1674
+ },
1675
+ {
1676
+ "entity_id": "ENT-0240",
1677
+ "name": "April Pace",
1678
+ "type": "Individual",
1679
+ "registration_address": "650 Perez Unions Suite 659, South Dennisfort, WI 30976",
1680
+ "directors": []
1681
+ },
1682
+ {
1683
+ "entity_id": "ENT-0241",
1684
+ "name": "Campbell PLC",
1685
+ "type": "Corporate",
1686
+ "registration_address": "09818 Nicholas Ford, Robertville, FL 56347",
1687
+ "directors": [
1688
+ "ENT-0029",
1689
+ "ENT-0007",
1690
+ "ENT-0190"
1691
+ ]
1692
+ },
1693
+ {
1694
+ "entity_id": "ENT-0242",
1695
+ "name": "Richards, Green and Herrera",
1696
+ "type": "Corporate",
1697
+ "registration_address": "636 White Points Suite 449, Kimfurt, WA 18597",
1698
+ "directors": [
1699
+ "ENT-0063",
1700
+ "ENT-0058"
1701
+ ]
1702
+ },
1703
+ {
1704
+ "entity_id": "ENT-0243",
1705
+ "name": "Wilson, Hall and Logan",
1706
+ "type": "Corporate",
1707
+ "registration_address": "USS Lewis, FPO AA 44860",
1708
+ "directors": [
1709
+ "ENT-0189"
1710
+ ]
1711
+ },
1712
+ {
1713
+ "entity_id": "ENT-0244",
1714
+ "name": "Mendez, Cohen and Williams",
1715
+ "type": "Corporate",
1716
+ "registration_address": "27961 Jose Land, New Benjaminfurt, MO 80974",
1717
+ "directors": [
1718
+ "ENT-0174"
1719
+ ]
1720
+ },
1721
+ {
1722
+ "entity_id": "ENT-0245",
1723
+ "name": "Meyer, Dawson and Harper",
1724
+ "type": "Corporate",
1725
+ "registration_address": "USNS Bowman, FPO AA 01904",
1726
+ "directors": [
1727
+ "ENT-0229",
1728
+ "ENT-0140",
1729
+ "ENT-0023"
1730
+ ]
1731
+ },
1732
+ {
1733
+ "entity_id": "ENT-0246",
1734
+ "name": "Jefferson PLC",
1735
+ "type": "Corporate",
1736
+ "registration_address": "883 Emily Lake, Lake Aaron, GA 11883",
1737
+ "directors": [
1738
+ "ENT-0109",
1739
+ "ENT-0009",
1740
+ "ENT-0008"
1741
+ ]
1742
+ },
1743
+ {
1744
+ "entity_id": "ENT-0247",
1745
+ "name": "Chan-Gomez",
1746
+ "type": "Corporate",
1747
+ "registration_address": "011 Barber Points, Michaelview, IN 79978",
1748
+ "directors": [
1749
+ "ENT-0056"
1750
+ ]
1751
+ },
1752
+ {
1753
+ "entity_id": "ENT-0248",
1754
+ "name": "Gibson Group",
1755
+ "type": "Corporate",
1756
+ "registration_address": "68181 Morgan Crescent Suite 894, Churchshire, NJ 32387",
1757
+ "directors": [
1758
+ "ENT-0130"
1759
+ ]
1760
+ },
1761
+ {
1762
+ "entity_id": "ENT-0249",
1763
+ "name": "Ali-Ellis",
1764
+ "type": "Corporate",
1765
+ "registration_address": "1416 Erica Forks, Robertstad, NC 70709",
1766
+ "directors": [
1767
+ "ENT-0007",
1768
+ "ENT-0144",
1769
+ "ENT-0051"
1770
+ ]
1771
+ },
1772
+ {
1773
+ "entity_id": "ENT-0250",
1774
+ "name": "Haynes LLC",
1775
+ "type": "Corporate",
1776
+ "registration_address": "5182 Edwards Forge, Ianborough, NM 97115",
1777
+ "directors": [
1778
+ "ENT-0167",
1779
+ "ENT-0180",
1780
+ "ENT-0140"
1781
+ ]
1782
+ },
1783
+ {
1784
+ "entity_id": "ENT-0251",
1785
+ "name": "Young and Sons",
1786
+ "type": "Corporate",
1787
+ "registration_address": "33952 David Common, Austinside, AZ 63715",
1788
+ "directors": [
1789
+ "ENT-0057",
1790
+ "ENT-0115"
1791
+ ]
1792
+ },
1793
+ {
1794
+ "entity_id": "ENT-0252",
1795
+ "name": "Oliver-Vasquez",
1796
+ "type": "Corporate",
1797
+ "registration_address": "Unit 9472 Box 8463, DPO AP 17310",
1798
+ "directors": [
1799
+ "ENT-0072",
1800
+ "ENT-0208",
1801
+ "ENT-0223"
1802
+ ]
1803
+ },
1804
+ {
1805
+ "entity_id": "ENT-0253",
1806
+ "name": "Fox Group",
1807
+ "type": "Corporate",
1808
+ "registration_address": "562 Bray Square, Stewarttown, AL 88857",
1809
+ "directors": [
1810
+ "ENT-0195"
1811
+ ]
1812
+ },
1813
+ {
1814
+ "entity_id": "ENT-0254",
1815
+ "name": "Gray Inc",
1816
+ "type": "Corporate",
1817
+ "registration_address": "84347 Diaz Parks Suite 365, Melissaview, NV 24079",
1818
+ "directors": [
1819
+ "ENT-0179"
1820
+ ]
1821
+ },
1822
+ {
1823
+ "entity_id": "ENT-0255",
1824
+ "name": "Anderson, Johnston and Perez",
1825
+ "type": "Corporate",
1826
+ "registration_address": "86632 Thomas Branch Apt. 672, Kristenport, KS 74181",
1827
+ "directors": [
1828
+ "ENT-0088",
1829
+ "ENT-0072"
1830
+ ]
1831
+ },
1832
+ {
1833
+ "entity_id": "ENT-0256",
1834
+ "name": "Williams, Garcia and Martin",
1835
+ "type": "Corporate",
1836
+ "registration_address": "1754 Ward Point Suite 506, West Michelleborough, OK 75984",
1837
+ "directors": [
1838
+ "ENT-0056"
1839
+ ]
1840
+ },
1841
+ {
1842
+ "entity_id": "ENT-0257",
1843
+ "name": "Banks, Thompson and Deleon",
1844
+ "type": "Corporate",
1845
+ "registration_address": "716 Ford Drive Apt. 569, Sweeneyland, CO 21734",
1846
+ "directors": [
1847
+ "ENT-0027",
1848
+ "ENT-0024"
1849
+ ]
1850
+ },
1851
+ {
1852
+ "entity_id": "ENT-0258",
1853
+ "name": "Perez-Stewart",
1854
+ "type": "Corporate",
1855
+ "registration_address": "647 Adkins Pike Suite 622, East Jessicaview, WA 92342",
1856
+ "directors": [
1857
+ "ENT-0025",
1858
+ "ENT-0092"
1859
+ ]
1860
+ },
1861
+ {
1862
+ "entity_id": "ENT-0259",
1863
+ "name": "Miller, Jackson and Garcia",
1864
+ "type": "Corporate",
1865
+ "registration_address": "006 Dalton River Apt. 164, East Joan, NV 82615",
1866
+ "directors": [
1867
+ "ENT-0155",
1868
+ "ENT-0068"
1869
+ ]
1870
+ },
1871
+ {
1872
+ "entity_id": "ENT-0260",
1873
+ "name": "Anderson and Sons",
1874
+ "type": "Corporate",
1875
+ "registration_address": "7784 Taylor Square Apt. 997, Millsside, ME 46005",
1876
+ "directors": [
1877
+ "ENT-0187"
1878
+ ]
1879
+ },
1880
+ {
1881
+ "entity_id": "ENT-0261",
1882
+ "name": "Fernandez-Ballard",
1883
+ "type": "Corporate",
1884
+ "registration_address": "4240 Alexandra Trace Apt. 547, Lake Sandrafort, ME 01698",
1885
+ "directors": [
1886
+ "ENT-0138",
1887
+ "ENT-0032"
1888
+ ]
1889
+ },
1890
+ {
1891
+ "entity_id": "ENT-0262",
1892
+ "name": "Yates-Harper",
1893
+ "type": "Corporate",
1894
+ "registration_address": "68663 Jennifer Rue Suite 634, South Colleenhaven, WV 80876",
1895
+ "directors": [
1896
+ "ENT-0021",
1897
+ "ENT-0142"
1898
+ ]
1899
+ },
1900
+ {
1901
+ "entity_id": "ENT-0263",
1902
+ "name": "Cohen, Mitchell and Paul",
1903
+ "type": "Corporate",
1904
+ "registration_address": "12241 Williamson Groves Suite 350, North Tara, AK 24872",
1905
+ "directors": [
1906
+ "ENT-0213",
1907
+ "ENT-0161"
1908
+ ]
1909
+ },
1910
+ {
1911
+ "entity_id": "ENT-0264",
1912
+ "name": "Campbell and Sons",
1913
+ "type": "Corporate",
1914
+ "registration_address": "12073 Fisher Turnpike, Boltonmouth, UT 04660",
1915
+ "directors": [
1916
+ "ENT-0227",
1917
+ "ENT-0221",
1918
+ "ENT-0093"
1919
+ ]
1920
+ },
1921
+ {
1922
+ "entity_id": "ENT-0265",
1923
+ "name": "Miller-Christensen",
1924
+ "type": "Corporate",
1925
+ "registration_address": "1872 Paula Glen Suite 013, Wisemouth, IA 97182",
1926
+ "directors": [
1927
+ "ENT-0050",
1928
+ "ENT-0181",
1929
+ "ENT-0018"
1930
+ ]
1931
+ },
1932
+ {
1933
+ "entity_id": "ENT-0266",
1934
+ "name": "Gonzalez Ltd",
1935
+ "type": "Corporate",
1936
+ "registration_address": "6452 Julie Plaza, West Timothyport, ID 47742",
1937
+ "directors": [
1938
+ "ENT-0170"
1939
+ ]
1940
+ },
1941
+ {
1942
+ "entity_id": "ENT-0267",
1943
+ "name": "Boyer and Sons",
1944
+ "type": "Corporate",
1945
+ "registration_address": "Unit 3650 Box 2491, DPO AA 32363",
1946
+ "directors": [
1947
+ "ENT-0198"
1948
+ ]
1949
+ },
1950
+ {
1951
+ "entity_id": "ENT-0268",
1952
+ "name": "Novak PLC",
1953
+ "type": "Corporate",
1954
+ "registration_address": "925 John Parks Apt. 950, West Deannaside, WY 14577",
1955
+ "directors": [
1956
+ "ENT-0021",
1957
+ "ENT-0219"
1958
+ ]
1959
+ },
1960
+ {
1961
+ "entity_id": "ENT-0269",
1962
+ "name": "Freeman LLC",
1963
+ "type": "Corporate",
1964
+ "registration_address": "Unit 5730 Box 6524, DPO AE 64110",
1965
+ "directors": [
1966
+ "ENT-0222"
1967
+ ]
1968
+ },
1969
+ {
1970
+ "entity_id": "ENT-0270",
1971
+ "name": "Kim, Phillips and Terry",
1972
+ "type": "Corporate",
1973
+ "registration_address": "557 Dillon Rapid, North Amanda, NV 39255",
1974
+ "directors": [
1975
+ "ENT-0098"
1976
+ ]
1977
+ },
1978
+ {
1979
+ "entity_id": "ENT-0271",
1980
+ "name": "Weaver-Gibson",
1981
+ "type": "Corporate",
1982
+ "registration_address": "209 Parsons Garden Suite 186, New Felicia, WI 72782",
1983
+ "directors": [
1984
+ "ENT-0117",
1985
+ "ENT-0163"
1986
+ ]
1987
+ },
1988
+ {
1989
+ "entity_id": "ENT-0272",
1990
+ "name": "Austin LLC",
1991
+ "type": "Corporate",
1992
+ "registration_address": "18102 Morgan Flats Apt. 731, New Darlenefurt, TN 64714",
1993
+ "directors": [
1994
+ "ENT-0042",
1995
+ "ENT-0095"
1996
+ ]
1997
+ },
1998
+ {
1999
+ "entity_id": "ENT-0273",
2000
+ "name": "Hanson, Garza and Williams",
2001
+ "type": "Corporate",
2002
+ "registration_address": "37170 Grant Mall, Lauraton, GU 81363",
2003
+ "directors": [
2004
+ "ENT-0054",
2005
+ "ENT-0172"
2006
+ ]
2007
+ },
2008
+ {
2009
+ "entity_id": "ENT-0274",
2010
+ "name": "Rice-Navarro",
2011
+ "type": "Corporate",
2012
+ "registration_address": "81138 Lopez Pine, New Colleen, HI 73694",
2013
+ "directors": [
2014
+ "ENT-0180",
2015
+ "ENT-0240"
2016
+ ]
2017
+ },
2018
+ {
2019
+ "entity_id": "ENT-0275",
2020
+ "name": "Grant, Reese and Miranda",
2021
+ "type": "Corporate",
2022
+ "registration_address": "612 Andrea Parkways Suite 289, Mahoneymouth, OH 43054",
2023
+ "directors": [
2024
+ "ENT-0166",
2025
+ "ENT-0019",
2026
+ "ENT-0156"
2027
+ ]
2028
+ },
2029
+ {
2030
+ "entity_id": "ENT-0276",
2031
+ "name": "Gutierrez-Schultz",
2032
+ "type": "Corporate",
2033
+ "registration_address": "398 Nicholas Plaza Suite 577, Smithton, LA 78588",
2034
+ "directors": [
2035
+ "ENT-0044",
2036
+ "ENT-0137",
2037
+ "ENT-0187"
2038
+ ]
2039
+ },
2040
+ {
2041
+ "entity_id": "ENT-0277",
2042
+ "name": "Holmes LLC",
2043
+ "type": "Corporate",
2044
+ "registration_address": "50488 Clinton Mount, Ericview, MN 76805",
2045
+ "directors": [
2046
+ "ENT-0042"
2047
+ ]
2048
+ },
2049
+ {
2050
+ "entity_id": "ENT-0278",
2051
+ "name": "Hall LLC",
2052
+ "type": "Corporate",
2053
+ "registration_address": "315 Thompson Views Apt. 940, Millerton, PW 44330",
2054
+ "directors": [
2055
+ "ENT-0098",
2056
+ "ENT-0070"
2057
+ ]
2058
+ },
2059
+ {
2060
+ "entity_id": "ENT-0279",
2061
+ "name": "Hobbs-Hamilton",
2062
+ "type": "Corporate",
2063
+ "registration_address": "USS Kane, FPO AE 98500",
2064
+ "directors": [
2065
+ "ENT-0177",
2066
+ "ENT-0143",
2067
+ "ENT-0057"
2068
+ ]
2069
+ },
2070
+ {
2071
+ "entity_id": "ENT-0280",
2072
+ "name": "Atkinson, Mcfarland and Walters",
2073
+ "type": "Corporate",
2074
+ "registration_address": "8058 Mark Square, East Brent, VA 51996",
2075
+ "directors": [
2076
+ "ENT-0084",
2077
+ "ENT-0216",
2078
+ "ENT-0197"
2079
+ ]
2080
+ },
2081
+ {
2082
+ "entity_id": "ENT-0281",
2083
+ "name": "Mullins-Johnston",
2084
+ "type": "Corporate",
2085
+ "registration_address": "6225 Thomas Summit Apt. 864, South Warrenberg, WV 18178",
2086
+ "directors": [
2087
+ "ENT-0059"
2088
+ ]
2089
+ },
2090
+ {
2091
+ "entity_id": "ENT-0282",
2092
+ "name": "Hansen-Freeman",
2093
+ "type": "Corporate",
2094
+ "registration_address": "983 Charles Trail, Morrisshire, CO 15250",
2095
+ "directors": [
2096
+ "ENT-0207"
2097
+ ]
2098
+ },
2099
+ {
2100
+ "entity_id": "ENT-0283",
2101
+ "name": "Gutierrez, Diaz and Lee",
2102
+ "type": "Corporate",
2103
+ "registration_address": "2597 Scott Viaduct, East Gina, FL 99818",
2104
+ "directors": [
2105
+ "ENT-0103",
2106
+ "ENT-0069"
2107
+ ]
2108
+ },
2109
+ {
2110
+ "entity_id": "ENT-0284",
2111
+ "name": "Farrell, Rodriguez and Brown",
2112
+ "type": "Corporate",
2113
+ "registration_address": "USNS Melton, FPO AA 02301",
2114
+ "directors": [
2115
+ "ENT-0055"
2116
+ ]
2117
+ },
2118
+ {
2119
+ "entity_id": "ENT-0285",
2120
+ "name": "Benson-Rodriguez",
2121
+ "type": "Corporate",
2122
+ "registration_address": "3833 Dunn Road, Lake Holly, AK 49863",
2123
+ "directors": [
2124
+ "ENT-0225",
2125
+ "ENT-0184",
2126
+ "ENT-0081"
2127
+ ]
2128
+ },
2129
+ {
2130
+ "entity_id": "ENT-0286",
2131
+ "name": "Escobar, Rose and Scott",
2132
+ "type": "Corporate",
2133
+ "registration_address": "940 Pena Branch, South Donnastad, VI 14642",
2134
+ "directors": [
2135
+ "ENT-0168"
2136
+ ]
2137
+ },
2138
+ {
2139
+ "entity_id": "ENT-0287",
2140
+ "name": "Carter Ltd",
2141
+ "type": "Corporate",
2142
+ "registration_address": "157 Jacob Parkway Suite 800, New Kevin, NM 52064",
2143
+ "directors": [
2144
+ "ENT-0102",
2145
+ "ENT-0227"
2146
+ ]
2147
+ },
2148
+ {
2149
+ "entity_id": "ENT-0288",
2150
+ "name": "Moore, Reed and Bell",
2151
+ "type": "Corporate",
2152
+ "registration_address": "404 Zamora Via, New Stacybury, FL 45299",
2153
+ "directors": [
2154
+ "ENT-0118",
2155
+ "ENT-0037",
2156
+ "ENT-0068"
2157
+ ]
2158
+ },
2159
+ {
2160
+ "entity_id": "ENT-0289",
2161
+ "name": "Sandoval-Miller",
2162
+ "type": "Corporate",
2163
+ "registration_address": "3926 Browning Isle, Danielsborough, SD 18664",
2164
+ "directors": [
2165
+ "ENT-0064"
2166
+ ]
2167
+ },
2168
+ {
2169
+ "entity_id": "ENT-0290",
2170
+ "name": "Weaver, Mcbride and Huffman",
2171
+ "type": "Corporate",
2172
+ "registration_address": "2925 Angela Stravenue, East Lonnieberg, VA 04365",
2173
+ "directors": [
2174
+ "ENT-0144",
2175
+ "ENT-0138",
2176
+ "ENT-0068"
2177
+ ]
2178
+ },
2179
+ {
2180
+ "entity_id": "ENT-0291",
2181
+ "name": "Beard-Gutierrez",
2182
+ "type": "Corporate",
2183
+ "registration_address": "423 David Burg Suite 999, New Jesse, TX 03919",
2184
+ "directors": [
2185
+ "ENT-0150",
2186
+ "ENT-0110",
2187
+ "ENT-0230"
2188
+ ]
2189
+ },
2190
+ {
2191
+ "entity_id": "ENT-0292",
2192
+ "name": "Miller-Chan",
2193
+ "type": "Corporate",
2194
+ "registration_address": "526 Wells Estates Apt. 306, West Stephaniebury, WA 88494",
2195
+ "directors": [
2196
+ "ENT-0103",
2197
+ "ENT-0093",
2198
+ "ENT-0057"
2199
+ ]
2200
+ },
2201
+ {
2202
+ "entity_id": "ENT-0293",
2203
+ "name": "Todd Inc",
2204
+ "type": "Corporate",
2205
+ "registration_address": "757 Ronald Trail Apt. 965, Carrshire, PA 70776",
2206
+ "directors": [
2207
+ "ENT-0131"
2208
+ ]
2209
+ },
2210
+ {
2211
+ "entity_id": "ENT-0294",
2212
+ "name": "Davidson, Padilla and Johnson",
2213
+ "type": "Corporate",
2214
+ "registration_address": "38860 Black Roads Apt. 347, Wilkersonport, NH 22322",
2215
+ "directors": [
2216
+ "ENT-0024",
2217
+ "ENT-0194"
2218
+ ]
2219
+ },
2220
+ {
2221
+ "entity_id": "ENT-0295",
2222
+ "name": "Phillips-Ellison",
2223
+ "type": "Corporate",
2224
+ "registration_address": "7181 Kimberly Square, South Robert, NV 03766",
2225
+ "directors": [
2226
+ "ENT-0221"
2227
+ ]
2228
+ },
2229
+ {
2230
+ "entity_id": "ENT-0296",
2231
+ "name": "Chavez Ltd",
2232
+ "type": "Corporate",
2233
+ "registration_address": "PSC 7145, Box 2111, APO AP 59404",
2234
+ "directors": [
2235
+ "ENT-0040"
2236
+ ]
2237
+ },
2238
+ {
2239
+ "entity_id": "ENT-0297",
2240
+ "name": "Cox, Mills and Cruz",
2241
+ "type": "Corporate",
2242
+ "registration_address": "8602 Cunningham Shoals, East Misty, HI 93830",
2243
+ "directors": [
2244
+ "ENT-0041",
2245
+ "ENT-0203",
2246
+ "ENT-0175"
2247
+ ]
2248
+ },
2249
+ {
2250
+ "entity_id": "ENT-0298",
2251
+ "name": "Barnes LLC",
2252
+ "type": "Corporate",
2253
+ "registration_address": "2123 Cindy Glen Apt. 777, New Nicolebury, IL 77684",
2254
+ "directors": [
2255
+ "ENT-0153",
2256
+ "ENT-0017"
2257
+ ]
2258
+ },
2259
+ {
2260
+ "entity_id": "ENT-0299",
2261
+ "name": "Alvarez, Ortiz and Miller",
2262
+ "type": "Corporate",
2263
+ "registration_address": "498 Brandon Drive, Lake Michaelberg, PR 04751",
2264
+ "directors": [
2265
+ "ENT-0098",
2266
+ "ENT-0153"
2267
+ ]
2268
+ },
2269
+ {
2270
+ "entity_id": "ENT-0300",
2271
+ "name": "Lane, Morrison and Rivera",
2272
+ "type": "Corporate",
2273
+ "registration_address": "2249 Tammy Summit, Sarahland, WI 39730",
2274
+ "directors": [
2275
+ "ENT-0136",
2276
+ "ENT-0065"
2277
+ ]
2278
+ },
2279
+ {
2280
+ "_task": "EASY - The False Positive",
2281
+ "entity_id": "ENT-9001",
2282
+ "name": "Springfield Construction LLC",
2283
+ "type": "Corporate",
2284
+ "registration_address": "404 Industrial Way, IL",
2285
+ "directors": []
2286
+ },
2287
+ {
2288
+ "_task": "EASY - The False Positive",
2289
+ "entity_id": "ENT-9002",
2290
+ "name": "Global Tractor Sales Ltd.",
2291
+ "type": "Corporate",
2292
+ "registration_address": "High-Risk Jurisdiction, Cyprus",
2293
+ "directors": []
2294
+ },
2295
+ {
2296
+ "_task": "MEDIUM - The Smurfs (Structuring)",
2297
+ "entity_id": "ENT-9010",
2298
+ "name": "Downtown Used Auto",
2299
+ "type": "Corporate",
2300
+ "registration_address": "101 Main St",
2301
+ "directors": []
2302
+ },
2303
+ {
2304
+ "_task": "MEDIUM - The Smurfs (Structuring)",
2305
+ "entity_id": "ENT-9011",
2306
+ "name": "Sam Student",
2307
+ "type": "Individual",
2308
+ "registration_address": "Dorm 4B, State Uni",
2309
+ "directors": []
2310
+ },
2311
+ {
2312
+ "_task": "MEDIUM - The Smurfs (Structuring)",
2313
+ "entity_id": "ENT-9012",
2314
+ "name": "Alex Undergrad",
2315
+ "type": "Individual",
2316
+ "registration_address": "Dorm 4B, State Uni",
2317
+ "directors": []
2318
+ },
2319
+ {
2320
+ "_task": "MEDIUM - The Smurfs (Structuring)",
2321
+ "entity_id": "ENT-9013",
2322
+ "name": "Taylor Freshman",
2323
+ "type": "Individual",
2324
+ "registration_address": "Dorm 4B, State Uni",
2325
+ "directors": []
2326
+ },
2327
+ {
2328
+ "_task": "HARD - The Corporate Mirage (The Mastermind)",
2329
+ "entity_id": "ENT-9025",
2330
+ "name": "Robert House",
2331
+ "type": "Individual",
2332
+ "registration_address": "1 Billionaire Row, NY",
2333
+ "directors": []
2334
+ },
2335
+ {
2336
+ "_task": "HARD - The Corporate Mirage (Parent Company)",
2337
+ "entity_id": "ENT-9024",
2338
+ "name": "Apex Management Corp",
2339
+ "type": "Corporate",
2340
+ "registration_address": "100 Wall St, NY",
2341
+ "directors": [
2342
+ "ENT-9025"
2343
+ ]
2344
+ },
2345
+ {
2346
+ "_task": "HARD - The Corporate Mirage (Sender)",
2347
+ "entity_id": "ENT-9021",
2348
+ "name": "Major Logistics Firm LLC",
2349
+ "type": "Corporate",
2350
+ "registration_address": "Port Authority, NJ",
2351
+ "directors": [
2352
+ "ENT-9024"
2353
+ ]
2354
+ },
2355
+ {
2356
+ "_task": "HARD - The Corporate Mirage (The Middleman)",
2357
+ "entity_id": "ENT-9022",
2358
+ "name": "Generic Consulting Agency",
2359
+ "type": "Corporate",
2360
+ "registration_address": "500 Madison Ave, NY",
2361
+ "directors": []
2362
+ },
2363
+ {
2364
+ "_task": "HARD - The Corporate Mirage (The Offshore Loop)",
2365
+ "entity_id": "ENT-9023",
2366
+ "name": "Island Holding Company",
2367
+ "type": "Corporate",
2368
+ "registration_address": "Grand Cayman",
2369
+ "directors": [
2370
+ "ENT-9025"
2371
+ ]
2372
+ },
2373
+ {
2374
+ "_task": "HARD - The Corporate Mirage (The False Flag Trap)",
2375
+ "entity_id": "ENT-9026",
2376
+ "name": "Al-Qaeda Watchlist Target",
2377
+ "type": "Individual",
2378
+ "registration_address": "Unknown",
2379
+ "directors": []
2380
+ }
2381
+ ]
data/transactions.json ADDED
The diff for this file is too large to render. See raw diff
 
graders/aml_easy.py ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ def grade(trajectory) -> float:
2
+ # OpenEnv graders usually receive the full trajectory of (observation, action, reward, state)
3
+ # We just need to look at the final action
4
+ final_action = trajectory[-1].action.action
5
+
6
+ if final_action.action_type != "submit_decision":
7
+ return 0.01 # Failed to submit a decision
8
+
9
+ if final_action.decision == "CLEAR":
10
+ return 1.0 # Correctly identified the False Positive
11
+
12
+ return 0.1 # Incorrectly flagged an innocent company
graders/aml_hard.py ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ def grade(trajectory) -> float:
2
+ final_action = trajectory[-1].action.action
3
+
4
+ if final_action.action_type != "submit_decision":
5
+ return 0.01
6
+
7
+ if final_action.decision == "FRAUD":
8
+ evidence = final_action.evidence_links
9
+
10
+ # Massive penalty if they fell for the Al-Qaeda false flag
11
+ if "ACC-9026" in evidence or "ENT-9026" in evidence:
12
+ return 0.05
13
+
14
+ # Check if they found the hidden circular loop
15
+ caught = sum(1 for link in ["ACC-9021", "ACC-9022", "ACC-9023"] if link in evidence)
16
+ if caught == 3:
17
+ return 1.0
18
+ elif caught > 0:
19
+ return 0.5 # Found part of the loop
20
+
21
+ return 0.1
graders/aml_medium.py ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ def grade(trajectory) -> float:
2
+ final_action = trajectory[-1].action.action
3
+
4
+ if final_action.action_type != "submit_decision":
5
+ return 0.01
6
+
7
+ if final_action.decision == "FRAUD":
8
+ evidence = final_action.evidence_links
9
+ # Check if they caught the 3 Smurfs
10
+ caught = sum(1 for smurf in ["ACC-9011", "ACC-9012", "ACC-9013"] if smurf in evidence)
11
+ if caught == 3:
12
+ return 1.0
13
+ elif caught > 0:
14
+ return 0.4 + (caught * 0.1) # Partial credit
15
+
16
+ return 0.1 # Failed to catch the structuring
inference.py ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ AML Investigator - Baseline Inference Script
3
+ Loops through all 3 tasks to satisfy the Phase 2 Validator.
4
+ """
5
+ import asyncio
6
+ import os
7
+ import json
8
+ import textwrap
9
+ from typing import List, Optional
10
+ from openai import OpenAI
11
+
12
+ # Adjust the import based on your openenv server setup
13
+ from openenv.core.env_server.interfaces import Environment
14
+ # If running locally without docker wrapper for validation, you might need to import your Env directly
15
+ from server.AML_env_environment import AmlEnvironment
16
+ from models import AmlAction
17
+
18
+ API_KEY = os.getenv("HF_TOKEN") or os.getenv("OPENAI_API_KEY")
19
+ API_BASE_URL = os.getenv("API_BASE_URL") or "https://router.huggingface.co/v1"
20
+ MODEL_NAME = os.getenv("MODEL_NAME") or "Qwen/Qwen2.5-72B-Instruct"
21
+
22
+ # Must match openenv.yaml EXACTLY
23
+ TASKS = ["aml_easy", "aml_medium", "aml_hard"]
24
+ BENCHMARK = "aml_investigator"
25
+ MAX_STEPS = 25 # High enough to allow the budget to kill the episode organically
26
+
27
+ SYSTEM_PROMPT = textwrap.dedent(
28
+ """
29
+ You are a Tier 1 AML Compliance Investigator.
30
+ You must investigate the provided alert by querying the bank's internal APIs.
31
+
32
+ You have a strict API budget. Be efficient.
33
+ Respond with EXACTLY ONE valid JSON object representing your action. Do not include markdown formatting or explanations.
34
+
35
+ Available Action JSON Schemas:
36
+ 1. {"action": {"action_type": "query_transactions", "account_id": "ACC-XXXX", "limit": 10, "offset": 0}}
37
+ 2. {"action": {"action_type": "search_transactions", "account_id": "ACC-XXXX", "keyword": "invoice"}}
38
+ 3. {"action": {"action_type": "get_kyc_record", "entity_id": "ENT-XXXX"}}
39
+ 4. {"action": {"action_type": "submit_decision", "decision": "FRAUD", "evidence_links": ["ACC-1234"]}} (Use "CLEAR" for False Positives with empty evidence_links).
40
+ """
41
+ ).strip()
42
+
43
+ def log_start(task: str, env: str, model: str) -> None:
44
+ print(f"[START] task={task} env={env} model={model}", flush=True)
45
+
46
+ def log_step(step: int, action: str, reward: float, done: bool, error: Optional[str]) -> None:
47
+ error_val = error if error else "null"
48
+ done_val = str(done).lower()
49
+ print(f"[STEP] step={step} action={action} reward={reward:.2f} done={done_val} error={error_val}", flush=True)
50
+
51
+ def log_end(success: bool, steps: int, score: float, rewards: List[float]) -> None:
52
+ rewards_str = ",".join(f"{r:.2f}" for r in rewards)
53
+ print(f"[END] success={str(success).lower()} steps={steps} score={score:.3f} rewards={rewards_str}", flush=True)
54
+
55
+ def get_model_message(client: OpenAI, obs_dict: dict, history: List[str]) -> str:
56
+ history_block = "\n".join(history[-5:]) if history else "No previous steps."
57
+ user_prompt = f"Observation:\n{json.dumps(obs_dict, indent=2)}\n\nHistory:\n{history_block}\n\nProvide your next JSON action:"
58
+
59
+ try:
60
+ completion = client.chat.completions.create(
61
+ model=MODEL_NAME,
62
+ messages=[
63
+ {"role": "system", "content": SYSTEM_PROMPT},
64
+ {"role": "user", "content": user_prompt},
65
+ ],
66
+ temperature=0.1,
67
+ max_tokens=200,
68
+ )
69
+ return (completion.choices[0].message.content or "").strip()
70
+ except Exception as exc:
71
+ print(f"[DEBUG] Model request failed: {exc}", flush=True)
72
+ # Fallback to prevent crash
73
+ return '{"action": {"action_type": "submit_decision", "decision": "CLEAR", "evidence_links": []}}'
74
+
75
+ async def main() -> None:
76
+ client = OpenAI(base_url=API_BASE_URL, api_key=API_KEY)
77
+
78
+ # Initialize your environment natively for the baseline script
79
+ env = AmlEnvironment()
80
+
81
+ for task_name in TASKS:
82
+ history: List[str] = []
83
+ rewards: List[float] = []
84
+ steps_taken = 0
85
+ score = 0.0
86
+ success = False
87
+
88
+ log_start(task=task_name, env=BENCHMARK, model=MODEL_NAME)
89
+
90
+ try:
91
+ obs = env.reset(task=task_name)
92
+
93
+ for step in range(1, MAX_STEPS + 1):
94
+ if obs.done:
95
+ break
96
+
97
+ obs_dict = obs.model_dump()
98
+ action_str = get_model_message(client, obs_dict, history)
99
+
100
+ # Parse LLM string to Pydantic Model
101
+ try:
102
+ # Strip possible markdown backticks
103
+ clean_str = action_str.replace("```json", "").replace("```", "").strip()
104
+ action_json = json.loads(clean_str)
105
+ action_obj = AmlAction.model_validate(action_json)
106
+ error = None
107
+ except Exception as e:
108
+ # Errors are data! If the LLM writes bad JSON, we catch it and force a dummy action
109
+ # so the environment can return a schema error to the LLM.
110
+ error = f"JSON Parse/Schema Error: {str(e)}"
111
+ action_obj = AmlAction(action={"action_type": "submit_decision", "decision": "CLEAR", "evidence_links": []})
112
+
113
+ obs = env.step(action_obj)
114
+
115
+ reward = obs.reward or 0.0
116
+ done = obs.done
117
+
118
+ rewards.append(reward)
119
+ steps_taken = step
120
+
121
+ log_step(step=step, action=action_str.replace('\n', ''), reward=reward, done=done, error=error)
122
+ history.append(f"Step {step}: Action: {action_str} -> Result: {obs.last_action_result} | Error: {obs.error_message}")
123
+
124
+ if done:
125
+ break
126
+
127
+ # Calculate a baseline score for the stdout logs (Graders handle real scoring)
128
+ score = sum(rewards) + 1.0 if "submit_decision" in obs.last_action else 0.0
129
+ score = min(max(score, 0.0), 1.0)
130
+ success = score > 0.5
131
+
132
+ finally:
133
+ log_end(success=success, steps=steps_taken, score=score, rewards=rewards)
134
+
135
+ if __name__ == "__main__":
136
+ asyncio.run(main())
models.py CHANGED
@@ -12,16 +12,43 @@ The AML_env environment is a simple test environment that echoes back messages.
12
 
13
  from openenv.core.env_server.types import Action, Observation
14
  from pydantic import Field
 
15
 
16
-
17
- class AmlAction(Action):
18
- """Action for the Aml Env environment - just a message to echo."""
19
-
20
- message: str = Field(..., description="Message to echo back")
21
-
22
-
23
  class AmlObservation(Observation):
24
- """Observation from the Aml Env environment - the echoed message."""
25
-
26
- echoed_message: str = Field(default="", description="The echoed message")
27
- message_length: int = Field(default=0, description="Length of the echoed message")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  from openenv.core.env_server.types import Action, Observation
14
  from pydantic import Field
15
+ from typing import List, Literal, Optional, Any, Union
16
 
17
+ # ==========================================
18
+ # OBSERVATION SPACE
19
+ # ==========================================
 
 
 
 
20
  class AmlObservation(Observation):
21
+ alert_details: str = Field(description="The constant mission objective and initial alert.")
22
+ budget_remaining: int = Field(description="API calls remaining.")
23
+ last_action: Optional[str] = Field(default=None, description="Last tool used.")
24
+ last_action_result: Optional[Any] = Field(default=None, description="Payload returned by the API.")
25
+ error_message: Optional[str] = Field(default=None, description="Error string if action failed.")
26
+
27
+ # ==========================================
28
+ # ACTION SPACE
29
+ # ==========================================
30
+ class QueryTransactions(Action):
31
+ action_type: Literal["query_transactions"]
32
+ account_id: str = Field(description="The exact ACC-XXXX ID to query.")
33
+ limit: int = Field(default=10, description="Max transactions to return.")
34
+ offset: int = Field(default=0, description="Offset for pagination.")
35
+
36
+ class SearchTransactions(Action):
37
+ action_type: Literal["search_transactions"]
38
+ account_id: str = Field(description="The exact ACC-XXXX ID to query.")
39
+ keyword: str = Field(description="Keyword to search in memo_text.")
40
+
41
+ class GetKYCRecord(Action):
42
+ action_type: Literal["get_kyc_record"]
43
+ entity_id: str = Field(description="The exact ENT-XXXX ID to look up.")
44
+
45
+ class SubmitDecision(Action):
46
+ action_type: Literal["submit_decision"]
47
+ decision: Literal["FRAUD", "CLEAR"] = Field(description="Your final verdict.")
48
+ evidence_links: List[str] = Field(description="List of ACC-XXXX or ENT-XXXX IDs proving fraud.")
49
+
50
+ # The master Action model using Union
51
+ class AmlAction(Action):
52
+ action: Union[QueryTransactions, SearchTransactions, GetKYCRecord, SubmitDecision] = Field(
53
+ discriminator='action_type'
54
+ )
openenv.yaml CHANGED
@@ -3,5 +3,20 @@ name: AML_env
3
  type: space
4
  runtime: fastapi
5
  app: server.app:app
6
- port: 8000
7
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  type: space
4
  runtime: fastapi
5
  app: server.app:app
6
+ port: 7860
7
+ tasks:
8
+ - id: "aml_easy"
9
+ name: "The False Positive"
10
+ description: "System Alert: ACC-9001 flagged for high-risk transfer. Investigate and submit decision."
11
+ difficulty: "easy"
12
+ grader: "graders.aml_easy:grade"
13
+ - id: "aml_medium"
14
+ name: "The Smurf Network"
15
+ description: "System Alert: ACC-9010 flagged for anomalous deposit velocity. Investigate for structuring."
16
+ difficulty: "medium"
17
+ grader: "graders.aml_medium:grade"
18
+ - id: "aml_hard"
19
+ name: "The Corporate Mirage"
20
+ description: "System Alert: ACC-9021 flagged for large outbound transfer. Investigate for hidden circular loops."
21
+ difficulty: "hard"
22
+ grader: "graders.aml_hard:grade"
server/AML_env_environment.py CHANGED
@@ -5,100 +5,202 @@
5
  # LICENSE file in the root directory of this source tree.
6
 
7
  """
8
- Aml Env Environment Implementation.
9
 
10
- A simple test environment that echoes back messages sent to it.
11
- Perfect for testing HTTP server infrastructure.
12
  """
13
 
 
 
 
14
  from uuid import uuid4
15
 
16
  from openenv.core.env_server.interfaces import Environment
17
  from openenv.core.env_server.types import State
18
 
19
  try:
20
- from ..models import AmlAction, AmlObservation
 
 
 
 
 
 
 
21
  except ImportError:
22
- from models import AmlAction, AmlObservation
23
-
 
 
 
 
 
 
 
 
 
24
 
25
  class AmlEnvironment(Environment):
26
- """
27
- A simple echo environment that echoes back messages.
28
-
29
- This environment is designed for testing the HTTP server infrastructure.
30
- It maintains minimal state and simply echoes back whatever message it receives.
31
-
32
- Example:
33
- >>> env = AmlEnvironment()
34
- >>> obs = env.reset()
35
- >>> print(obs.echoed_message) # "Aml Env environment ready!"
36
- >>>
37
- >>> obs = env.step(AmlAction(message="Hello"))
38
- >>> print(obs.echoed_message) # "Hello"
39
- >>> print(obs.message_length) # 5
40
- """
41
-
42
- # Enable concurrent WebSocket sessions.
43
- # Set to True if your environment isolates state between instances.
44
- # When True, multiple WebSocket clients can connect simultaneously, each
45
- # getting their own environment instance (when using factory mode in app.py).
46
  SUPPORTS_CONCURRENT_SESSIONS: bool = True
47
 
48
  def __init__(self):
49
- """Initialize the AML_env environment."""
50
  self._state = State(episode_id=str(uuid4()), step_count=0)
51
  self._reset_count = 0
52
-
53
- def reset(self) -> AmlObservation:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  """
55
- Reset the environment.
56
-
57
- Returns:
58
- AmlObservation with a ready message
59
  """
60
  self._state = State(episode_id=str(uuid4()), step_count=0)
61
  self._reset_count += 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
 
63
  return AmlObservation(
64
- echoed_message="Aml Env environment ready!",
65
- message_length=0,
 
 
 
66
  done=False,
67
- reward=0.0,
68
  )
69
 
70
- def step(self, action: AmlAction) -> AmlObservation: # type: ignore[override]
71
  """
72
- Execute a step in the environment by echoing the message.
73
-
74
- Args:
75
- action: AmlAction containing the message to echo
76
-
77
- Returns:
78
- AmlObservation with the echoed message and its length
79
  """
80
  self._state.step_count += 1
81
-
82
- message = action.message
83
- length = len(message)
84
-
85
- # Simple reward: longer messages get higher rewards
86
- reward = length * 0.1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
 
88
  return AmlObservation(
89
- echoed_message=message,
90
- message_length=length,
91
- done=False,
92
- reward=reward,
93
- metadata={"original_message": message, "step": self._state.step_count},
 
 
94
  )
95
 
96
  @property
97
  def state(self) -> State:
98
- """
99
- Get the current environment state.
100
-
101
- Returns:
102
- Current State with episode_id and step_count
103
- """
104
- return self._state
 
5
  # LICENSE file in the root directory of this source tree.
6
 
7
  """
8
+ AML Investigator Environment Implementation.
9
 
10
+ An OpenEnv-compatible mock financial system that forces the agent to
11
+ explore a massive transaction graph using a strict budget.
12
  """
13
 
14
+ import json
15
+ import os
16
+ from pathlib import Path
17
  from uuid import uuid4
18
 
19
  from openenv.core.env_server.interfaces import Environment
20
  from openenv.core.env_server.types import State
21
 
22
  try:
23
+ from ..models import (
24
+ AmlAction,
25
+ AmlObservation,
26
+ QueryTransactions,
27
+ SearchTransactions,
28
+ GetKYCRecord,
29
+ SubmitDecision
30
+ )
31
  except ImportError:
32
+ from models import (
33
+ AmlAction,
34
+ AmlObservation,
35
+ QueryTransactions,
36
+ SearchTransactions,
37
+ GetKYCRecord,
38
+ SubmitDecision
39
+ )
40
+
41
+ # The strict API call limit. Forces the agent to be efficient.
42
+ MAX_BUDGET = 15
43
 
44
  class AmlEnvironment(Environment):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  SUPPORTS_CONCURRENT_SESSIONS: bool = True
46
 
47
  def __init__(self):
48
+ """Initialize the AML environment and load the mock database."""
49
  self._state = State(episode_id=str(uuid4()), step_count=0)
50
  self._reset_count = 0
51
+ self.budget_remaining = MAX_BUDGET
52
+ self.alert_details = ""
53
+
54
+ # Determine the data directory robustly
55
+ base_dir = Path(__file__).resolve().parent.parent
56
+ data_dir = base_dir / "data"
57
+
58
+ # Load the JSON files into fast O(1) lookup dictionaries
59
+ try:
60
+ with open(data_dir / "entities.json", "r") as f:
61
+ ent_data = json.load(f)
62
+ ent_list = ent_data.get("entities", ent_data) if isinstance(ent_data, dict) else ent_data
63
+ self.entities_db = {e["entity_id"]: e for e in ent_list}
64
+
65
+ with open(data_dir / "accounts.json", "r") as f:
66
+ acc_data = json.load(f)
67
+ acc_list = acc_data.get("accounts", acc_data) if isinstance(acc_data, dict) else acc_data
68
+ self.accounts_db = {a["account_id"]: a for a in acc_list}
69
+
70
+ with open(data_dir / "transactions.json", "r") as f:
71
+ txn_data = json.load(f)
72
+ txn_list = txn_data.get("transactions", txn_data) if isinstance(txn_data, dict) else txn_data
73
+ # Sort transactions by timestamp to ensure deterministic pagination
74
+ self.transactions_db = sorted(txn_list, key=lambda x: x.get("timestamp", ""))
75
+
76
+ print(f"[AML-ENV] Loaded {len(self.entities_db)} entities, {len(self.accounts_db)} accounts, {len(self.transactions_db)} transactions.")
77
+ except Exception as e:
78
+ print(f"[AML-ENV ERROR] Failed to load data from {data_dir}. Ensure JSON files exist. Error: {e}")
79
+ self.entities_db = {}
80
+ self.accounts_db = {}
81
+ self.transactions_db = []
82
+
83
+ def reset(self, task: str = "aml_easy", **kwargs) -> AmlObservation:
84
  """
85
+ Reset the environment and set the specific alert based on the task_id.
 
 
 
86
  """
87
  self._state = State(episode_id=str(uuid4()), step_count=0)
88
  self._reset_count += 1
89
+ budgets = {
90
+ "aml_easy": 5, # Barely enough to make 2 queries and submit
91
+ "aml_medium": 10, # Requires some pagination/exploration
92
+ "aml_hard": 20 # Deep investigation required
93
+ }
94
+ self.budget_remaining = budgets.get(task, 15)
95
+
96
+ # The mission strings match our yaml descriptions
97
+ alerts = {
98
+ "aml_easy": "System Alert: ACC-9001 flagged for high-risk transfer. Investigate and submit decision.",
99
+ "aml_medium": "System Alert: ACC-9010 flagged for anomalous deposit velocity. Investigate for structuring.",
100
+ "aml_hard": "System Alert: ACC-9021 flagged for large outbound transfer. Investigate for hidden circular loops."
101
+ }
102
+ self.alert_details = alerts.get(task, f"System Alert: Investigate task {task}.")
103
 
104
  return AmlObservation(
105
+ alert_details=self.alert_details,
106
+ budget_remaining=self.budget_remaining,
107
+ last_action=None,
108
+ last_action_result=None,
109
+ error_message=None,
110
  done=False,
111
+ reward=0.0
112
  )
113
 
114
+ def step(self, action: AmlAction) -> AmlObservation:
115
  """
116
+ The reactive state machine. Intercepts the Pydantic action, queries
117
+ the JSON data, and handles errors as strings.
 
 
 
 
 
118
  """
119
  self._state.step_count += 1
120
+ self.budget_remaining -= 1
121
+
122
+ # Default step penalty to penalize random infinite looping
123
+ reward = -0.02
124
+ done = False
125
+ result_data = None
126
+ error_msg = None
127
+
128
+ # Extract the specific tool from the Union wrapper
129
+ tool = action.action
130
+ tool_name = tool.action_type
131
+
132
+ try:
133
+ # ---------------------------------------------------------
134
+ # TOOL 1: Query Transactions
135
+ # ---------------------------------------------------------
136
+ if isinstance(tool, QueryTransactions):
137
+ acc_id = tool.account_id
138
+ if acc_id not in self.accounts_db:
139
+ raise ValueError(f"Account '{acc_id}' not found in registry.")
140
+
141
+ # Filter related transactions
142
+ related_txns = [
143
+ t for t in self.transactions_db
144
+ if t["sender_account"] == acc_id or t["receiver_account"] == acc_id
145
+ ]
146
+
147
+ # Apply pagination (Context Compaction)
148
+ start = tool.offset
149
+ end = start + tool.limit
150
+ result_data = related_txns[start:end]
151
+
152
+ # ---------------------------------------------------------
153
+ # TOOL 2: Search Transactions
154
+ # ---------------------------------------------------------
155
+ elif isinstance(tool, SearchTransactions):
156
+ acc_id = tool.account_id
157
+ if acc_id not in self.accounts_db:
158
+ raise ValueError(f"Account '{acc_id}' not found in registry.")
159
+
160
+ keyword = tool.keyword.lower()
161
+ related_txns = [
162
+ t for t in self.transactions_db
163
+ if (t["sender_account"] == acc_id or t["receiver_account"] == acc_id)
164
+ and keyword in t.get("memo_text", "").lower()
165
+ ]
166
+ result_data = related_txns
167
+
168
+ # ---------------------------------------------------------
169
+ # TOOL 3: Get KYC Record
170
+ # ---------------------------------------------------------
171
+ elif isinstance(tool, GetKYCRecord):
172
+ ent_id = tool.entity_id
173
+ if ent_id not in self.entities_db:
174
+ raise ValueError(f"Entity '{ent_id}' not found in registry.")
175
+ result_data = self.entities_db[ent_id]
176
+
177
+ # ---------------------------------------------------------
178
+ # TOOL 4: Submit Decision
179
+ # ---------------------------------------------------------
180
+ elif isinstance(tool, SubmitDecision):
181
+ result_data = f"Decision '{tool.decision}' recorded with evidence: {tool.evidence_links}"
182
+ done = True
183
+
184
+ except Exception as e:
185
+ # "Errors are data" - We catch bad inputs and feed them back to the agent
186
+ error_msg = f"API Error: {str(e)}"
187
+ result_data = None
188
+
189
+ # Check for budget failure
190
+ if self.budget_remaining <= 0 and not done:
191
+ done = True
192
+ error_msg = error_msg or "Investigation Budget Exhausted. Forced Termination."
193
 
194
  return AmlObservation(
195
+ alert_details=self.alert_details,
196
+ budget_remaining=self.budget_remaining,
197
+ last_action=tool_name,
198
+ last_action_result=result_data,
199
+ error_message=error_msg,
200
+ done=done,
201
+ reward=reward
202
  )
203
 
204
  @property
205
  def state(self) -> State:
206
+ return self._state
 
 
 
 
 
 
server/Dockerfile DELETED
@@ -1,80 +0,0 @@
1
- # Copyright (c) Meta Platforms, Inc. and affiliates.
2
- # All rights reserved.
3
- #
4
- # This source code is licensed under the BSD-style license found in the
5
- # LICENSE file in the root directory of this source tree.
6
-
7
- # Multi-stage build using openenv-base
8
- # This Dockerfile is flexible and works for both:
9
- # - In-repo environments (with local OpenEnv sources)
10
- # - Standalone environments (with openenv from PyPI/Git)
11
- # The build script (openenv build) handles context detection and sets appropriate build args.
12
-
13
- ARG BASE_IMAGE=ghcr.io/meta-pytorch/openenv-base:latest
14
- FROM ${BASE_IMAGE} AS builder
15
-
16
- WORKDIR /app
17
-
18
- # Ensure git is available (required for installing dependencies from VCS)
19
- RUN apt-get update && \
20
- apt-get install -y --no-install-recommends git && \
21
- rm -rf /var/lib/apt/lists/*
22
-
23
- # Build argument to control whether we're building standalone or in-repo
24
- ARG BUILD_MODE=in-repo
25
- ARG ENV_NAME=AML_env
26
-
27
- # Copy environment code (always at root of build context)
28
- COPY . /app/env
29
-
30
- # For in-repo builds, openenv is already vendored in the build context
31
- # For standalone builds, openenv will be installed via pyproject.toml
32
- WORKDIR /app/env
33
-
34
- # Ensure uv is available (for local builds where base image lacks it)
35
- RUN if ! command -v uv >/dev/null 2>&1; then \
36
- curl -LsSf https://astral.sh/uv/install.sh | sh && \
37
- mv /root/.local/bin/uv /usr/local/bin/uv && \
38
- mv /root/.local/bin/uvx /usr/local/bin/uvx; \
39
- fi
40
-
41
- # Install dependencies using uv sync
42
- # If uv.lock exists, use it; otherwise resolve on the fly
43
- RUN --mount=type=cache,target=/root/.cache/uv \
44
- if [ -f uv.lock ]; then \
45
- uv sync --frozen --no-install-project --no-editable; \
46
- else \
47
- uv sync --no-install-project --no-editable; \
48
- fi
49
-
50
- RUN --mount=type=cache,target=/root/.cache/uv \
51
- if [ -f uv.lock ]; then \
52
- uv sync --frozen --no-editable; \
53
- else \
54
- uv sync --no-editable; \
55
- fi
56
-
57
- # Final runtime stage
58
- FROM ${BASE_IMAGE}
59
-
60
- WORKDIR /app
61
-
62
- # Copy the virtual environment from builder
63
- COPY --from=builder /app/env/.venv /app/.venv
64
-
65
- # Copy the environment code
66
- COPY --from=builder /app/env /app/env
67
-
68
- # Set PATH to use the virtual environment
69
- ENV PATH="/app/.venv/bin:$PATH"
70
-
71
- # Set PYTHONPATH so imports work correctly
72
- ENV PYTHONPATH="/app/env:$PYTHONPATH"
73
-
74
- # Health check
75
- HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
76
- CMD curl -f http://localhost:8000/health || exit 1
77
-
78
- # Run the FastAPI server
79
- # The module path is constructed to work with the /app/env structure
80
- CMD ["sh", "-c", "cd /app/env && uvicorn server.app:app --host 0.0.0.0 --port 8000"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
server/app.py CHANGED
@@ -5,80 +5,92 @@
5
  # LICENSE file in the root directory of this source tree.
6
 
7
  """
8
- FastAPI application for the Aml Env Environment.
9
 
10
- This module creates an HTTP server that exposes the AmlEnvironment
11
- over HTTP and WebSocket endpoints, compatible with EnvClient.
12
 
13
- Endpoints:
14
- - POST /reset: Reset the environment
15
- - POST /step: Execute an action
16
- - GET /state: Get current environment state
17
- - GET /schema: Get action/observation schemas
18
- - WS /ws: WebSocket endpoint for persistent sessions
19
 
20
- Usage:
21
- # Development (with auto-reload):
22
- uvicorn server.app:app --reload --host 0.0.0.0 --port 8000
23
 
24
- # Production:
25
- uvicorn server.app:app --host 0.0.0.0 --port 8000 --workers 4
26
 
27
- # Or run directly:
28
- python -m server.app
29
  """
30
 
31
  try:
32
  from openenv.core.env_server.http_server import create_app
33
  except Exception as e: # pragma: no cover
34
  raise ImportError(
35
- "openenv is required for the web interface. Install dependencies with '\n uv sync\n'"
36
  ) from e
37
 
 
 
38
  try:
 
39
  from ..models import AmlAction, AmlObservation
40
  from .AML_env_environment import AmlEnvironment
41
- except ModuleNotFoundError:
 
42
  from models import AmlAction, AmlObservation
43
  from server.AML_env_environment import AmlEnvironment
44
 
45
 
46
- # Create the app with web interface and README integration
 
 
47
  app = create_app(
48
  AmlEnvironment,
49
  AmlAction,
50
  AmlObservation,
51
  env_name="AML_env",
52
- max_concurrent_envs=1, # increase this number to allow more concurrent WebSocket sessions
 
 
53
  )
54
 
 
 
 
 
 
 
 
 
 
 
55
 
56
- def main(host: str = "0.0.0.0", port: int = 8000):
57
- """
58
- Entry point for direct execution via uv run or python -m.
59
-
60
- This function enables running the server without Docker:
61
- uv run --project . server
62
- uv run --project . server --port 8001
63
- python -m AML_env.server.app
64
 
65
- Args:
66
- host: Host address to bind to (default: "0.0.0.0")
67
- port: Port number to listen on (default: 8000)
 
 
 
68
 
69
- For production deployments, consider using uvicorn directly with
70
- multiple workers:
71
- uvicorn AML_env.server.app:app --workers 4
72
  """
73
  import uvicorn
74
 
75
- uvicorn.run(app, host=host, port=port)
76
 
77
 
78
  if __name__ == "__main__":
79
  import argparse
80
 
81
- parser = argparse.ArgumentParser()
82
- parser.add_argument("--port", type=int, default=8000)
 
83
  args = parser.parse_args()
84
- main(port=args.port)
 
5
  # LICENSE file in the root directory of this source tree.
6
 
7
  """
8
+ FastAPI application for the AML Investigator Environment.
9
 
10
+ Wraps AmlEnvironment with OpenEnv's create_app utility, exposing the
11
+ standard OpenEnv HTTP endpoints required by the evaluator:
12
 
13
+ POST /reset — Reset episode, returns initial AmlObservation
14
+ POST /step — Execute an AmlAction, returns AmlObservation
15
+ GET /state — Return current internal State object
16
+ GET /schema Return action/observation JSON schemas
17
+ WS /ws — WebSocket endpoint for persistent sessions
 
18
 
19
+ CORS is configured to allow all origins so the hackathon evaluator
20
+ can reach the Space without origin restrictions.
 
21
 
22
+ Usage (local dev):
23
+ uvicorn server.app:app --reload --host 0.0.0.0 --port 7860
24
 
25
+ Usage (production / HF Spaces):
26
+ uvicorn server.app:app --host 0.0.0.0 --port 7860
27
  """
28
 
29
  try:
30
  from openenv.core.env_server.http_server import create_app
31
  except Exception as e: # pragma: no cover
32
  raise ImportError(
33
+ "openenv is required. Install with:\n pip install -r server/requirements.txt"
34
  ) from e
35
 
36
+ from fastapi.middleware.cors import CORSMiddleware
37
+
38
  try:
39
+ # Relative imports when loaded as part of the package (e.g. `python -m server.app`)
40
  from ..models import AmlAction, AmlObservation
41
  from .AML_env_environment import AmlEnvironment
42
+ except ImportError:
43
+ # Absolute imports when PYTHONPATH is set to the repo root (Docker / uvicorn CLI)
44
  from models import AmlAction, AmlObservation
45
  from server.AML_env_environment import AmlEnvironment
46
 
47
 
48
+ # ---------------------------------------------------------------------------
49
+ # Build the OpenEnv-compliant FastAPI application
50
+ # ---------------------------------------------------------------------------
51
  app = create_app(
52
  AmlEnvironment,
53
  AmlAction,
54
  AmlObservation,
55
  env_name="AML_env",
56
+ # One concurrent WebSocket session is enough for HF Spaces evaluation.
57
+ # Increase for multi-agent experiments.
58
+ max_concurrent_envs=10,
59
  )
60
 
61
+ # ---------------------------------------------------------------------------
62
+ # CORS — allow the OpenEnv evaluator (and any browser) to reach the Space
63
+ # ---------------------------------------------------------------------------
64
+ app.add_middleware(
65
+ CORSMiddleware,
66
+ allow_origins=["*"],
67
+ allow_credentials=True,
68
+ allow_methods=["*"],
69
+ allow_headers=["*"],
70
+ )
71
 
 
 
 
 
 
 
 
 
72
 
73
+ # ---------------------------------------------------------------------------
74
+ # Direct-execution entry point
75
+ # ---------------------------------------------------------------------------
76
+ def main(host: str = "0.0.0.0", port: int = 7860) -> None:
77
+ """
78
+ Run the server directly.
79
 
80
+ Examples:
81
+ python -m server.app
82
+ python -m server.app --port 7860
83
  """
84
  import uvicorn
85
 
86
+ uvicorn.run("server.app:app", host=host, port=port, reload=False)
87
 
88
 
89
  if __name__ == "__main__":
90
  import argparse
91
 
92
+ parser = argparse.ArgumentParser(description="AML Investigator OpenEnv server")
93
+ parser.add_argument("--host", default="0.0.0.0", help="Bind host")
94
+ parser.add_argument("--port", type=int, default=7860, help="Bind port")
95
  args = parser.parse_args()
96
+ main(host=args.host, port=args.port)
server/requirements.txt CHANGED
@@ -1,6 +1,9 @@
 
1
  openenv[core]>=0.2.0
2
- fastapi>=0.115.0
3
- uvicorn>=0.24.0
4
-
5
 
 
 
 
6
 
 
 
 
1
+ # Core OpenEnv runtime
2
  openenv[core]>=0.2.0
 
 
 
3
 
4
+ # FastAPI server stack
5
+ fastapi>=0.115.0
6
+ uvicorn[standard]>=0.29.0
7
 
8
+ # Data validation (OpenEnv models are Pydantic-based)
9
+ pydantic>=2.7.0