diff --git a/.codeboarding/.codeboardingignore b/.codeboarding/.codeboardingignore
new file mode 100644
index 0000000..78f5718
--- /dev/null
+++ b/.codeboarding/.codeboardingignore
@@ -0,0 +1,133 @@
+# CodeBoarding Ignore File
+# Add patterns here for files and directories that should be excluded from CodeBoarding analysis.
+# Use the same format as .gitignore (gitignore syntax / gitwildmatch patterns).
+#
+# To stop ignoring a pattern, prefix it with ! (e.g., !important_file.txt)
+#
+# NOTE: The following are ALWAYS excluded (not configurable):
+# - Hidden directories (starting with .)
+# - .git/, .codeboarding/, node_modules/, __pycache__/
+# - Build output: build/, dist/, coverage/
+#
+# This file is automatically loaded by CodeBoarding analysis tools to exclude
+# specified paths from code analysis, architecture generation, and other processing.
+
+# ============================================================================
+# Ignored directories (customizable — remove lines to include them)
+# ============================================================================
+
+# Python virtual environments
+venv/
+env/
+*.egg-info/
+
+# Java (Maven/Gradle) and Rust (Cargo) build output. Both ecosystems
+# produce a top-level ``target/`` directory full of compiled artifacts —
+# kept here as well as in ``_ALWAYS_IGNORED_DIRS`` so users who customize
+# their ``.codeboardingignore`` continue to skip it even after edits.
+target/
+bin/
+out/
+
+# .NET / C# build output
+obj/
+
+# Go
+vendor/
+testdata/
+
+# PHP
+cache/
+
+# Custom
+temp/
+repos/
+
+# Bundled React webview build (minified JS — not part of this repo's architecture)
+webview-dist/
+runs/
+
+# ============================================================================
+# Test and infrastructure files
+# ============================================================================
+
+# Test directories
+**/__tests__/**
+**/tests/**
+**/test/**
+**/__test__/**
+**/testing/**
+**/testutil/**
+
+# Java/Kotlin test directories (Maven/Gradle structure)
+**/src/test/**
+**/src/testFixtures/**
+**/src/integration-test/**
+**/src/jmh/**
+**/src/contractTest/**
+**/osgi-tests/**
+
+# Test files by naming convention
+*.test.*
+*.spec.*
+*_test.*
+*test_*.py
+test_*.py
+*Test.java
+*IT.java
+*Test.kt
+*IT.kt
+*Tests.java
+
+# Mock, fixture, and stub directories
+**/__mocks__/**
+**/mocks/**
+**/fixtures/**
+**/fixture/**
+**/stubs/**
+**/stub/**
+**/fakes/**
+**/fake/**
+
+# E2E and integration test directories
+**/e2e/**
+**/integration-tests/**
+**/integration_test*/**
+
+# ============================================================================
+# Non-production code
+# ============================================================================
+
+# Example and documentation code
+**/examples/**
+**/documentation/examples/**
+
+# Generated code
+*.pb.go
+**/generated_parser*
+
+# Java/Kotlin metadata files
+module-info.java
+
+# ============================================================================
+# Build artifacts and minified files
+# ============================================================================
+
+*.bundle.js
+*.bundle.js.map
+*.min.js
+*.min.css
+*.chunk.js
+*.chunk.js.map
+
+# ============================================================================
+# Build tool configs and infrastructure
+# ============================================================================
+
+esbuild*
+webpack*
+rollup*
+vite.config.*
+gulpfile*
+gruntfile*
+*.config.*
diff --git a/.github/workflows/example-usage.yml b/.github/workflows/example-usage.yml
index 1f75c83..38e12e6 100644
--- a/.github/workflows/example-usage.yml
+++ b/.github/workflows/example-usage.yml
@@ -1,126 +1,30 @@
-name: Example Usage of CodeBoarding Action
+name: Architecture review (self-test)
+
+# Self-test: every PR opened against this repo runs the local action.
+# Useful for verifying the action's wiring; on first runs this will hit
+# the "no baseline" path because the repo has no .codeboarding/analysis.json.
on:
- workflow_dispatch:
- inputs:
- repository_url:
- description: 'Repository URL to test with'
- required: false
- default: 'https://github.com/microsoft/markitdown'
- type: string
- source_branch:
- description: 'Source branch for comparison'
- required: false
- default: 'main'
- type: string
- target_branch:
- description: 'Target branch for comparison'
- required: false
- default: 'develop'
- type: string
- output_format:
- description: 'Output format for documentation'
- required: false
- default: '.md'
- type: choice
- options:
- - '.md'
- - '.rst'
-
pull_request:
- branches: [ main, master ]
- types: [opened, synchronize, reopened]
-
- schedule:
- # Run daily at 2 AM UTC
- - cron: '0 2 * * *'
+ types: [opened, synchronize, reopened, ready_for_review]
+ workflow_dispatch:
+
+permissions:
+ pull-requests: write
+ contents: write
jobs:
- update-docs-action-usage:
+ architecture-review:
runs-on: ubuntu-latest
- permissions:
- contents: write
- pull-requests: write
-
+ if: github.event_name == 'workflow_dispatch' || github.event.pull_request.draft == false
+ timeout-minutes: 60
steps:
- - name: Checkout repository
+ - name: Checkout action
uses: actions/checkout@v4
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- fetch-depth: 0 # Required to access branch history
- # Determine branches based on context
- - name: Set branch variables
- id: set-branches
- run: |
- if [ "${{ github.event_name }}" = "pull_request" ]; then
- echo "source_branch=${{ github.head_ref }}" >> $GITHUB_OUTPUT
- echo "target_branch=${{ github.base_ref }}" >> $GITHUB_OUTPUT
- elif [ "${{ github.event.inputs.source_branch }}" != "" ] && [ "${{ github.event.inputs.target_branch }}" != "" ]; then
- echo "source_branch=${{ github.event.inputs.source_branch }}" >> $GITHUB_OUTPUT
- echo "target_branch=${{ github.event.inputs.target_branch }}" >> $GITHUB_OUTPUT
- else
- # Default to current branch and main
- echo "source_branch=${{ github.ref_name }}" >> $GITHUB_OUTPUT
- echo "target_branch=main" >> $GITHUB_OUTPUT
- fi
-
- - name: Fetch CodeBoarding Documentation
- id: codeboarding
+ - name: Run CodeBoarding Architecture Review
uses: ./
with:
- repository_url: ${{ github.event.inputs.repository_url }}
- source_branch: ${{ steps.set-branches.outputs.source_branch }}
- target_branch: ${{ steps.set-branches.outputs.target_branch }}
- output_directory: 'docs'
- output_format: ${{ github.event.inputs.output_format || '.md' }}
-
- - name: Display Action Results
- run: |
- echo "Documentation files created: ${{ steps.codeboarding.outputs.markdown_files_created }}"
- echo "JSON files created: ${{ steps.codeboarding.outputs.json_files_created }}"
- echo "Documentation directory: ${{ steps.codeboarding.outputs.output_directory }}"
- echo "JSON directory: ${{ steps.codeboarding.outputs.json_directory }}"
- echo "Has changes: ${{ steps.codeboarding.outputs.has_changes }}"
-
- # Check if we have any changes to commit
- - name: Check for changes
- id: git-changes
- run: |
- if [ -n "$(git status --porcelain)" ]; then
- echo "has_git_changes=true" >> $GITHUB_OUTPUT
- else
- echo "has_git_changes=false" >> $GITHUB_OUTPUT
- fi
-
- - name: Create Pull Request
- if: steps.git-changes.outputs.has_git_changes == 'true' && steps.codeboarding.outputs.has_changes == 'true'
- uses: peter-evans/create-pull-request@v5
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- commit-message: "docs: update codeboarding documentation"
- title: "📚 CodeBoarding Documentation Update"
- body: |
- ## 📚 Documentation Update
-
- This PR contains updated documentation files fetched from the CodeBoarding service.
-
- ### 📊 Summary
- - **Documentation files created/updated**: ${{ steps.codeboarding.outputs.markdown_files_created }}
- - **JSON files created/updated**: ${{ steps.codeboarding.outputs.json_files_created }}
- - **Documentation directory**: `${{ steps.codeboarding.outputs.output_directory }}/`
- - **JSON directory**: `${{ steps.codeboarding.outputs.json_directory }}/`
- - **Source branch**: `${{ steps.set-branches.outputs.source_branch }}`
- - **Target branch**: `${{ steps.set-branches.outputs.target_branch }}`
- - **Output format**: `${{ github.event.inputs.output_format || '.md' }}`
- - **Repository analyzed**: `${{ steps.codeboarding.outputs.repo_url }}`
-
- ### 🔍 Changes
- Files have been updated with fresh documentation content based on code changes between branches.
-
- ---
-
- 🤖 This PR was automatically generated by the CodeBoarding documentation update workflow.
- branch: docs/codeboarding-update
- base: ${{ steps.set-branches.outputs.target_branch }}
- delete-branch: true
+ llm_api_key: ${{ secrets.OPENROUTER_API_KEY }}
+ agent_model: ${{ secrets.AGENT_MODEL }}
+ parsing_model: ${{ secrets.PARSING_MODEL }}
diff --git a/.gitignore b/.gitignore
index 865fddd..a6d9918 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,10 @@ test_codeboarding/
# Logs
*.log
+# Runtime deps (Playwright etc. installed at action execution time)
+node_modules/
+package-lock.json
+
# OS generated files
.DS_Store
.DS_Store?
diff --git a/README.md b/README.md
index 043c743..4885e1b 100644
--- a/README.md
+++ b/README.md
@@ -1,111 +1,103 @@

-
- # CodeBoarding [Diagram-First Documentation]
-
- [](https://github.com/marketplace/actions/codeboarding-diagram-first-documentation)
+
+ # CodeBoarding Architecture Review
+
+ Posts a PR comment with an architecture diagram showing which components changed (added/modified/removed) — green/yellow/red.
-Generates diagram-first visualizations of your codebase using static analysis and large language models.
+## What it does
+
+On every pull request, this action:
+
+1. Reads the `.codeboarding/analysis.json` committed at the PR base commit (the "before" snapshot).
+2. Runs an incremental analysis on the PR head — only LLM-calls components whose code actually changed, so a typical PR costs a handful of LLM calls and a docs-only PR costs none.
+3. Diffs the two analyses and renders the architecture diagram with changed components colored:
+ - **green** for added components,
+ - **yellow** for modified,
+ - **red** (dashed + hatched) for removed.
+4. Pushes the PNG to an orphan branch (`codeboarding-images`) in your repo and posts a sticky PR comment with the image.
## Usage
```yaml
-name: Generate Documentation
+name: Architecture review
on:
- push:
- branches: [ main ]
pull_request:
- branches: [ main ]
- types: [opened, synchronize, reopened]
+ types: [opened, synchronize, reopened, ready_for_review]
+
+permissions:
+ pull-requests: write
+ contents: write # for pushing the rendered PNG to the image branch
jobs:
- documentation:
+ diagram:
runs-on: ubuntu-latest
+ if: github.event.pull_request.draft == false
+ timeout-minutes: 60
steps:
- - name: Checkout
- uses: actions/checkout@v4
+ - uses: codeboarding/codeboarding-action@v1
with:
- fetch-depth: 0 # Required to access branch history
-
- - name: Generate Documentation
- uses: codeboarding/codeboarding-ghaction@v1
- with:
- repository_url: ${{ github.server_url }}/${{ github.repository }}
- source_branch: ${{ github.head_ref || github.ref_name }}
- target_branch: ${{ github.base_ref || 'main' }}
- output_directory: 'docs'
- output_format: '.md'
-
- - name: Upload Documentation
- uses: actions/upload-artifact@v4
- with:
- name: documentation
- path: |
- docs/
- .codeboarding/
+ llm_api_key: ${{ secrets.OPENROUTER_API_KEY }}
```
+You need **one secret**: an LLM API key. OpenRouter is the default; pass your own model via `agent_model` / `parsing_model` inputs if you prefer.
+
## Inputs
-| Input | Description | Required | Default |
-|-------|-------------|----------|---------|
-| `repository_url` | Repository URL for which documentation will be generated | Yes | - |
-| `source_branch` | Source branch for comparison (typically the PR branch) | Yes | - |
-| `target_branch` | Target branch for comparison (typically the base branch) | Yes | - |
-| `output_directory` | Directory where documentation files will be saved | No | `docs` |
-| `output_format` | Format for documentation files (either `.md` or `.rst`) | No | `.md` |
+| Input | Default | Description |
+|---|---|---|
+| `llm_api_key` | (required) | LLM API key. Currently OpenRouter (`OPENROUTER_API_KEY`). |
+| `github_token` | `${{ github.token }}` | Token used to post the comment and push the image. |
+| `engine_ref` | `main` | Git ref of `CodeBoarding/CodeBoarding`. Pin in production. |
+| `depth_level` | `1` | Diagram depth (1–3). Higher = slower + more detail. |
+| `agent_model` | `openrouter/anthropic/claude-sonnet-4` | LLM for analysis. |
+| `parsing_model` | `openrouter/anthropic/claude-sonnet-4` | LLM for parsing. |
+| `image_branch` | `codeboarding-images` | Orphan branch where rendered PNGs are stored. |
+| `comment_header` | `Architecture review` | Header line of the PR comment. |
## Outputs
| Output | Description |
-|--------|-------------|
-| `markdown_files_created` | Number of documentation files created |
-| `json_files_created` | Number of JSON files created |
-| `output_directory` | Directory where documentation files were saved |
-| `json_directory` | Directory where JSON files were saved (always `.codeboarding`) |
-| `has_changes` | Whether any files were created or changed |
+|---|---|
+| `diff_png` | Path to the rendered PNG in the runner workspace. |
+| `diff_json` | Path to the computed diff JSON. |
+| `image_url` | Public raw URL of the uploaded PNG (empty on fork PRs). |
-## How It Works
+## Establishing the baseline
-The action works by:
+The action reads the `.codeboarding/analysis.json` that was committed at the PR base commit. If your repo has never been analyzed, the first PR will skip the diff and post a "no baseline yet" comment.
-1. Analyzing the differences introduced in the source branch and putting the results in the target branch
-2. Generating documentation files based on the latest version of the source branch
-3. Outputting two types of files:
- - Documentation files (Markdown or RST) in the specified output directory
- - Metadata files in the `.codeboarding` directory
+To create the baseline:
-## License
+1. Run the existing CodeBoarding docs workflow ([`CodeBoarding/.github/workflows/docs.yml`](https://github.com/CodeBoarding/CodeBoarding/blob/main/.github/workflows/docs.yml)) once on `main`. It commits a fresh `.codeboarding/analysis.json` to your repo.
+2. After that, every PR opened against `main` shows what changed.
-MIT License - see [LICENSE](LICENSE) file for details.
+We recommend a companion workflow that keeps the baseline fresh on every push to `main`. A pre-canned snippet for this is on the roadmap — see TODOs below.
-# CodeBoarding GitHub Action
+## Fork PRs
-## Important: Timeout Configuration
+PRs from forks cannot push to your image branch. The action still computes the diff and posts a comment, but without the rendered image. A maintainer can re-run the workflow from the Actions tab once they trust the PR.
-For large repositories, the analysis can take 15-45 minutes. Make sure to configure appropriate timeouts in your workflow:
+## Limitations (V1)
-```yaml
-jobs:
- generate-docs:
- runs-on: ubuntu-latest
- timeout-minutes: 60 # Set to 60+ minutes for large repositories
- steps:
- - uses: actions/checkout@v4
- - uses: your-username/codeboarding-ghaction@v1
- with:
- # your inputs here
-```
+- **Baseline must be committed.** If `.codeboarding/analysis.json` isn't in the repo at the PR base commit, the action posts a "no baseline" message and exits without rendering.
+- **Fork PRs get no image** (text-only summary instead).
+- **No focus / crop mode** for huge diagrams with tiny changes — the whole graph is rendered. Coming in V2.
+- **Re-clones the target repo** inside the analysis engine (legacy `generate_analysis()` API). One extra clone per run; harmless but measurable on huge repos.
+- **Image branch grows unbounded.** A scheduled cleanup workflow is on the roadmap.
+- **Webview bundle is committed in this repo** (`webview-dist/`). Until the upstream `CodeBoarding-vscode` repo ships its dist as a public release asset, rebuilding is a manual step: `cd CodeBoarding-vscode/webview-ui && npm ci && npm run build`, then copy `dist/` into this repo's `webview-dist/`.
+
+## TODOs (require changes outside this repo)
-## Timeout Guidelines
+The action vendors a few small pieces that should ideally live upstream. Each one is a clean refactor that would let us drop ~250 lines from `scripts/`:
-- **Small repositories** (<1k files): 10-15 minutes
-- **Medium repositories** (1k-5k files): 20-30 minutes
-- **Large repositories** (5k+ files): 30-60 minutes
-- **Very large repositories** (10k+ files): 45-90 minutes
+- **Move `diff_component_trees` from `CodeBoarding-wrapper/codeboarding_pro/diff/tree_diff.py` into `CodeBoarding/diagram_analysis/`.** It's ~140 lines of set arithmetic with no LLM logic and no wrapper-side dependencies (only depends on `ComponentJson`/`RelationJson` from core). The wrapper's `DiffService` orchestrator can stay; just move the algorithm.
+- **Expose a slim `analyze-only-this-checkout(repo_path, base_ref) -> analysis.json` entry point in core.** Today `generate_analysis()` re-clones the repo from a URL, which forces us to do a redundant clone even when the runner already has the code checked out.
+- **Add a `mode: baseline` entry point in this action** that publishes a refresh-on-push workflow snippet (so users get the companion workflow with one input flag instead of copy-paste).
+- **Bundle the webview-ui as a pre-built release asset** of the `CodeBoarding-vscode` repo so the action can download a small tarball instead of cloning + `npm ci` + `vite build` (~60s saved per cold run).
+- **Move image hosting off the consumer's repo** by adding a CodeBoarding-hosted `/render` endpoint. The action would POST the diff JSON and receive a hosted PNG URL — no orphan branch, no `contents: write` permission needed, fork PRs work.
+
+## License
-If your workflow consistently times out, consider:
-1. Increasing `timeout-minutes` to 90 or higher
-2. Running the action on a schedule during off-peak hours
-3. Analyzing specific branches with smaller diffs
+MIT — see [LICENSE](LICENSE).
diff --git a/action.yml b/action.yml
index 6f17d1d..1c84592 100644
--- a/action.yml
+++ b/action.yml
@@ -1,447 +1,540 @@
-name: 'CodeBoarding [Diagram-First Documentation]'
-description: 'Generates diagram-first visualizations of your codebase using static analysis and large language models.'
+name: 'CodeBoarding Architecture Review'
+description: 'Posts a PR comment with an architecture diagram showing which components changed (added/modified/removed).'
author: 'CodeBoarding'
branding:
- icon: 'book-open' # or 'layers', 'git-branch', 'book-open', 'target'
+ icon: 'git-pull-request'
color: 'blue'
inputs:
- output_directory:
- description: 'Directory where documentation files will be saved'
- required: false
- default: 'docs'
- repository_url:
- description: 'Repository URL to fetch documentation for (defaults to current repository)'
- required: true
- source_branch:
- description: 'Source branch for comparison'
- required: true
- target_branch:
- description: 'Target branch for comparison'
+ llm_api_key:
+ description: 'LLM API key (OpenRouter by default). Required.'
required: true
- output_format:
- description: 'Output format for documentation files (.md, .mdx, .rst, or .html)'
+ github_token:
+ description: 'GITHUB_TOKEN used to post the PR comment and (optionally) push the image. Defaults to the workflow token.'
+ required: false
+ default: ${{ github.token }}
+ engine_ref:
+ description: 'Git ref of CodeBoarding/CodeBoarding to use as the analysis engine.'
+ required: false
+ default: 'main'
+ depth_level:
+ description: 'Diagram depth (1-3). Higher is slower and more detailed.'
+ required: false
+ default: '1'
+ agent_model:
+ description: 'LLM model identifier used for analysis (passed through as AGENT_MODEL env var).'
required: false
- default: '.md'
+ default: 'openrouter/anthropic/claude-sonnet-4'
+ parsing_model:
+ description: 'LLM model identifier used for parsing (passed through as PARSING_MODEL env var).'
+ required: false
+ default: 'openrouter/anthropic/claude-sonnet-4'
+ image_branch:
+ description: 'Orphan branch in this repo where rendered diff PNGs are stored. Created on first run.'
+ required: false
+ default: 'codeboarding-images'
+ comment_header:
+ description: 'Header line used inside the sticky PR comment.'
+ required: false
+ default: 'Architecture review'
outputs:
- markdown_files_created:
- description: 'Number of Markdown files created'
- value: ${{ steps.process-docs.outputs.markdown_files_created }}
- json_files_created:
- description: 'Number of JSON files created'
- value: ${{ steps.process-docs.outputs.json_files_created }}
- output_directory:
- description: 'Directory where Markdown files were saved'
- value: ${{ steps.process-docs.outputs.output_directory }}
- json_directory:
- description: 'Directory where JSON files were saved (.codeboarding)'
- value: ${{ steps.process-docs.outputs.json_directory }}
- has_changes:
- description: 'Whether any files were created or changed'
- value: ${{ steps.process-docs.outputs.has_changes }}
- repo_url:
- description: 'Repository URL that was analyzed'
- value: ${{ steps.repo-url.outputs.repo_url }}
+ diff_png:
+ description: 'Path to the rendered diff PNG (in the runner workspace).'
+ value: ${{ steps.render.outputs.png_path }}
+ diff_json:
+ description: 'Path to the computed diff JSON.'
+ value: ${{ steps.diff.outputs.json_path }}
+ image_url:
+ description: 'Public URL of the uploaded diff image (empty if upload skipped, e.g. on fork PRs).'
+ value: ${{ steps.upload.outputs.image_url }}
runs:
using: 'composite'
steps:
- - name: Determine repository URL
- id: repo-url
+ - name: Guard — PR event only
+ id: guard
shell: bash
run: |
- # Use the provided repository URL if it's not empty
- if [ -n "${{ inputs.repository_url }}" ]; then
- REPO_URL="${{ inputs.repository_url }}"
- echo "Using provided repository URL: $REPO_URL"
- # Otherwise try to determine from git if we're in a git repository
- elif git config --get remote.origin.url > /dev/null 2>&1; then
- REPO_URL=$(git config --get remote.origin.url)
- # Convert SSH URL to HTTPS if needed
- if [[ $REPO_URL == git@* ]]; then
- REPO_URL=$(echo $REPO_URL | sed 's|git@github.com:|https://github.com/|')
- fi
- echo "Using git remote URL: $REPO_URL"
+ if [ -z "${{ github.event.pull_request.number }}" ]; then
+ echo "::warning::CodeBoarding Architecture Review only runs on pull_request events. Skipping."
+ echo "skip=true" >> $GITHUB_OUTPUT
else
- REPO_URL="${{ github.server_url }}/${{ github.repository }}"
- echo "Using GitHub context URL: $REPO_URL"
+ # Fork PRs: head repo != base repo. We can't push to the base repo
+ # from a fork-triggered workflow, so we skip the image-hosting step
+ # and post a text-only fallback comment.
+ if [ "${{ github.event.pull_request.head.repo.full_name }}" != "${{ github.repository }}" ]; then
+ echo "is_fork=true" >> $GITHUB_OUTPUT
+ else
+ echo "is_fork=false" >> $GITHUB_OUTPUT
+ fi
+ echo "skip=false" >> $GITHUB_OUTPUT
+ echo "base_sha=${{ github.event.pull_request.base.sha }}" >> $GITHUB_OUTPUT
+ echo "head_sha=${{ github.event.pull_request.head.sha }}" >> $GITHUB_OUTPUT
+ echo "pr_number=${{ github.event.pull_request.number }}" >> $GITHUB_OUTPUT
fi
- echo "repo_url=$REPO_URL" >> $GITHUB_OUTPUT
- - name: Create and poll documentation job
- id: fetch-docs
+ - name: Checkout CodeBoarding engine
+ if: steps.guard.outputs.skip != 'true'
+ uses: actions/checkout@v4
+ with:
+ repository: CodeBoarding/CodeBoarding
+ ref: ${{ inputs.engine_ref }}
+ path: codeboarding-engine
+
+ - name: Checkout target repository (PR head)
+ if: steps.guard.outputs.skip != 'true'
+ uses: actions/checkout@v4
+ with:
+ path: target-repo
+ fetch-depth: 0
+ ref: ${{ steps.guard.outputs.head_sha }}
+
+ - name: Ensure PR base commit is fetched
+ if: steps.guard.outputs.skip != 'true'
shell: bash
+ working-directory: target-repo
run: |
- CREATE_JOB_URL="https://server.codeboarding.org/github_action/jobs"
- REPO_URL="${{ steps.repo-url.outputs.repo_url }}"
- SOURCE_BRANCH="${{ inputs.source_branch }}"
- TARGET_BRANCH="${{ inputs.target_branch }}"
- OUTPUT_DIRECTORY="${{ inputs.output_directory }}"
- OUTPUT_FORMAT="${{ inputs.output_format }}"
-
- echo "🚀 Creating CodeBoarding analysis job...$CREATE_JOB_URL"
- echo "📊 Repository: $REPO_URL"
- echo "🌿 Source branch: $SOURCE_BRANCH"
- echo "🎯 Target branch: $TARGET_BRANCH"
- echo "📄 Output format: $OUTPUT_FORMAT"
-
- # Create JSON payload
- JSON_PAYLOAD=$(jq -n \
- --arg url "$REPO_URL" \
- --arg source_branch "$SOURCE_BRANCH" \
- --arg target_branch "$TARGET_BRANCH" \
- --arg output_directory "$OUTPUT_DIRECTORY" \
- --arg extension "$OUTPUT_FORMAT" \
- '{
- url: $url,
- source_branch: $source_branch,
- target_branch: $target_branch,
- output_directory: $output_directory,
- extension: $extension
- }')
-
- echo "📋 Request payload:"
- echo "$JSON_PAYLOAD"
-
- # Create temporary file for response
- TEMP_FILE=$(mktemp)
-
- echo "🌐 Making API request to create job..."
-
- # Make the API call to create job
- response=$(curl -s -w "%{http_code}" -o "$TEMP_FILE" \
- -X POST \
- -H "Content-Type: application/json" \
- -d "$JSON_PAYLOAD" \
- --max-time 60 \
- --connect-timeout 30 \
- "$CREATE_JOB_URL")
- curl_exit_code=$?
-
- http_code=${response: -3}
-
- echo "✅ Job creation request completed!"
- echo "📋 Response status code: $http_code"
- echo "🔧 Curl exit code: $curl_exit_code"
-
- # Handle curl errors
- if [ $curl_exit_code -ne 0 ]; then
- echo "❌ Error: Curl failed with exit code $curl_exit_code"
- case $curl_exit_code in
- 6) echo "🌐 Couldn't resolve host - check network connectivity" ;;
- 7) echo "🔌 Failed to connect to host - server might be down" ;;
- 28) echo "⏰ Request timed out - server might be busy" ;;
- *) echo "❓ Unknown curl error - check network and server status" ;;
- esac
- rm -f "$TEMP_FILE"
- exit 1
+ # actions/checkout@v4 with fetch-depth: 0 already grabs all branches,
+ # but the base SHA may be unreachable from head on stacked / fork PRs.
+ git fetch origin "${{ steps.guard.outputs.base_sha }}" --depth=1 || true
+ git cat-file -e "${{ steps.guard.outputs.base_sha }}" && echo "Base commit reachable." || \
+ (echo "::error::Base commit ${{ steps.guard.outputs.base_sha }} is not reachable." && exit 1)
+
+ - name: Set up Python 3.13
+ if: steps.guard.outputs.skip != 'true'
+ uses: actions/setup-python@v5
+ with:
+ python-version: '3.13'
+
+ - name: Set up Node.js 20
+ if: steps.guard.outputs.skip != 'true'
+ uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+
+ - name: Install uv
+ if: steps.guard.outputs.skip != 'true'
+ uses: astral-sh/setup-uv@v4
+
+ - name: Cache uv venv (engine)
+ if: steps.guard.outputs.skip != 'true'
+ uses: actions/cache@v4
+ with:
+ path: codeboarding-engine/.venv
+ key: cb-uv-${{ runner.os }}-${{ hashFiles('codeboarding-engine/pyproject.toml', 'codeboarding-engine/uv.lock') }}
+ restore-keys: |
+ cb-uv-${{ runner.os }}-
+
+ - name: Cache LSP servers
+ if: steps.guard.outputs.skip != 'true'
+ uses: actions/cache@v4
+ with:
+ path: |
+ codeboarding-engine/static_analyzer/servers/node_modules
+ codeboarding-engine/static_analyzer/servers/bin
+ key: cb-lsp-${{ runner.os }}-v1
+ restore-keys: |
+ cb-lsp-${{ runner.os }}-
+
+ - name: Cache Playwright browsers
+ if: steps.guard.outputs.skip != 'true'
+ uses: actions/cache@v4
+ with:
+ path: ~/.cache/ms-playwright
+ key: cb-playwright-${{ runner.os }}-v1
+
+ - name: Install Python dependencies
+ if: steps.guard.outputs.skip != 'true'
+ shell: bash
+ working-directory: codeboarding-engine
+ run: |
+ uv venv --clear
+ uv pip install -e .
+
+ - name: Install LSP servers
+ if: steps.guard.outputs.skip != 'true'
+ shell: bash
+ working-directory: codeboarding-engine
+ run: |
+ uv run python install.py --auto-install-npm
+
+ - name: Seed base analysis.json (from PR base commit)
+ if: steps.guard.outputs.skip != 'true'
+ id: base
+ shell: bash
+ working-directory: target-repo
+ run: |
+ BASE_SHA="${{ steps.guard.outputs.base_sha }}"
+ BASE_SEED_DIR=$(mktemp -d)
+ if git show "${BASE_SHA}:.codeboarding/analysis.json" > "${BASE_SEED_DIR}/analysis.json" 2>/dev/null; then
+ # Also copy manifest + static_analysis.pkl if present (manifest is
+ # harmless if absent; pkl avoids IncrementalCacheMissingError).
+ git show "${BASE_SHA}:.codeboarding/analysis_manifest.json" > "${BASE_SEED_DIR}/analysis_manifest.json" 2>/dev/null || true
+ git show "${BASE_SHA}:.codeboarding/static_analysis.pkl" > "${BASE_SEED_DIR}/static_analysis.pkl" 2>/dev/null && \
+ echo "Seeded static_analysis.pkl from base" || \
+ (rm -f "${BASE_SEED_DIR}/static_analysis.pkl"; echo "No static_analysis.pkl at base; full re-cluster will run")
+ echo "found=true" >> $GITHUB_OUTPUT
+ echo "seed_dir=${BASE_SEED_DIR}" >> $GITHUB_OUTPUT
+ echo "Base analysis seeded into ${BASE_SEED_DIR}"
+ else
+ rm -rf "${BASE_SEED_DIR}"
+ echo "found=false" >> $GITHUB_OUTPUT
+ echo "::warning::No .codeboarding/analysis.json at PR base commit ${BASE_SHA}. First-run mode."
fi
-
- if [ "$http_code" != "202" ]; then
- echo "❌ Error: Job creation failed with status code $http_code"
- echo "📄 Response content:"
- cat "$TEMP_FILE"
-
- # Try to parse as JSON for better error message
- if jq -e '.detail' "$TEMP_FILE" > /dev/null 2>&1; then
- echo "🔍 Error details: $(jq -r '.detail' "$TEMP_FILE")"
- fi
-
- rm -f "$TEMP_FILE"
+
+ - name: Run CodeBoarding analysis (PR head)
+ if: steps.guard.outputs.skip != 'true' && steps.base.outputs.found == 'true'
+ id: analyze
+ shell: bash
+ working-directory: codeboarding-engine
+ env:
+ OPENROUTER_API_KEY: ${{ inputs.llm_api_key }}
+ AGENT_MODEL: ${{ inputs.agent_model }}
+ PARSING_MODEL: ${{ inputs.parsing_model }}
+ STATIC_ANALYSIS_CONFIG: ${{ github.workspace }}/codeboarding-engine/static_analysis_config.yml
+ PROJECT_ROOT: ${{ github.workspace }}/codeboarding-engine
+ DIAGRAM_DEPTH_LEVEL: ${{ inputs.depth_level }}
+ CACHING_DOCUMENTATION: 'false'
+ ENABLE_MONITORING: 'false'
+ run: |
+ if [ -z "$OPENROUTER_API_KEY" ]; then
+ echo "::error::OPENROUTER_API_KEY is empty. Set it as a repo secret and pass via the 'llm_api_key' input."
exit 1
fi
-
- # Check if response is valid JSON
- if ! jq empty "$TEMP_FILE" 2>/dev/null; then
- echo "❌ Error: Invalid JSON response"
- echo "📄 Response content:"
- cat "$TEMP_FILE"
- rm -f "$TEMP_FILE"
+
+ # Strip whitespace and surrounding quotes — pasting a key into the
+ # GitHub secret UI often picks up trailing newlines or wrap-around
+ # quotes from `KEY=value` lines, both of which break Bearer auth.
+ _strip() {
+ printf '%s' "$1" | tr -d '[:space:]' | sed -e 's/^"//;s/"$//' -e "s/^'//;s/'\$//"
+ }
+ OPENROUTER_API_KEY="$(_strip "$OPENROUTER_API_KEY")"; export OPENROUTER_API_KEY
+ AGENT_MODEL="$(_strip "$AGENT_MODEL")"; export AGENT_MODEL
+ PARSING_MODEL="$(_strip "$PARSING_MODEL")"; export PARSING_MODEL
+
+ # If the user pasted `OPENROUTER_API_KEY=sk-...` (whole env line)
+ # into the secret UI, drop the prefix.
+ case "$OPENROUTER_API_KEY" in
+ OPENROUTER_API_KEY=*) OPENROUTER_API_KEY="${OPENROUTER_API_KEY#OPENROUTER_API_KEY=}";;
+ openrouter_api_key=*) OPENROUTER_API_KEY="${OPENROUTER_API_KEY#openrouter_api_key=}";;
+ esac
+ OPENROUTER_API_KEY="$(_strip "$OPENROUTER_API_KEY")"; export OPENROUTER_API_KEY
+
+ KEY_LEN=${#OPENROUTER_API_KEY}
+ case "$OPENROUTER_API_KEY" in
+ sk-or-v1-*) KEY_PREFIX_OK=1 ;;
+ *) KEY_PREFIX_OK=0 ;;
+ esac
+ echo "OPENROUTER_API_KEY length after strip: $KEY_LEN chars; prefix-looks-like-OpenRouter: $KEY_PREFIX_OK"
+ AUTH_STATUS=$(curl -sS -o /tmp/openrouter-auth.json -w "%{http_code}" \
+ -H "Authorization: Bearer $OPENROUTER_API_KEY" \
+ --max-time 10 \
+ https://openrouter.ai/api/v1/auth/key || echo "curl-fail")
+ echo "OpenRouter /auth/key response: HTTP $AUTH_STATUS"
+ if [ "$AUTH_STATUS" != "200" ]; then
+ echo "::error::OpenRouter rejected the API key (HTTP $AUTH_STATUS). Verify the OPENROUTER_API_KEY secret value."
+ cat /tmp/openrouter-auth.json 2>/dev/null || true
exit 1
fi
-
- # Extract job_id from response
- JOB_ID=$(jq -r '.job_id' "$TEMP_FILE")
-
- if [ "$JOB_ID" = "null" ] || [ -z "$JOB_ID" ]; then
- echo "❌ Error: No job_id found in response"
- echo "📄 Response content:"
- cat "$TEMP_FILE"
- rm -f "$TEMP_FILE"
+
+ TARGET_REPO="${{ github.workspace }}/target-repo"
+ SEED_DIR="${{ steps.base.outputs.seed_dir }}"
+ BASE_SHA="${{ steps.guard.outputs.base_sha }}"
+ HEAD_SHA="${{ steps.guard.outputs.head_sha }}"
+ REPO_NAME="${{ github.event.repository.name }}"
+ RUN_ID="${{ github.run_id }}-${{ github.run_attempt }}"
+
+ # Use run_incremental against the already-checked-out PR head.
+ # On IncrementalCacheMissingError (legacy pkl, tiny repo with no
+ # cluster baseline, first-ever incremental run) fall back to a full
+ # run — yields a fresh analysis.json that we can still diff against
+ # the base SHA's analysis.json.
+ uv run python -c "
+ from pathlib import Path
+ from codeboarding_workflows.analysis import run_incremental, run_full
+ from diagram_analysis.exceptions import IncrementalCacheMissingError
+ try:
+ result = run_incremental(
+ repo_path=Path('$TARGET_REPO'),
+ output_dir=Path('$SEED_DIR'),
+ project_name='$REPO_NAME',
+ run_id='$RUN_ID',
+ log_path='/tmp/cb-analysis.log',
+ base_ref='$BASE_SHA',
+ target_ref='$HEAD_SHA',
+ source_sha='$HEAD_SHA',
+ )
+ except IncrementalCacheMissingError as exc:
+ print(f'Incremental unavailable ({exc}); falling back to full analysis.')
+ # Wipe the seed dir so run_full starts clean (it picks up
+ # depth_level from env / default).
+ for p in Path('$SEED_DIR').glob('*'):
+ if p.is_file():
+ p.unlink()
+ result = run_full(
+ repo_name='$REPO_NAME',
+ repo_path=Path('$TARGET_REPO'),
+ output_dir=Path('$SEED_DIR'),
+ run_id='$RUN_ID',
+ log_path='/tmp/cb-analysis.log',
+ depth_level=int('${{ inputs.depth_level }}'),
+ source_sha='$HEAD_SHA',
+ )
+ print(f'Wrote: {result}')
+ "
+
+ if [ ! -f "$SEED_DIR/analysis.json" ]; then
+ echo "::error::Analysis ran but $SEED_DIR/analysis.json is missing."
exit 1
fi
-
- echo "✅ Job created successfully!"
- echo "🆔 Job ID: $JOB_ID"
-
- # Start polling job status
- STATUS_URL="https://server.codeboarding.org/github_action/jobs/$JOB_ID"
-
- echo "📊 Starting job status polling..."
- echo "⏰ This may take 15-45 minutes for large repositories..."
- echo "💡 If your workflow times out, increase 'timeout-minutes' in your job configuration"
-
- # Polling loop
- POLL_COUNT=0
- MAX_POLLS=90 # 90 minutes max (90 * 1 minute intervals)
-
- while [ $POLL_COUNT -lt $MAX_POLLS ]; do
- POLL_COUNT=$((POLL_COUNT + 1))
-
- echo "🔍 Polling attempt $POLL_COUNT of $MAX_POLLS ($(date '+%H:%M:%S'))"
-
- # Make status check API call
- response=$(curl -s -w "%{http_code}" -o "$TEMP_FILE" \
- --max-time 30 \
- --connect-timeout 10 \
- "$STATUS_URL")
-
- curl_exit_code=$?
- http_code=${response: -3}
-
- # Handle curl errors
- if [ $curl_exit_code -ne 0 ]; then
- echo "⚠️ Warning: Status check failed with curl exit code $curl_exit_code"
- echo "🔄 Retrying in 30 seconds..."
- sleep 30
- continue
- fi
-
- if [ "$http_code" != "200" ]; then
- echo "⚠️ Warning: Status check failed with HTTP code $http_code"
- echo "📄 Response content:"
- cat "$TEMP_FILE"
- echo "🔄 Retrying in 30 seconds..."
- sleep 30
- continue
- fi
-
- # Check if response is valid JSON
- if ! jq empty "$TEMP_FILE" 2>/dev/null; then
- echo "⚠️ Warning: Invalid JSON response"
- echo "📄 Response content:"
- cat "$TEMP_FILE"
- echo "🔄 Retrying in 30 seconds..."
- sleep 30
- continue
- fi
-
- # Extract status from response
- STATUS=$(jq -r '.status' "$TEMP_FILE")
-
- echo "📊 Current job status: $STATUS"
-
- if [ "$STATUS" = "COMPLETED" ]; then
- echo "✅ Job completed successfully!"
-
- # Check if result field exists and contains files
- if jq -e '.result' "$TEMP_FILE" > /dev/null; then
- echo "📦 Result field found, preparing output..."
-
- # Check if result is a JSON string or already a JSON object
- RESULT_TYPE=$(jq -r '.result | type' "$TEMP_FILE")
-
- if [ "$RESULT_TYPE" = "string" ]; then
- echo "🔧 Result is a JSON string, parsing it..."
- # Parse the JSON string in the result field
- jq -r '.result' "$TEMP_FILE" | jq '.' > "${TEMP_FILE}_result"
- else
- echo "🔧 Result is already a JSON object, extracting it..."
- # Extract the result object directly
- jq '.result' "$TEMP_FILE" > "${TEMP_FILE}_result"
- fi
-
- # Verify the extracted result
- if jq -e '.files' "${TEMP_FILE}_result" > /dev/null; then
- echo "✅ Files extracted successfully"
- mv "${TEMP_FILE}_result" "$TEMP_FILE"
- echo "response_file=$TEMP_FILE" >> $GITHUB_OUTPUT
- exit 0 # Successfully extracted files, exit with success
- else
- echo "❌ Error: Extracted result is missing files structure"
- echo "📄 Extracted content:"
- cat "${TEMP_FILE}_result"
- rm -f "${TEMP_FILE}_result" "$TEMP_FILE"
- exit 1
- fi
- else
- echo "❌ Error: Job completed but no result or result.files found in response"
- echo "📄 Response structure:"
- jq '.' "$TEMP_FILE"
-
- # If result exists, show what it contains
- if jq -e '.result' "$TEMP_FILE" > /dev/null; then
- echo "📄 Result field content:"
- RESULT_TYPE=$(jq -r '.result | type' "$TEMP_FILE")
- echo "Result type: $RESULT_TYPE"
-
- if [ "$RESULT_TYPE" = "string" ]; then
- echo "Result string content:"
- jq -r '.result' "$TEMP_FILE"
- else
- echo "Result object content:"
- jq '.result' "$TEMP_FILE"
- fi
- fi
-
- rm -f "$TEMP_FILE"
- exit 1
- fi
- elif [ "$STATUS" = "FAILED" ] || [ "$STATUS" = "ERROR" ]; then
- echo "❌ Job failed with status: $STATUS"
- echo "📄 Response content:"
- cat "$TEMP_FILE"
- rm -f "$TEMP_FILE"
- exit 1
- else
- # Job still in progress
- echo "⏳ Job in progress (status: $STATUS)..."
-
- # Show additional progress information if available
- if jq -e '.updated_at' "$TEMP_FILE" > /dev/null; then
- UPDATED_AT=$(jq -r '.updated_at' "$TEMP_FILE")
- echo "🕐 Last updated: $UPDATED_AT"
- fi
-
- echo "💤 Waiting 15 seconds before next check..."
- sleep 15
- fi
- done
-
- # Only reach here if we've exceeded max polls without completion
- echo "❌ Error: Job polling timed out after $MAX_POLLS attempts"
- echo "🏗️ The repository analysis is taking longer than expected."
- echo "📊 This might be due to:"
- echo " • Very large repository size (>10k files)"
- echo " • Complex codebase requiring extensive analysis"
- echo " • Server load or processing delays"
- echo ""
- echo "💡 Suggestions:"
- echo " • Try again later when server load might be lower"
- echo " • Consider analyzing smaller branches or specific directories"
- echo " • Increase your GitHub Actions job timeout-minutes to 120+"
- echo " • Contact support if the issue persists"
-
- rm -f "$TEMP_FILE"
- exit 1
-
- - name: Process documentation files
- id: process-docs
+ echo "current_analysis=$SEED_DIR/analysis.json" >> $GITHUB_OUTPUT
+
+ # Run health checks; persist counts + a couple of sample findings
+ # to /tmp/health.json so the comment-build step can surface them.
+ uv run python -c "
+ import json
+ from pathlib import Path
+ # check_name -> short human phrase used in the inline examples
+ LABELS = {
+ 'circular_dependencies': 'circular dependency',
+ 'god_classes': 'god class',
+ 'function_size': 'oversized function',
+ 'fan_out': 'high fan-out',
+ 'fan_in': 'high fan-in',
+ 'package_instability': 'unstable package',
+ 'inheritance_depth': 'deep inheritance hierarchy',
+ 'unused_code_diagnostics': 'unused code',
+ }
+ def humanize(check_name: str) -> str:
+ return LABELS.get(check_name, check_name.replace('_', ' '))
+ def display_name(entity) -> str:
+ # Prefer the last identifier-like segment of the qualified name.
+ # Filter out placeholders like '', '', ''.
+ raw = (entity.entity_name or '').replace('/', '.').strip('.')
+ parts = [p for p in raw.split('.') if p and not (p.startswith('<') and p.endswith('>'))]
+ if parts:
+ # Take last 2 segments joined when the leaf looks generic ('main',
+ # '__init__'), otherwise just the leaf.
+ if len(parts) >= 2 and parts[-1] in ('main', '__init__', 'run'):
+ return '.'.join(parts[-2:])
+ return parts[-1]
+ # No identifier — fall back to file basename, then raw, then 'unknown'
+ if getattr(entity, 'file_path', None):
+ return entity.file_path.split('/')[-1]
+ return raw or 'unknown'
+ try:
+ from static_analyzer.analysis_cache import StaticAnalysisCache
+ from health.runner import run_health_checks
+ from health.models import Severity
+ cache = StaticAnalysisCache(artifact_dir=Path('$SEED_DIR'), repo_root=Path('$TARGET_REPO'))
+ sa = cache.get()
+ if sa is None:
+ print('No static_analysis available; skipping health checks.')
+ Path('/tmp/health.json').write_text(json.dumps({'warnings': 0, 'critical': 0, 'examples': []}))
+ else:
+ report = run_health_checks(sa, repo_name='$REPO_NAME', repo_path=Path('$TARGET_REPO'))
+ n_warn = n_crit = 0
+ examples: list[str] = []
+ seen_keys: set[tuple[str, str]] = set()
+ if report is not None:
+ for cs in report.check_summaries:
+ for fg in getattr(cs, 'finding_groups', []):
+ sev = fg.severity
+ if sev == Severity.WARNING:
+ n_warn += len(fg.entities)
+ elif sev == Severity.CRITICAL:
+ n_crit += len(fg.entities)
+ else:
+ continue
+ for ent in fg.entities:
+ if len(examples) >= 2:
+ break
+ name = display_name(ent)
+ if not name or name == 'unknown':
+ continue
+ key = (cs.check_name, name)
+ if key in seen_keys:
+ continue
+ seen_keys.add(key)
+ examples.append(f'{humanize(cs.check_name)} in \`{name}\`')
+ Path('/tmp/health.json').write_text(json.dumps({
+ 'warnings': n_warn, 'critical': n_crit,
+ 'examples': examples,
+ 'overall_score': report.overall_score if report else None,
+ }))
+ print(f'Health: {n_warn} warning(s), {n_crit} critical(s); examples={examples}')
+ except Exception as exc:
+ print(f'Health checks failed ({exc}); continuing without warnings count.')
+ Path('/tmp/health.json').write_text(json.dumps({'warnings': 0, 'critical': 0, 'examples': []}))
+ "
+
+ - name: Compute diff JSON
+ if: steps.guard.outputs.skip != 'true' && steps.base.outputs.found == 'true'
+ id: diff
shell: bash
run: |
- RESPONSE_FILE="${{ steps.fetch-docs.outputs.response_file }}"
- MD_OUTPUT_DIR="${{ inputs.output_directory }}"
- JSON_OUTPUT_DIR=".codeboarding"
- OUTPUT_FORMAT="${{ inputs.output_format }}"
-
- # Validate output format
- if [[ "$OUTPUT_FORMAT" != ".md" && "$OUTPUT_FORMAT" != ".mdx" && "$OUTPUT_FORMAT" != ".rst" && "$OUTPUT_FORMAT" != ".html" ]]; then
- echo "Error: Invalid output format '$OUTPUT_FORMAT'. Must be either '.md', '.mdx', '.rst', or '.html'"
- exit 1
- fi
-
- # Clean and create the output directories
- mkdir -p "$MD_OUTPUT_DIR"
-
- # Remove existing .codeboarding files before adding new ones
- if [ -d "$JSON_OUTPUT_DIR" ]; then
- echo "Cleaning existing JSON files from $JSON_OUTPUT_DIR"
- rm -rf "$JSON_OUTPUT_DIR"
+ python3 ${{ github.action_path }}/scripts/compute_diff.py \
+ --repo-dir target-repo \
+ --base-commit "${{ steps.guard.outputs.base_sha }}" \
+ --current-analysis "${{ steps.analyze.outputs.current_analysis }}" \
+ --out /tmp/diff.json
+ echo "json_path=/tmp/diff.json" >> $GITHUB_OUTPUT
+
+ - name: Install Playwright runtime (in action dir)
+ if: steps.guard.outputs.skip != 'true' && steps.base.outputs.found == 'true'
+ shell: bash
+ working-directory: ${{ github.action_path }}
+ run: |
+ if [ ! -f package.json ]; then
+ npm init -y > /dev/null
fi
- mkdir -p "$JSON_OUTPUT_DIR"
-
- # Initialize counters
- MARKDOWN_FILES_CREATED=0
- JSON_FILES_CREATED=0
-
- echo "=== Processing Documentation Files ==="
- echo "Response JSON structure:"
- jq . "$RESPONSE_FILE"
- echo "Using output format: $OUTPUT_FORMAT"
- # Parse JSON response and create files using keys as filenames
- if jq -e '.files' "$RESPONSE_FILE" > /dev/null; then
- echo "Files key found, proceeding to create files..."
-
- # Check if files object is empty
- FILES_COUNT=$(jq '.files | length' "$RESPONSE_FILE")
- if [ "$FILES_COUNT" -eq 0 ]; then
- echo "ℹ️ No documentation files were generated for this repository/branch combination."
- echo "📝 This might be because:"
- echo " • No changes were detected between the source and target branches"
- echo " • The repository or branches don't exist or are not accessible"
- echo " • No analyzable code files were found"
- echo " • The branches are identical (no diff to analyze)"
- else
- # Get each key from files object and create a file with that name
- while IFS= read -r filename; do
- echo "Processing file: $filename"
-
- # Get the content for this filename
- content=$(jq -r ".files[\"$filename\"]" "$RESPONSE_FILE")
-
- # Determine file type and destination
- if [[ "$filename" == *.json ]]; then
- # JSON file
- output_dir="$JSON_OUTPUT_DIR"
- output_filename="$filename"
- echo "$content" > "$output_dir/$output_filename"
- echo "Created JSON file: $output_dir/$output_filename"
- JSON_FILES_CREATED=$((JSON_FILES_CREATED + 1))
- else
- # Documentation file - add appropriate extension if not present
- output_dir="$MD_OUTPUT_DIR"
-
- # Check if filename has an extension
- if [[ "$filename" == *.* ]]; then
- # Extract basename without extension
- basename="${filename%.*}"
- else
- basename="$filename"
- fi
-
- # Add the selected output format extension
- output_filename="${basename}${OUTPUT_FORMAT}"
-
- echo "$content" > "$output_dir/$output_filename"
- echo "Created documentation file: $output_dir/$output_filename"
- MARKDOWN_FILES_CREATED=$((MARKDOWN_FILES_CREATED + 1))
- fi
- done < <(jq -r '.files | keys[]' "$RESPONSE_FILE")
- fi
+ npm install --no-save playwright@1.49.0
+ npx playwright install chromium
+
+ - name: Render diagram PNG
+ if: steps.guard.outputs.skip != 'true' && steps.base.outputs.found == 'true'
+ id: render
+ shell: bash
+ run: |
+ node ${{ github.action_path }}/scripts/render_diagram.mjs \
+ --webview-dir "${{ github.action_path }}/webview-dist" \
+ --analysis "${{ steps.analyze.outputs.current_analysis }}" \
+ --diff /tmp/diff.json \
+ --out /tmp/diff.png
+ echo "png_path=/tmp/diff.png" >> $GITHUB_OUTPUT
+
+ - name: Upload diff PNG to image branch
+ if: steps.guard.outputs.skip != 'true' && steps.base.outputs.found == 'true' && steps.guard.outputs.is_fork == 'false'
+ id: upload
+ shell: bash
+ env:
+ GH_TOKEN: ${{ inputs.github_token }}
+ run: |
+ IMAGE_BRANCH="${{ inputs.image_branch }}"
+ REPO_FULL="${{ github.repository }}"
+ PR_NUM="${{ steps.guard.outputs.pr_number }}"
+ HEAD_SHA="${{ steps.guard.outputs.head_sha }}"
+ IMG_REL_PATH="pr-${PR_NUM}/${HEAD_SHA}.png"
+
+ # Work in an isolated dir so we don't pollute the user's checkout
+ IMG_REPO_DIR=$(mktemp -d)
+ cd "$IMG_REPO_DIR"
+ git init -q
+ git config user.email "codeboarding-bot@users.noreply.github.com"
+ git config user.name "codeboarding-bot"
+ git remote add origin "https://x-access-token:${GH_TOKEN}@github.com/${REPO_FULL}.git"
+
+ if git fetch --depth=1 origin "${IMAGE_BRANCH}" 2>/dev/null; then
+ git checkout -q -b "${IMAGE_BRANCH}" "origin/${IMAGE_BRANCH}"
else
- echo "No 'files' key found in response JSON - checking if job completed with no results"
+ git checkout -q --orphan "${IMAGE_BRANCH}"
+ git rm -rfq . 2>/dev/null || true
+ echo "# CodeBoarding diff images" > README.md
+ echo "" >> README.md
+ echo "Auto-generated. Do not edit. Created by github.com/CodeBoarding/CodeBoarding-action." >> README.md
+ git add README.md
+ git commit -q -m "init image branch"
fi
-
- # Clean up temporary file
- rm -f "$RESPONSE_FILE"
-
- # Check if any files were created
- TOTAL_FILES=$((MARKDOWN_FILES_CREATED + JSON_FILES_CREATED))
- if [ "$TOTAL_FILES" -gt 0 ]; then
- HAS_CHANGES="true"
- echo "Created $MARKDOWN_FILES_CREATED Markdown files in $MD_OUTPUT_DIR"
- echo "Created $JSON_FILES_CREATED JSON files in $JSON_OUTPUT_DIR"
-
- # List created files
- if [ "$MARKDOWN_FILES_CREATED" -gt 0 ]; then
- echo "Markdown files created:"
- ls -la "$MD_OUTPUT_DIR"
+
+ mkdir -p "$(dirname "${IMG_REL_PATH}")"
+ cp /tmp/diff.png "${IMG_REL_PATH}"
+ git add "${IMG_REL_PATH}"
+ git commit -q -m "diff image for PR #${PR_NUM} @ ${HEAD_SHA}" || echo "no change"
+ git push -q origin "${IMAGE_BRANCH}"
+
+ IMG_URL="https://raw.githubusercontent.com/${REPO_FULL}/${IMAGE_BRANCH}/${IMG_REL_PATH}"
+ echo "image_url=${IMG_URL}" >> $GITHUB_OUTPUT
+ echo "Image URL: ${IMG_URL}"
+
+ - name: Build PR comment body
+ if: steps.guard.outputs.skip != 'true'
+ id: body
+ shell: bash
+ run: |
+ HEADER="${{ inputs.comment_header }}"
+ BASE_REF="${{ github.event.pull_request.base.ref }}"
+ BASE_SHA="${{ steps.guard.outputs.base_sha }}"
+ BASE_SHORT="${BASE_SHA:0:7}"
+ BODY_FILE=$(mktemp)
+
+ # Helpers: pluralized headline ("1 component changed" / "5 components changed" / "no architectural changes")
+ headline() {
+ local n="$1"
+ if [ "$n" = "0" ]; then echo "no architectural changes";
+ elif [ "$n" = "1" ]; then echo "1 component changed";
+ else echo "${n} components changed";
fi
-
- if [ "$JSON_FILES_CREATED" -gt 0 ]; then
- echo "JSON files created:"
- ls -la "$JSON_OUTPUT_DIR"
+ }
+
+ # Warnings footer: surface health-check findings if any were detected.
+ # Reads /tmp/health.json written by the analyze step. Format:
+ # ⚠️ **N architecture warnings detected.**
+ # *(e.g., circular dependency in `auth_service`, ...)*
+ # [ View full trace & diagnostic logs ](https://codeboarding.org/pr/123)
+ warnings_footer() {
+ if [ ! -f /tmp/health.json ]; then return; fi
+ local total examples_md
+ total=$(python3 -c "import json; d=json.load(open('/tmp/health.json')); print(d.get('warnings', 0) + d.get('critical', 0))" 2>/dev/null || echo 0)
+ if [ "$total" = "0" ]; then return; fi
+ examples_md=$(python3 -c "import json; d=json.load(open('/tmp/health.json')); print(', '.join(d.get('examples', [])[:2]))" 2>/dev/null || echo "")
+ local label
+ if [ "$total" = "1" ]; then label="warning"; else label="warnings"; fi
+ local pr_num="${{ steps.guard.outputs.pr_number }}"
+ local trace_url="https://codeboarding.org/pr/${pr_num}"
+ echo ""
+ echo "⚠️ **${total} architecture ${label} detected.**"
+ if [ -n "$examples_md" ]; then
+ echo "*(e.g., ${examples_md})*"
fi
+ echo ""
+ echo "[ View full trace & diagnostic logs ](${trace_url})"
+ }
+
+ if [ "${{ steps.base.outputs.found }}" = "false" ]; then
+ cat > "$BODY_FILE" <codeboarding-action · run ${{ github.run_id }}
+ EOF
+ elif [ "${{ steps.guard.outputs.is_fork }}" = "true" ]; then
+ N_CHANGED=$(python3 -c "import json; d=json.load(open('/tmp/diff.json')); print(sum(1 for c in d.get('components',[]) if c.get('diff_status') in ('added','deleted','modified')))" 2>/dev/null || echo "?")
+ cat > "$BODY_FILE" <codeboarding-action · run ${{ github.run_id }}
+ EOF
else
- HAS_CHANGES="false"
- echo "No files were created"
+ IMG_URL="${{ steps.upload.outputs.image_url }}"
+ N_CHANGED=$(python3 -c "import json; d=json.load(open('/tmp/diff.json')); print(sum(1 for c in d.get('components',[]) if c.get('diff_status') in ('added','deleted','modified')))" 2>/dev/null || echo "?")
+ WARN_FOOTER="$(warnings_footer)"
+ cat > "$BODY_FILE" <codeboarding-action · run ${{ github.run_id }}
+ EOF
fi
-
- # Set outputs
- echo "markdown_files_created=$MARKDOWN_FILES_CREATED" >> $GITHUB_OUTPUT
- echo "json_files_created=$JSON_FILES_CREATED" >> $GITHUB_OUTPUT
- echo "output_directory=$MD_OUTPUT_DIR" >> $GITHUB_OUTPUT
- echo "json_directory=$JSON_OUTPUT_DIR" >> $GITHUB_OUTPUT
- echo "has_changes=$HAS_CHANGES" >> $GITHUB_OUTPUT
\ No newline at end of file
+
+ echo "body_file=$BODY_FILE" >> $GITHUB_OUTPUT
+ echo "--- comment preview ---"
+ cat "$BODY_FILE"
+ echo "--- end preview ---"
+
+ - name: Post sticky PR comment
+ if: steps.guard.outputs.skip != 'true'
+ uses: marocchino/sticky-pull-request-comment@v2
+ with:
+ header: codeboarding-architecture-review
+ path: ${{ steps.body.outputs.body_file }}
+ GITHUB_TOKEN: ${{ inputs.github_token }}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..56dba06
--- /dev/null
+++ b/package.json
@@ -0,0 +1,7 @@
+{
+ "name": "codeboarding-action",
+ "version": "0.0.0",
+ "private": true,
+ "description": "Runtime deps installed at action execution time. Do not commit node_modules.",
+ "type": "module"
+}
diff --git a/scripts/compute_diff.py b/scripts/compute_diff.py
new file mode 100644
index 0000000..d45009c
--- /dev/null
+++ b/scripts/compute_diff.py
@@ -0,0 +1,207 @@
+"""Diff two analysis.json files into the ComponentDiffResult shape the webview expects.
+
+Vendored port of ``CodeBoarding-wrapper/codeboarding_pro/diff/{tree_diff,loader,types}.py``.
+Pure stdlib so it has no dependency on Core's pydantic models — the action's
+analysis step writes plain JSON which we read directly here.
+
+Wire format target: ``CodeBoarding-vscode/webview-ui/src/types/commitDiff.ts``.
+"""
+
+import argparse
+import json
+import re
+import subprocess
+import sys
+from pathlib import Path
+
+_COMMIT_HASH_RE = re.compile(r"^[0-9a-fA-F]{4,40}$")
+
+
+def load_analysis_at_commit(repo_dir: Path, commit_hash: str, path_in_repo: str) -> dict | None:
+ if not _COMMIT_HASH_RE.match(commit_hash):
+ return None
+ try:
+ result = subprocess.run(
+ ["git", "show", f"{commit_hash}:{path_in_repo}"],
+ cwd=repo_dir,
+ capture_output=True,
+ text=True,
+ timeout=30,
+ )
+ except (subprocess.TimeoutExpired, FileNotFoundError):
+ return None
+ if result.returncode != 0:
+ return None
+ try:
+ return json.loads(result.stdout)
+ except json.JSONDecodeError:
+ return None
+
+
+def load_analysis_from_path(path: Path) -> dict | None:
+ if not path.exists():
+ return None
+ try:
+ return json.loads(path.read_text())
+ except (json.JSONDecodeError, OSError):
+ return None
+
+
+def _comp_id(c: dict) -> str:
+ return c.get("component_id") or c.get("name", "")
+
+
+def _comp_name(c: dict) -> str:
+ return c.get("name", "")
+
+
+def _file_methods(c: dict) -> list[dict]:
+ return c.get("file_methods") or []
+
+
+def _methods_by_file(c: dict) -> dict[str, set[str]]:
+ by_file: dict[str, set[str]] = {}
+ for fm in _file_methods(c):
+ fp = fm.get("file_path") or ""
+ names = {m for m in (fm.get("methods") or []) if isinstance(m, str)}
+ if names:
+ by_file.setdefault(fp, set()).update(names)
+ return by_file
+
+
+def _has_structural_changes(base: dict, current: dict) -> bool:
+ base_files = {fm.get("file_path", "") for fm in _file_methods(base)}
+ current_files = {fm.get("file_path", "") for fm in _file_methods(current)}
+ if base_files != current_files:
+ return True
+ base_sub_count = len(base.get("components") or [])
+ current_sub_count = len(current.get("components") or [])
+ if base_sub_count != current_sub_count:
+ return True
+ return False
+
+
+def _diff_methods(base: dict, current: dict) -> dict:
+ base_by_file = _methods_by_file(base)
+ current_by_file = _methods_by_file(current)
+ added: dict[str, list[str]] = {}
+ removed: dict[str, list[str]] = {}
+ for file_path in set(base_by_file) | set(current_by_file):
+ added_in_file = sorted(current_by_file.get(file_path, set()) - base_by_file.get(file_path, set()))
+ removed_in_file = sorted(base_by_file.get(file_path, set()) - current_by_file.get(file_path, set()))
+ if added_in_file:
+ added[file_path] = added_in_file
+ if removed_in_file:
+ removed[file_path] = removed_in_file
+ return {"added": added, "removed": removed}
+
+
+def _rel_key(r: dict) -> tuple[str, str]:
+ src = r.get("src_id") or r.get("src_name") or ""
+ dst = r.get("dst_id") or r.get("dst_name") or ""
+ return (src, dst)
+
+
+def _diff_relations(base_rels: list[dict], current_rels: list[dict]) -> list[dict]:
+ base_edges = {_rel_key(r): r for r in (base_rels or [])}
+ current_edges = {_rel_key(r): r for r in (current_rels or [])}
+ result: list[dict] = []
+ for key, rel in current_edges.items():
+ status = "unchanged" if key in base_edges else "added"
+ result.append({**rel, "diff_status": status})
+ for key, rel in base_edges.items():
+ if key not in current_edges:
+ result.append({**rel, "diff_status": "deleted"})
+ return result
+
+
+def _diff_components(base_components: list[dict], current_components: list[dict]) -> list[dict]:
+ base = base_components or []
+ current = current_components or []
+ base_by_id = {_comp_id(c): c for c in base}
+ base_by_name = {_comp_name(c): c for c in base}
+ matched_base_ids: set[str] = set()
+ result: list[dict] = []
+
+ for comp in current:
+ base_match = base_by_id.get(_comp_id(comp)) or base_by_name.get(_comp_name(comp))
+ if base_match is None:
+ result.append({**comp, "diff_status": "added"})
+ continue
+ matched_base_ids.add(_comp_id(base_match))
+ structural = _has_structural_changes(base_match, comp)
+ method_diff = _diff_methods(base_match, comp)
+ has_method_changes = bool(method_diff["added"] or method_diff["removed"])
+ diff_status = "modified" if (structural or has_method_changes) else "unchanged"
+
+ annotated = {**comp, "diff_status": diff_status, "method_diff": method_diff}
+
+ base_subs = base_match.get("components") or []
+ current_subs = comp.get("components") or []
+ if base_subs or current_subs:
+ annotated["components"] = _diff_components(base_subs, current_subs)
+
+ base_sub_rels = base_match.get("components_relations") or []
+ current_sub_rels = comp.get("components_relations") or []
+ if base_sub_rels or current_sub_rels:
+ annotated["components_relations"] = _diff_relations(base_sub_rels, current_sub_rels)
+
+ result.append(annotated)
+
+ for comp in base:
+ if _comp_id(comp) not in matched_base_ids:
+ ghost = {
+ k: v for k, v in comp.items()
+ if k not in ("components", "components_relations", "can_expand")
+ }
+ ghost["diff_status"] = "deleted"
+ ghost["can_expand"] = False
+ result.append(ghost)
+
+ return result
+
+
+def build_commit_diff_result(base: dict, current: dict, base_commit: str) -> dict:
+ return {
+ "baseCommit": base_commit,
+ "components": _diff_components(base.get("components") or [], current.get("components") or []),
+ "components_relations": _diff_relations(
+ base.get("components_relations") or [],
+ current.get("components_relations") or [],
+ ),
+ }
+
+
+def main() -> int:
+ p = argparse.ArgumentParser()
+ p.add_argument("--repo-dir", required=True, type=Path)
+ p.add_argument("--base-commit", required=True)
+ p.add_argument("--current-analysis", required=True, type=Path,
+ help="Path to the freshly-generated analysis.json (after PR head was analyzed)")
+ p.add_argument("--analysis-path-in-repo", default=".codeboarding/analysis.json")
+ p.add_argument("--out", required=True, type=Path)
+ args = p.parse_args()
+
+ base = load_analysis_at_commit(args.repo_dir, args.base_commit, args.analysis_path_in_repo)
+ if base is None:
+ print(f"::warning::No analysis.json at base commit {args.base_commit} ({args.analysis_path_in_repo}). "
+ f"Cannot produce a diff.", file=sys.stderr)
+ args.out.write_text(json.dumps({"error": "no_base_analysis", "baseCommit": args.base_commit}))
+ return 2
+
+ current = load_analysis_from_path(args.current_analysis)
+ if current is None:
+ print(f"::error::Could not read current analysis.json at {args.current_analysis}", file=sys.stderr)
+ return 1
+
+ diff = build_commit_diff_result(base, current, args.base_commit)
+ args.out.write_text(json.dumps(diff))
+ n_changed = sum(
+ 1 for c in diff["components"] if c.get("diff_status") in ("added", "deleted", "modified")
+ )
+ print(f"Diff written to {args.out}. {n_changed} top-level component(s) changed.")
+ return 0
+
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/scripts/render_diagram.mjs b/scripts/render_diagram.mjs
new file mode 100644
index 0000000..1d63239
--- /dev/null
+++ b/scripts/render_diagram.mjs
@@ -0,0 +1,230 @@
+/**
+ * Headless render of the CodeBoarding diff diagram.
+ *
+ * Boots a static server for the webview-ui dist, opens it in headless
+ * Chromium, injects the analysis + commit-diff via postMessage in the same
+ * shape `e2e/ui/07-commitDiff.pw.ts` uses, waits for the graph to render
+ * with diff styling applied, and writes a PNG.
+ */
+import { chromium } from 'playwright';
+import http from 'node:http';
+import fs from 'node:fs';
+import path from 'node:path';
+
+const args = Object.fromEntries(
+ process.argv.slice(2).reduce((acc, cur, i, arr) => {
+ if (cur.startsWith('--')) acc.push([cur.slice(2), arr[i + 1]]);
+ return acc;
+ }, [])
+);
+
+const required = ['webview-dir', 'analysis', 'diff', 'out'];
+for (const k of required) {
+ if (!args[k]) {
+ console.error(`Missing required arg: --${k}`);
+ process.exit(2);
+ }
+}
+
+const webviewDir = path.resolve(args['webview-dir']);
+const analysisPath = path.resolve(args['analysis']);
+const diffPath = path.resolve(args['diff']);
+const outPath = path.resolve(args['out']);
+const port = Number(args['port'] || 4567);
+const width = Number(args['width'] || 1600);
+const height = Number(args['height'] || 1000);
+
+function serveDir(dir, port, analysisJsonPath) {
+ const mime = {
+ '.html': 'text/html', '.js': 'application/javascript', '.mjs': 'application/javascript',
+ '.css': 'text/css', '.json': 'application/json', '.svg': 'image/svg+xml',
+ '.png': 'image/png', '.jpg': 'image/jpeg', '.ico': 'image/x-icon',
+ '.woff': 'font/woff', '.woff2': 'font/woff2', '.map': 'application/json',
+ };
+ const server = http.createServer((req, res) => {
+ let urlPath = decodeURIComponent(req.url.split('?')[0]);
+ if (urlPath === '/' || urlPath === '') urlPath = '/index.html';
+
+ // Intercept /sample-analysis.json — browser-dev-mock fetches this on
+ // boot when __BROWSER_DEV__ is set, then postMessages it as
+ // 'analysis-loaded'. By serving our real analysis here we let the
+ // webview boot the same way it does in dev mode.
+ if (urlPath === '/sample-analysis.json' && analysisJsonPath) {
+ res.writeHead(200, { 'Content-Type': 'application/json' });
+ fs.createReadStream(analysisJsonPath).pipe(res);
+ return;
+ }
+
+ const filePath = path.join(dir, urlPath);
+ if (!filePath.startsWith(dir)) { res.writeHead(403).end(); return; }
+ fs.stat(filePath, (err, stat) => {
+ if (err || !stat.isFile()) {
+ const fallback = path.join(dir, 'index.html');
+ if (fs.existsSync(fallback)) {
+ res.writeHead(200, { 'Content-Type': 'text/html' });
+ fs.createReadStream(fallback).pipe(res);
+ } else {
+ res.writeHead(404).end();
+ }
+ return;
+ }
+ const ext = path.extname(filePath).toLowerCase();
+ res.writeHead(200, { 'Content-Type': mime[ext] || 'application/octet-stream' });
+ fs.createReadStream(filePath).pipe(res);
+ });
+ });
+ return new Promise((resolve) => server.listen(port, () => resolve(server)));
+}
+
+async function main() {
+ const diff = JSON.parse(fs.readFileSync(diffPath, 'utf8'));
+
+ if (diff && diff.error) {
+ console.error(`Diff has no base data (${diff.error}); render aborted.`);
+ process.exit(3);
+ }
+
+ const server = await serveDir(webviewDir, port, analysisPath);
+ console.log(`Serving ${webviewDir} on http://127.0.0.1:${port} (analysis at /sample-analysis.json)`);
+
+ const browser = await chromium.launch({ args: ['--no-sandbox'] });
+ try {
+ const context = await browser.newContext({
+ viewport: { width, height },
+ deviceScaleFactor: 2,
+ });
+ const page = await context.newPage();
+
+ page.on('console', (msg) => console.log(`[browser ${msg.type()}]`, msg.text()));
+ page.on('pageerror', (err) => console.log('[browser pageerror]', err.message));
+
+ // No init script — let the index.html inline stub define the vscode API
+ // AND set __BROWSER_DEV__=true. The browser-dev-mock will then fetch
+ // /sample-analysis.json (which we serve as our real analysis) and post
+ // it as 'analysis-loaded' through the normal dev-mode path.
+ await page.goto(`http://127.0.0.1:${port}/index.html`, { waitUntil: 'domcontentloaded' });
+ await page.waitForSelector('#root', { timeout: 10_000 });
+
+ // 2. Wait for React Flow nodes — short timeout, then capture DOM
+ // state for debugging instead of dying silently.
+ let nodesAppeared = false;
+ try {
+ await page.waitForSelector('.react-flow__node', { timeout: 15_000 });
+ nodesAppeared = true;
+ console.log('React Flow nodes appeared.');
+ } catch {
+ console.log('::warning::No .react-flow__node within 15s — dumping DOM for diagnosis.');
+ const dom = await page.evaluate(() => {
+ const root = document.getElementById('root');
+ return {
+ rootHTMLLen: root ? root.innerHTML.length : 0,
+ rootHTMLHead: root ? root.innerHTML.slice(0, 3000) : '(no #root)',
+ hasReactFlow: !!document.querySelector('.react-flow'),
+ knownSelectors: {
+ welcome: !!document.querySelector('[data-testid^="welcome"], .welcome-card, [class*="Welcome"]'),
+ demoBanner: !!document.querySelector('[class*="demo"]'),
+ outdated: !!document.querySelector('[class*="outdated"]'),
+ },
+ };
+ });
+ console.log('DOM diagnosis:', JSON.stringify(dom, null, 2));
+ }
+
+ if (nodesAppeared) {
+ // 3. Inject the diff result — this applies the diff_status classes
+ await page.evaluate((diffResult) => {
+ window.postMessage({ type: 'commit-diff-result', diffResult }, '*');
+ }, diff);
+ try {
+ await page.waitForFunction(() => {
+ const sels = ['.commit-diff-added', '.commit-diff-deleted', '.commit-diff-modified', '.commit-diff-unchanged'];
+ return sels.some((s) => document.querySelector(s) !== null);
+ }, null, { timeout: 10_000 });
+ } catch {
+ console.log('No diff classes appeared — proceeding with screenshot anyway (diff may be empty).');
+ }
+
+ // Hide UI chrome that obscures the graph in a static screenshot:
+ // welcome overlay, demo banner, help/tour overlay, side controls.
+ await page.addStyleTag({
+ content: `
+ [data-testid="welcome-overlay"],
+ .welcome-overlay__backdrop,
+ [data-testid="demo-banner"],
+ .demo-banner,
+ .analysis-controls,
+ .view-controls,
+ .help-tour-button,
+ .help-h-indicator,
+ .help-instructions,
+ [data-tour-target],
+ .commit-picker,
+ .commit-timeline,
+ .branch-state-banner,
+ .outdated-banner { display: none !important; }
+ .react-flow { background: transparent !important; }
+ `,
+ });
+
+ // Re-fit so the graph fills the viewport for the screenshot.
+ // React Flow exposes its store on .react-flow via a known internal,
+ // but the simplest approach is to dispatch a custom event the app
+ // already wires up, or just click any present fit button. Fallback:
+ // do nothing and trust the auto-layout.
+ await page.evaluate(() => {
+ const btn = document.querySelector('[aria-label*="fit" i], [title*="fit" i]');
+ if (btn) btn.click();
+ });
+
+ await page.waitForTimeout(1500);
+ }
+
+ if (nodesAppeared) {
+ // Crop the screenshot to the union of node bounding rects + padding,
+ // so the PNG is just the diagram (no empty canvas, no chrome).
+ // Playwright clip is in CSS px and respects deviceScaleFactor.
+ const pad = 80;
+ const rect = await page.evaluate((pad) => {
+ const nodes = document.querySelectorAll('.react-flow__node');
+ if (nodes.length === 0) return null;
+ let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
+ for (const n of nodes) {
+ const r = n.getBoundingClientRect();
+ if (r.left < minX) minX = r.left;
+ if (r.top < minY) minY = r.top;
+ if (r.right > maxX) maxX = r.right;
+ if (r.bottom > maxY) maxY = r.bottom;
+ }
+ const vw = window.innerWidth, vh = window.innerHeight;
+ const x = Math.max(0, Math.floor(minX - pad));
+ const y = Math.max(0, Math.floor(minY - pad));
+ const width = Math.min(vw - x, Math.ceil(maxX - minX + pad * 2));
+ const height = Math.min(vh - y, Math.ceil(maxY - minY + pad * 2));
+ return { x, y, width, height };
+ }, pad);
+
+ if (rect && rect.width > 0 && rect.height > 0) {
+ console.log(`Cropping to node bounds + ${pad}px pad: ${rect.width}x${rect.height} at (${rect.x},${rect.y})`);
+ await page.screenshot({ path: outPath, clip: rect, omitBackground: false });
+ } else {
+ console.log('Could not compute node bounds; falling back to full .react-flow screenshot.');
+ const target = (await page.$('.react-flow')) || (await page.$('body'));
+ await target.screenshot({ path: outPath, omitBackground: false });
+ }
+ } else {
+ // No nodes — capture whatever state the page ended up in for debug.
+ const target = (await page.$('#root')) || (await page.$('body'));
+ await target.screenshot({ path: outPath, omitBackground: false });
+ }
+ console.log(`Wrote ${outPath} (nodes_appeared=${nodesAppeared})`);
+ if (!nodesAppeared) process.exit(4);
+ } finally {
+ await browser.close();
+ server.close();
+ }
+}
+
+main().catch((e) => {
+ console.error('Render failed:', e);
+ process.exit(1);
+});
diff --git a/webview-dist/assets/browser-dev-mock-VRiwEVHI.js b/webview-dist/assets/browser-dev-mock-VRiwEVHI.js
new file mode 100644
index 0000000..d2a4f10
--- /dev/null
+++ b/webview-dist/assets/browser-dev-mock-VRiwEVHI.js
@@ -0,0 +1 @@
+setTimeout(async()=>{let n;try{n=await(await fetch("/sample-analysis.json")).json()}catch{console.warn("[mock] Could not load /sample-analysis.json, using minimal fallback"),n={description:"Sample analysis (no data found)",components:[{name:"Component A",description:"Sample component",component_id:"a",can_expand:!1,key_entities:[]},{name:"Component B",description:"Another component",component_id:"b",can_expand:!1,key_entities:[]}],components_relations:[{relation:"uses",src_name:"Component A",dst_name:"Component B",src_id:"a",dst_id:"b"}]}}window.postMessage({type:"analysis-loaded",data:n,isDemoAnalysis:!0,isOutdatedAnalysis:!1},"*")},300);
diff --git a/webview-dist/assets/elk-vendor-BT1TF5-7.js b/webview-dist/assets/elk-vendor-BT1TF5-7.js
new file mode 100644
index 0000000..e12baab
--- /dev/null
+++ b/webview-dist/assets/elk-vendor-BT1TF5-7.js
@@ -0,0 +1,24 @@
+import{b as iOe,c as Lue}from"./react-vendor-CjZsb-BP.js";var xq={exports:{}};function Bq(Xw){throw new Error('Could not dynamically require "'+Xw+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Yan={exports:{}},Due;function rOe(){return Due||(Due=1,(function(Xw,KP){(function(E){Xw.exports=E()})(function(){return(function(){function E(zf,v1,Jo){function Pd(Go,Sp){if(!v1[Go]){if(!zf[Go]){var tb=typeof Bq=="function"&&Bq;if(!Sp&&tb)return tb(Go,!0);if(Od)return Od(Go,!0);var Ht=new Error("Cannot find module '"+Go+"'");throw Ht.code="MODULE_NOT_FOUND",Ht}var jn=v1[Go]={exports:{}};zf[Go][0].call(jn.exports,function(xi){var rr=zf[Go][1][xi];return Pd(rr||xi)},jn,jn.exports,E,zf,v1,Jo)}return v1[Go].exports}for(var Od=typeof Bq=="function"&&Bq,eb=0;eb0&&arguments[0]!==void 0?arguments[0]:{},rr=xi.defaultLayoutOptions,Uf=rr===void 0?{}:rr,Il=xi.algorithms,ib=Il===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:Il,m1=xi.workerFactory,Kh=xi.workerUrl;if(Pd(this,Ht),this.defaultLayoutOptions=Uf,this.initialized=!1,typeof Kh>"u"&&typeof m1>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var A5=m1;typeof Kh<"u"&&typeof m1>"u"&&(A5=function(rb){return new Worker(rb)});var _j=A5(Kh);if(typeof _j.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new tb(_j),this.worker.postMessage({cmd:"register",algorithms:ib}).then(function(XP){return jn.initialized=!0}).catch(console.err)}return eb(Ht,[{key:"layout",value:function(xi){var rr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Uf=rr.layoutOptions,Il=Uf===void 0?this.defaultLayoutOptions:Uf,ib=rr.logging,m1=ib===void 0?!1:ib,Kh=rr.measureExecutionTime,A5=Kh===void 0?!1:Kh;return xi?this.worker.postMessage({cmd:"layout",graph:xi,layoutOptions:Il,options:{logging:m1,measureExecutionTime:A5}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker&&this.worker.terminate()}}])})();var tb=(function(){function Ht(jn){var xi=this;if(Pd(this,Ht),jn===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=jn,this.worker.onmessage=function(rr){setTimeout(function(){xi.receive(xi,rr)},0)}}return eb(Ht,[{key:"postMessage",value:function(xi){var rr=this.id||0;this.id=rr+1,xi.id=rr;var Uf=this;return new Promise(function(Il,ib){Uf.resolvers[rr]=function(m1,Kh){m1?(Uf.convertGwtStyleError(m1),ib(m1)):Il(Kh)},Uf.worker.postMessage(xi)})}},{key:"receive",value:function(xi,rr){var Uf=rr.data,Il=xi.resolvers[Uf.id];Il&&(delete xi.resolvers[Uf.id],Uf.error?Il(Uf.error):Il(null,Uf.data))}},{key:"terminate",value:function(){this.worker&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(xi){if(xi){var rr=xi.__java$exception;rr&&(rr.cause&&rr.cause.backingJsObject&&(xi.cause=rr.cause.backingJsObject,this.convertGwtStyleError(xi.cause)),delete xi.__java$exception)}}}])})()},{}],2:[function(E,zf,v1){var Jo=E("./elk-api.js").default;Object.defineProperty(zf.exports,"__esModule",{value:!0}),zf.exports=Jo,Jo.default=Jo},{"./elk-api.js":1}]},{},[2])(2)})})(Yan)),Yan.exports}const cOe=typeof Worker<"u"?Worker:void 0,uOe=Object.freeze(Object.defineProperty({__proto__:null,default:cOe},Symbol.toStringTag,{value:"Module"})),sOe=iOe(uOe);var Rq={exports:{}},$ue;function fOe(){return $ue||($ue=1,(function(Xw,KP){var E;typeof window<"u"?E=window:typeof Lue<"u"?E=Lue:typeof self<"u"&&(E=self);var zf;function v1(){}function Jo(){}function Pd(){}function Od(){}function eb(){}function Go(){}function Sp(){}function tb(){}function Ht(){}function jn(){}function xi(){}function rr(){}function Uf(){}function Il(){}function ib(){}function m1(){}function Kh(){}function A5(){}function _j(){}function XP(){}function rb(){}function ndn(){}function R(){}function Jj(){}function edn(){}function tdn(){}function idn(){}function rdn(){}function cdn(){}function _q(){}function udn(){}function sdn(){}function fdn(){}function WP(){}function odn(){}function hdn(){}function ldn(){}function VP(){}function adn(){}function ddn(){}function bdn(){}function wdn(){}function QP(){}function gdn(){}function Jq(){}function pdn(){}function vdn(){}function Hu(){}function zu(){}function mdn(){}function Uu(){}function kdn(){}function ydn(){}function jdn(){}function Edn(){}function Adn(){}function Tdn(){}function Mdn(){}function Idn(){}function Sdn(){}function Cdn(){}function Pdn(){}function Odn(){}function Ldn(){}function Ddn(){}function $dn(){}function Ndn(){}function Fdn(){}function xdn(){}function Bdn(){}function Rdn(){}function _dn(){}function Jdn(){}function Gdn(){}function qdn(){}function Hdn(){}function zdn(){}function Udn(){}function Kdn(){}function Gj(){}function Gq(){}function Xdn(){}function ZP(){}function Wdn(){}function Vdn(){}function Qdn(){}function qq(){}function Zdn(){}function Ydn(){}function n0n(){}function e0n(){}function t0n(){}function i0n(){}function r0n(){}function c0n(){}function u0n(){}function s0n(){}function f0n(){}function o0n(){}function h0n(){}function l0n(){}function YP(){}function a0n(){}function d0n(){}function b0n(){}function w0n(){}function g0n(){}function p0n(){}function Hq(){}function zq(){}function v0n(){}function m0n(){}function k0n(){}function y0n(){}function j0n(){}function E0n(){}function A0n(){}function T0n(){}function M0n(){}function I0n(){}function S0n(){}function C0n(){}function P0n(){}function O0n(){}function L0n(){}function D0n(){}function $0n(){}function N0n(){}function F0n(){}function x0n(){}function B0n(){}function R0n(){}function _0n(){}function J0n(){}function G0n(){}function q0n(){}function H0n(){}function z0n(){}function U0n(){}function K0n(){}function X0n(){}function W0n(){}function V0n(){}function Q0n(){}function Z0n(){}function Y0n(){}function nbn(){}function ebn(){}function tbn(){}function ibn(){}function rbn(){}function cbn(){}function ubn(){}function sbn(){}function fbn(){}function obn(){}function hbn(){}function lbn(){}function abn(){}function dbn(){}function bbn(){}function wbn(){}function gbn(){}function pbn(){}function vbn(){}function mbn(){}function kbn(){}function ybn(){}function jbn(){}function Ebn(){}function Abn(){}function Tbn(){}function Mbn(){}function Ibn(){}function Sbn(){}function Cbn(){}function Pbn(){}function Obn(){}function Lbn(){}function Dbn(){}function $bn(){}function Nbn(){}function Fbn(){}function xbn(){}function Bbn(){}function Rbn(){}function _bn(){}function Jbn(){}function Gbn(){}function qbn(){}function Hbn(){}function zbn(){}function Ubn(){}function Kbn(){}function Xbn(){}function Wbn(){}function Vbn(){}function Qbn(){}function Zbn(){}function Ybn(){}function nwn(){}function ewn(){}function twn(){}function iwn(){}function rwn(){}function cwn(){}function uwn(){}function swn(){}function fwn(){}function own(){}function Uq(){}function hwn(){}function lwn(){}function awn(){}function dwn(){}function bwn(){}function wwn(){}function gwn(){}function pwn(){}function vwn(){}function mwn(){}function kwn(){}function ywn(){}function jwn(){}function Ewn(){}function Awn(){}function Twn(){}function Mwn(){}function Iwn(){}function Swn(){}function Cwn(){}function Pwn(){}function Own(){}function Lwn(){}function Dwn(){}function $wn(){}function Nwn(){}function Fwn(){}function xwn(){}function Bwn(){}function Rwn(){}function _wn(){}function Jwn(){}function Gwn(){}function qwn(){}function Hwn(){}function zwn(){}function Uwn(){}function Kwn(){}function Xwn(){}function Wwn(){}function Vwn(){}function Qwn(){}function Zwn(){}function Ywn(){}function ngn(){}function egn(){}function tgn(){}function ign(){}function rgn(){}function cgn(){}function ugn(){}function sgn(){}function fgn(){}function ogn(){}function hgn(){}function lgn(){}function agn(){}function dgn(){}function bgn(){}function wgn(){}function ggn(){}function pgn(){}function vgn(){}function mgn(){}function kgn(){}function ygn(){}function jgn(){}function Egn(){}function Agn(){}function Tgn(){}function Kq(){}function Mgn(){}function Ign(){}function Sgn(){}function Cgn(){}function Pgn(){}function Ogn(){}function Lgn(){}function Dgn(){}function $gn(){}function Ngn(){}function Fgn(){}function xgn(){}function Bgn(){}function Rgn(){}function _gn(){}function qj(){}function Hj(){}function Jgn(){}function Ggn(){}function Xq(){}function qgn(){}function Hgn(){}function zgn(){}function Ugn(){}function Kgn(){}function Wq(){}function Vq(){}function Xgn(){}function Qq(){}function Zq(){}function Wgn(){}function Vgn(){}function Qgn(){}function Zgn(){}function Ygn(){}function n2n(){}function e2n(){}function t2n(){}function i2n(){}function r2n(){}function c2n(){}function Yq(){}function u2n(){}function s2n(){}function f2n(){}function o2n(){}function h2n(){}function l2n(){}function a2n(){}function d2n(){}function b2n(){}function w2n(){}function g2n(){}function p2n(){}function v2n(){}function m2n(){}function k2n(){}function y2n(){}function j2n(){}function E2n(){}function A2n(){}function T2n(){}function M2n(){}function I2n(){}function S2n(){}function C2n(){}function P2n(){}function O2n(){}function L2n(){}function D2n(){}function $2n(){}function N2n(){}function F2n(){}function x2n(){}function B2n(){}function R2n(){}function _2n(){}function J2n(){}function G2n(){}function q2n(){}function H2n(){}function z2n(){}function U2n(){}function K2n(){}function X2n(){}function W2n(){}function V2n(){}function Q2n(){}function Z2n(){}function Y2n(){}function n3n(){}function e3n(){}function t3n(){}function i3n(){}function r3n(){}function c3n(){}function u3n(){}function s3n(){}function f3n(){}function o3n(){}function h3n(){}function l3n(){}function a3n(){}function d3n(){}function b3n(){}function w3n(){}function g3n(){}function p3n(){}function v3n(){}function m3n(){}function k3n(){}function y3n(){}function j3n(){}function E3n(){}function A3n(){}function T3n(){}function M3n(){}function I3n(){}function S3n(){}function C3n(){}function P3n(){}function O3n(){}function L3n(){}function D3n(){}function $3n(){}function N3n(){}function F3n(){}function Fue(){}function x3n(){}function B3n(){}function R3n(){}function _3n(){}function J3n(){}function G3n(){}function q3n(){}function H3n(){}function z3n(){}function U3n(){}function K3n(){}function X3n(){}function W3n(){}function V3n(){}function Q3n(){}function Z3n(){}function Y3n(){}function npn(){}function epn(){}function tpn(){}function ipn(){}function rpn(){}function cpn(){}function upn(){}function spn(){}function fpn(){}function opn(){}function hpn(){}function lpn(){}function apn(){}function nO(){}function eO(){}function dpn(){}function tO(){}function bpn(){}function wpn(){}function gpn(){}function ppn(){}function vpn(){}function mpn(){}function kpn(){}function ypn(){}function jpn(){}function Epn(){}function Apn(){}function nH(){}function Tpn(){}function Mpn(){}function xue(){}function Ipn(){}function Spn(){}function Cpn(){}function Ppn(){}function Opn(){}function Lpn(){}function Dpn(){}function Ld(){}function $pn(){}function D2(){}function eH(){}function Npn(){}function Fpn(){}function xpn(){}function Bpn(){}function Rpn(){}function _pn(){}function Jpn(){}function Gpn(){}function qpn(){}function Hpn(){}function zpn(){}function Upn(){}function Kpn(){}function Xpn(){}function Wpn(){}function Vpn(){}function Qpn(){}function Zpn(){}function Ypn(){}function hn(){}function n4n(){}function e4n(){}function t4n(){}function i4n(){}function r4n(){}function c4n(){}function u4n(){}function s4n(){}function f4n(){}function o4n(){}function h4n(){}function l4n(){}function a4n(){}function d4n(){}function iO(){}function b4n(){}function w4n(){}function g4n(){}function rO(){}function zj(){}function Uj(){}function p4n(){}function tH(){}function v4n(){}function m4n(){}function Kj(){}function k4n(){}function y4n(){}function j4n(){}function Xj(){}function E4n(){}function A4n(){}function T4n(){}function M4n(){}function Wj(){}function I4n(){}function iH(){}function S4n(){}function cO(){}function rH(){}function C4n(){}function P4n(){}function O4n(){}function L4n(){}function Bue(){}function D4n(){}function $4n(){}function N4n(){}function F4n(){}function x4n(){}function B4n(){}function R4n(){}function _4n(){}function J4n(){}function G4n(){}function Cp(){}function uO(){}function q4n(){}function H4n(){}function z4n(){}function U4n(){}function K4n(){}function X4n(){}function W4n(){}function V4n(){}function Q4n(){}function Z4n(){}function Y4n(){}function nvn(){}function evn(){}function tvn(){}function ivn(){}function rvn(){}function cvn(){}function uvn(){}function svn(){}function fvn(){}function ovn(){}function hvn(){}function lvn(){}function avn(){}function dvn(){}function bvn(){}function wvn(){}function gvn(){}function pvn(){}function vvn(){}function mvn(){}function kvn(){}function yvn(){}function jvn(){}function Evn(){}function Avn(){}function Tvn(){}function Mvn(){}function Ivn(){}function Svn(){}function Cvn(){}function Pvn(){}function Ovn(){}function Lvn(){}function Dvn(){}function $vn(){}function Nvn(){}function Fvn(){}function xvn(){}function Bvn(){}function Rvn(){}function _vn(){}function Jvn(){}function Gvn(){}function qvn(){}function Hvn(){}function zvn(){}function Uvn(){}function Kvn(){}function Xvn(){}function Wvn(){}function Vvn(){}function Qvn(){}function Zvn(){}function Yvn(){}function n5n(){}function e5n(){}function t5n(){}function i5n(){}function r5n(){}function c5n(){}function u5n(){}function s5n(){}function f5n(){}function o5n(){}function h5n(){}function l5n(){}function a5n(){}function d5n(){}function b5n(){}function w5n(){}function g5n(){}function p5n(){}function v5n(){}function m5n(){}function k5n(){}function y5n(){}function j5n(){}function E5n(){}function A5n(){}function T5n(){}function M5n(){}function I5n(){}function S5n(){}function C5n(){}function P5n(){}function O5n(){}function L5n(){}function D5n(){}function $5n(){}function N5n(){}function cH(){}function F5n(){}function x5n(){}function sO(){L5()}function B5n(){rY()}function R5n(){G8()}function _5n(){Pf()}function J5n(){bZ()}function G5n(){yk()}function q5n(){J8()}function H5n(){C4()}function z5n(){g7()}function U5n(){ujn()}function K5n(){j3()}function X5n(){COn()}function W5n(){z1()}function V5n(){yCn()}function Q5n(){sLn()}function Z5n(){wV()}function Y5n(){gV()}function nmn(){EE()}function emn(){fen()}function tmn(){rn()}function imn(){jCn()}function rmn(){XDn()}function cmn(){WDn()}function umn(){EPn()}function smn(){VDn()}function fmn(){y3()}function omn(){Kr()}function hmn(){TCn()}function lmn(){QDn()}function amn(){U1()}function dmn(){m$n()}function bmn(){ynn()}function wmn(){ECn()}function gmn(){Qxn()}function pmn(){ACn()}function vmn(){vGn()}function mmn(){NY()}function kmn(){sl()}function ymn(){lFn()}function jmn(){Pnn()}function Emn(){Mo()}function Amn(){Mk()}function Tmn(){GF()}function Mmn(){QN()}function Imn(){jT()}function Smn(){qM()}function uH(){Je()}function Cmn(){tM()}function Pmn(){zQ()}function sH(){hI()}function fH(){Z$()}function Kf(){sMn()}function Omn(){Dnn()}function oH(n){_n(n)}function Lmn(n){this.a=n}function Vj(n){this.a=n}function Dmn(n){this.a=n}function $mn(n){this.a=n}function Nmn(n){this.a=n}function hH(n){this.a=n}function lH(n){this.a=n}function Fmn(n){this.a=n}function fO(n){this.a=n}function xmn(n){this.a=n}function Bmn(n){this.a=n}function Rmn(n){this.a=n}function _mn(n){this.a=n}function Jmn(n){this.c=n}function Gmn(n){this.a=n}function oO(n){this.a=n}function qmn(n){this.a=n}function hO(n){this.a=n}function Hmn(n){this.a=n}function lO(n){this.a=n}function zmn(n){this.a=n}function Umn(n){this.a=n}function Kmn(n){this.a=n}function aH(n){this.b=n}function Xmn(n){this.a=n}function Wmn(n){this.a=n}function Vmn(n){this.a=n}function Qmn(n){this.a=n}function Zmn(n){this.a=n}function Ymn(n){this.a=n}function n6n(n){this.a=n}function e6n(n){this.a=n}function t6n(n){this.a=n}function i6n(n){this.a=n}function r6n(n){this.a=n}function c6n(n){this.a=n}function dH(n){this.a=n}function bH(n){this.a=n}function Qj(n){this.a=n}function I8(n){this.a=n}function Ea(){this.a=[]}function u6n(n,e){n.a=e}function Rue(n,e){n.a=e}function _ue(n,e){n.b=e}function Jue(n,e){n.c=e}function Gue(n,e){n.c=e}function que(n,e){n.d=e}function Hue(n,e){n.d=e}function wH(n,e){n.j=e}function Xh(n,e){n.k=e}function zue(n,e){n.c=e}function gH(n,e){n.c=e}function pH(n,e){n.a=e}function Uue(n,e){n.a=e}function Kue(n,e){n.f=e}function Xue(n,e){n.a=e}function Wue(n,e){n.b=e}function aO(n,e){n.d=e}function Zj(n,e){n.i=e}function vH(n,e){n.o=e}function Vue(n,e){n.r=e}function Que(n,e){n.a=e}function Zue(n,e){n.b=e}function s6n(n,e){n.e=e}function Yue(n,e){n.f=e}function mH(n,e){n.g=e}function nse(n,e){n.e=e}function ese(n,e){n.f=e}function tse(n,e){n.f=e}function dO(n,e){n.a=e}function bO(n,e){n.b=e}function ise(n,e){n.n=e}function rse(n,e){n.a=e}function cse(n,e){n.a=e}function use(n,e){n.a=e}function sse(n,e){n.c=e}function fse(n,e){n.c=e}function ose(n,e){n.c=e}function hse(n,e){n.d=e}function lse(n,e){n.d=e}function ase(n,e){n.e=e}function dse(n,e){n.e=e}function bse(n,e){n.g=e}function wse(n,e){n.f=e}function gse(n,e){n.j=e}function pse(n,e){n.a=e}function vse(n,e){n.a=e}function mse(n,e){n.b=e}function f6n(n){n.b=n.a}function o6n(n){n.c=n.d.d}function h6n(n){this.a=n}function S8(n){this.a=n}function kH(n){this.a=n}function Yj(n){this.a=n}function cb(n){this.a=n}function k1(n){this.a=n}function yH(n){this.a=n}function jH(n){this.a=n}function C8(n){this.a=n}function EH(n){this.a=n}function Wh(n){this.a=n}function T5(n){this.d=n}function ub(n){this.a=n}function l6n(n){this.a=n}function a6n(n){this.a=n}function AH(n){this.a=n}function d6n(n){this.a=n}function wO(n){this.a=n}function Pp(n){this.b=n}function Op(n){this.b=n}function gO(n){this.b=n}function A(n){this.c=n}function pO(n){this.c=n}function TH(n){this.a=n}function Fe(n){this.a=n}function b6n(n){this.a=n}function MH(n){this.a=n}function IH(n){this.a=n}function SH(n){this.a=n}function CH(n){this.a=n}function PH(n){this.a=n}function w6n(n){this.c=n}function Lp(n){this.a=n}function g6n(n){this.a=n}function p6n(n){this.a=n}function Dp(n){this.a=n}function v6n(n){this.a=n}function m6n(n){this.a=n}function k6n(n){this.a=n}function y6n(n){this.a=n}function j6n(n){this.a=n}function E6n(n){this.a=n}function A6n(n){this.a=n}function T6n(n){this.a=n}function M6n(n){this.a=n}function M5(n){this.a=n}function I6n(n){this.a=n}function S6n(n){this.a=n}function C6n(n){this.a=n}function P6n(n){this.a=n}function nE(n){this.a=n}function O6n(n){this.a=n}function L6n(n){this.a=n}function OH(n){this.a=n}function D6n(n){this.a=n}function $6n(n){this.a=n}function N6n(n){this.a=n}function LH(n){this.a=n}function DH(n){this.a=n}function $H(n){this.a=n}function I5(n){this.a=n}function eE(n){this.e=n}function $p(n){this.a=n}function F6n(n){this.a=n}function $2(n){this.a=n}function NH(n){this.a=n}function x6n(n){this.a=n}function B6n(n){this.a=n}function R6n(n){this.a=n}function _6n(n){this.a=n}function J6n(n){this.a=n}function G6n(n){this.a=n}function q6n(n){this.a=n}function H6n(n){this.a=n}function z6n(n){this.a=n}function U6n(n){this.a=n}function K6n(n){this.a=n}function FH(n){this.a=n}function X6n(n){this.a=n}function W6n(n){this.a=n}function V6n(n){this.a=n}function Q6n(n){this.a=n}function Z6n(n){this.a=n}function Y6n(n){this.a=n}function n9n(n){this.a=n}function e9n(n){this.a=n}function t9n(n){this.a=n}function i9n(n){this.a=n}function r9n(n){this.a=n}function c9n(n){this.a=n}function u9n(n){this.a=n}function s9n(n){this.a=n}function f9n(n){this.a=n}function o9n(n){this.a=n}function h9n(n){this.a=n}function l9n(n){this.a=n}function a9n(n){this.a=n}function d9n(n){this.a=n}function b9n(n){this.a=n}function w9n(n){this.a=n}function g9n(n){this.a=n}function p9n(n){this.a=n}function v9n(n){this.a=n}function m9n(n){this.a=n}function k9n(n){this.a=n}function y9n(n){this.a=n}function j9n(n){this.a=n}function E9n(n){this.a=n}function A9n(n){this.a=n}function T9n(n){this.a=n}function M9n(n){this.a=n}function I9n(n){this.a=n}function S9n(n){this.a=n}function C9n(n){this.a=n}function P9n(n){this.a=n}function O9n(n){this.a=n}function L9n(n){this.a=n}function D9n(n){this.a=n}function $9n(n){this.c=n}function N9n(n){this.b=n}function F9n(n){this.a=n}function x9n(n){this.a=n}function B9n(n){this.a=n}function R9n(n){this.a=n}function _9n(n){this.a=n}function J9n(n){this.a=n}function G9n(n){this.a=n}function q9n(n){this.a=n}function H9n(n){this.a=n}function z9n(n){this.a=n}function U9n(n){this.a=n}function K9n(n){this.a=n}function X9n(n){this.a=n}function W9n(n){this.a=n}function V9n(n){this.a=n}function Q9n(n){this.a=n}function Z9n(n){this.a=n}function Y9n(n){this.a=n}function n8n(n){this.a=n}function e8n(n){this.a=n}function t8n(n){this.a=n}function i8n(n){this.a=n}function r8n(n){this.a=n}function c8n(n){this.a=n}function u8n(n){this.a=n}function s8n(n){this.a=n}function f8n(n){this.a=n}function Vh(n){this.a=n}function Ww(n){this.a=n}function o8n(n){this.a=n}function h8n(n){this.a=n}function l8n(n){this.a=n}function a8n(n){this.a=n}function d8n(n){this.a=n}function b8n(n){this.a=n}function w8n(n){this.a=n}function g8n(n){this.a=n}function p8n(n){this.a=n}function v8n(n){this.a=n}function m8n(n){this.a=n}function k8n(n){this.a=n}function y8n(n){this.a=n}function j8n(n){this.a=n}function E8n(n){this.a=n}function A8n(n){this.a=n}function T8n(n){this.a=n}function M8n(n){this.a=n}function I8n(n){this.a=n}function S8n(n){this.a=n}function C8n(n){this.a=n}function P8n(n){this.a=n}function O8n(n){this.a=n}function L8n(n){this.a=n}function D8n(n){this.a=n}function $8n(n){this.a=n}function tE(n){this.a=n}function N8n(n){this.f=n}function F8n(n){this.a=n}function x8n(n){this.a=n}function B8n(n){this.a=n}function R8n(n){this.a=n}function _8n(n){this.a=n}function J8n(n){this.a=n}function G8n(n){this.a=n}function q8n(n){this.a=n}function H8n(n){this.a=n}function z8n(n){this.a=n}function U8n(n){this.a=n}function K8n(n){this.a=n}function X8n(n){this.a=n}function W8n(n){this.a=n}function V8n(n){this.a=n}function Q8n(n){this.a=n}function Z8n(n){this.a=n}function Y8n(n){this.a=n}function n7n(n){this.a=n}function e7n(n){this.a=n}function t7n(n){this.a=n}function i7n(n){this.a=n}function r7n(n){this.a=n}function c7n(n){this.a=n}function u7n(n){this.a=n}function s7n(n){this.a=n}function f7n(n){this.a=n}function vO(n){this.a=n}function wt(n){this.b=n}function xH(n){this.a=n}function o7n(n){this.a=n}function h7n(n){this.a=n}function l7n(n){this.a=n}function a7n(n){this.a=n}function d7n(n){this.a=n}function b7n(n){this.a=n}function w7n(n){this.a=n}function g7n(n){this.a=n}function P8(n){this.a=n}function p7n(n){this.a=n}function v7n(n){this.a=n}function iE(n){this.a=n}function rE(n){this.a=n}function m7n(n){this.b=n}function BH(n){this.c=n}function cE(n){this.e=n}function k7n(n){this.d=n}function mO(n){this.a=n}function y7n(n){this.a=n}function RH(n){this.a=n}function _H(n){this.a=n}function Dd(n){this.e=n}function kse(){this.a=0}function Y(){NL(this)}function ae(){hc(this)}function kO(){rSn(this)}function j7n(){}function $d(){this.c=jan}function E7n(n,e){n.b+=e}function yse(n,e){e.Wb(n)}function jse(n){return n.a}function Ese(n){return n.a}function Ase(n){return n.a}function Tse(n){return n.a}function Mse(n){return n.a}function T(n){return n.e}function Ise(){return null}function Sse(){return null}function Cse(){Tz(),RCe()}function Pse(n){n.b.Mf(n.e)}function A7n(n){n.b=new BO}function S5(n,e){n.b=e-n.b}function C5(n,e){n.a=e-n.a}function Ose(n,e){ii(e,n)}function T7n(n,e){e.gd(n.a)}function Qn(n,e){n.push(e)}function M7n(n,e){n.sort(e)}function Lse(n,e,t){n.Wd(t,e)}function O8(n,e){n.e=e,e.b=n}function JH(n){Ko(),this.a=n}function I7n(n){Ko(),this.a=n}function S7n(n){Ko(),this.a=n}function yO(n){Wd(),this.a=n}function C7n(n){h4(),YR.je(n)}function Aa(){KAn.call(this)}function jO(){Aa.call(this)}function GH(){Aa.call(this)}function qH(){KAn.call(this)}function P7n(){Aa.call(this)}function L8(){Aa.call(this)}function uu(){Aa.call(this)}function N2(){Aa.call(this)}function Ee(){Aa.call(this)}function As(){Aa.call(this)}function O7n(){Aa.call(this)}function Nr(){Aa.call(this)}function L7n(){Aa.call(this)}function D7n(){this.a=this}function uE(){this.Bb|=256}function $7n(){this.b=new _En}function HH(){HH=R,new ae}function N7n(){GH.call(this)}function sE(n,e){Z(n.a,e)}function Dse(n,e){uY(n.c,e)}function $se(n,e){li(n.b,e)}function Nse(n,e){CM(n.a,e)}function Fse(n,e){AN(n.a,e)}function Np(n,e){et(n.e,e)}function F2(n){KM(n.c,n.b)}function xse(n,e){n.kc().Nb(e)}function sb(n,e){n.length=e}function ui(){this.a=new ae}function F7n(){this.a=new ae}function zH(){this.a=new njn}function fE(){this.a=new Y}function EO(){this.a=new Y}function UH(){this.a=new Y}function Ks(){this.a=new Cdn}function Ta(){this.a=new jOn}function KH(){this.a=new wCn}function XH(){this.a=new FTn}function WH(){this.a=new Gq}function x7n(){this.a=new _Cn}function B7n(){this.a=new Y}function R7n(){this.a=new Y}function _7n(){this.a=new Y}function VH(){this.a=new Y}function J7n(){this.d=new Y}function G7n(){this.a=new ui}function q7n(){this.a=new ae}function H7n(){this.b=new ae}function z7n(){this.b=new Y}function QH(){this.e=new Y}function U7n(){this.a=new W5n}function K7n(){this.d=new Y}function ZH(n){this.a=Qve(n)}function x2(){j7n.call(this)}function P5(){j7n.call(this)}function AO(){P5.call(this)}function YH(){x2.call(this)}function nz(){fE.call(this)}function X7n(){aA.call(this)}function W7n(){VH.call(this)}function V7n(){Y.call(this)}function Q7n(){HSn.call(this)}function Z7n(){HSn.call(this)}function Y7n(){rz.call(this)}function nkn(){rz.call(this)}function ekn(){rz.call(this)}function tkn(){cz.call(this)}function Ou(){pt.call(this)}function O5(){g4n.call(this)}function ez(){g4n.call(this)}function ikn(){vkn.call(this)}function rkn(){vkn.call(this)}function ckn(){ae.call(this)}function ukn(){ae.call(this)}function skn(){ae.call(this)}function TO(){zDn.call(this)}function fkn(){ui.call(this)}function okn(){uE.call(this)}function MO(){DU.call(this)}function tz(){ae.call(this)}function IO(){DU.call(this)}function SO(){ae.call(this)}function hkn(){ae.call(this)}function iz(){Wj.call(this)}function lkn(){iz.call(this)}function akn(){Wj.call(this)}function dkn(){cH.call(this)}function rz(){this.a=new ui}function bkn(){this.a=new ae}function cz(){this.a=new ae}function wkn(){this.a=new Y}function gkn(){this.j=new Y}function uz(){this.a=new cpn}function pkn(){this.a=new wyn}function B2(){this.a=new pt}function vkn(){this.a=new E4n}function L5(){L5=R,zR=new Jo}function CO(){CO=R,UR=new kkn}function PO(){PO=R,KR=new mkn}function mkn(){oO.call(this,"")}function kkn(){oO.call(this,"")}function ykn(n){gDn.call(this,n)}function jkn(n){gDn.call(this,n)}function sz(n){hH.call(this,n)}function fz(n){Iyn.call(this,n)}function Bse(n){Iyn.call(this,n)}function Rse(n){fz.call(this,n)}function _se(n){fz.call(this,n)}function Jse(n){fz.call(this,n)}function Ekn(n){b$.call(this,n)}function Akn(n){b$.call(this,n)}function Tkn(n){cMn.call(this,n)}function Mkn(n){Oz.call(this,n)}function D5(n){mE.call(this,n)}function oz(n){mE.call(this,n)}function Ikn(n){mE.call(this,n)}function hz(n){b7e.call(this,n)}function lz(n){hz.call(this,n)}function Fr(n){jIn.call(this,n)}function Skn(n){Fr.call(this,n)}function R2(){I8.call(this,{})}function OO(n){Kp(),this.a=n}function Ckn(n){n.b=null,n.c=0}function Gse(n,e){n.e=e,mJn(n,e)}function qse(n,e){n.a=e,eke(n)}function LO(n,e,t){n.a[e.g]=t}function Hse(n,e,t){k9e(t,n,e)}function zse(n,e){Tle(e.i,n.n)}function Pkn(n,e){N4e(n).Ad(e)}function Use(n,e){return n*n/e}function Okn(n,e){return n.g-e.g}function Kse(n,e){n.a.ec().Kc(e)}function Xse(n){return new Qj(n)}function Wse(n){return new Cb(n)}function Lkn(){Lkn=R,Qrn=new v1}function az(){az=R,Zrn=new _j}function oE(){oE=R,u9=new Uf}function hE(){hE=R,VR=new LAn}function Dkn(){Dkn=R,pWn=new ib}function DO(n){LV(),this.a=n}function $kn(n){uMn(),this.a=n}function Nd(n){bD(),this.f=n}function $O(n){bD(),this.f=n}function lE(n){Fr.call(this,n)}function Pc(n){Fr.call(this,n)}function Nkn(n){Fr.call(this,n)}function NO(n){jIn.call(this,n)}function Fp(n){Fr.call(this,n)}function Hn(n){Fr.call(this,n)}function pr(n){Fr.call(this,n)}function Fkn(n){Fr.call(this,n)}function _2(n){Fr.call(this,n)}function Sl(n){Fr.call(this,n)}function vc(n){_n(n),this.a=n}function $5(n){gX(n,n.length)}function dz(n){return za(n),n}function fn(n){return _n(n),n}function N(n){return _n(n),n}function D8(n){return _n(n),n}function bz(n){return _n(n),n}function Vse(n){return _n(n),n}function N5(n){return n.b==n.c}function fb(n){return!!n&&n.b}function Qse(n){return!!n&&n.k}function Zse(n){return!!n&&n.j}function Cl(n){Fr.call(this,n)}function J2(n){Fr.call(this,n)}function qo(n){Fr.call(this,n)}function Oe(n){Fr.call(this,n)}function FO(n){Fr.call(this,n)}function xO(n){KU.call(this,n,0)}function BO(){eW.call(this,12,3)}function RO(){this.a=Me(ye(xc))}function G2(n){Ko(),this.a=ye(n)}function xkn(n,e){n._d(e),e.$d(n)}function Yse(n,e,t){n.c.Cf(e,t)}function M(n,e){return bCn(n,e)}function nfe(n,e){return n.a-e.a}function efe(n,e){return n.a-e.a}function tfe(n,e){return e in n.a}function ife(n,e){return n.a-e.a}function Ho(n){Hn.call(this,n)}function wz(n){Pc.call(this,n)}function Pl(){S8.call(this,"")}function F5(){S8.call(this,"")}function y1(){S8.call(this,"")}function q2(){S8.call(this,"")}function gz(n){Pc.call(this,n)}function xp(n){Pp.call(this,n)}function _O(n){sA.call(this,n)}function Bkn(n){xp.call(this,n)}function Rkn(){Rkn=R,PWn=U9e()}function aE(){aE=R,h4()}function _kn(){throw T(new Ee)}function pz(){throw T(new Ee)}function Jkn(){throw T(new Ee)}function rfe(){throw T(new Ee)}function cfe(){throw T(new Ee)}function ufe(){throw T(new Ee)}function dE(n,e){return S$(n,e)}function Gkn(n){return n.a?n.b:0}function sfe(n){return n.a?n.b:0}function ffe(n,e){return n.g=e,n}function ofe(n,e){return n.b=e,n}function qkn(n,e){return n.c=e,n}function Hkn(n,e){return n.f=e,n}function vz(n,e){return n.f=e,n}function mz(n,e){return n.a=e,n}function hfe(n,e){return n.k=e,n}function kz(n,e){return n.e=e,n}function lfe(n,e){return n.e=e,n}function yz(n,e){return n.a=e,n}function afe(n,e){return n.f=e,n}function dfe(n,e){n.b=new Hi(e)}function bfe(n,e,t){e.Ne(n.a[t])}function wfe(n,e,t){e.Ad(n.a[t])}function gfe(n,e){rs(),e.n.a+=n}function pfe(n,e){z1(),Rr(e,n)}function vfe(n,e){return n.b-e.b}function mfe(n,e){return n.g-e.g}function kfe(n,e){return n.s-e.s}function yfe(n,e){return n?0:e-1}function zkn(n,e){return n?0:e-1}function jfe(n,e){return n?e-1:0}function Efe(n,e){return e.pg(n)}function ob(n,e){return n.b=e,n}function bE(n,e){return n.a=e,n}function x5(n,e){return n.a=e,n}function hb(n,e){return n.c=e,n}function Bp(n,e){return n.c=e,n}function lb(n,e){return n.d=e,n}function ab(n,e){return n.e=e,n}function jz(n,e){return n.f=e,n}function Rp(n,e){return n.b=e,n}function Mn(n,e){return n.b=e,n}function an(n,e){return n.c=e,n}function dn(n,e){return n.d=e,n}function bn(n,e){return n.e=e,n}function Afe(n,e){return n.f=e,n}function wn(n,e){return n.g=e,n}function gn(n,e){return n.a=e,n}function pn(n,e){return n.i=e,n}function vn(n,e){return n.j=e,n}function Tfe(n,e){return n.j=e,n}function Ukn(n,e){return n.k=e,n}function Kkn(n){ASn.call(this,n)}function Ez(n){ASn.call(this,n)}function wE(n){nD.call(this,n)}function j1(n){t0.call(this,n)}function Xkn(n){HD.call(this,n)}function Wkn(n){HD.call(this,n)}function Vkn(){TU.call(this,"")}function Ti(){this.a=0,this.b=0}function Qkn(){this.b=0,this.a=0}function Zkn(n,e){n.b=0,Rb(n,e)}function Mfe(n,e){n.c=e,n.b=!0}function Ife(n,e,t){Pde(n.a,e,t)}function Ykn(n,e){return n.c._b(e)}function Xf(n){return n.e&&n.e()}function JO(n){return n?n.d:null}function nyn(n,e){return eFn(n.b,e)}function Sfe(n){return n?n.g:null}function Cfe(n){return n?n.i:null}function Ma(n){return Zh(n),n.o}function eyn(){throw T(new Ee)}function tyn(){tyn=R,tue=u9e()}function Az(){Az=R,cc=Z7e()}function Tz(){Tz=R,Td=Bm()}function E1(){E1=R,vce=r9e()}function iyn(){iyn=R,wi=b8e()}function _p(){_p=R,yan=c9e()}function ryn(){throw T(new Ee)}function cyn(){throw T(new Ee)}function uyn(){throw T(new Ee)}function syn(){throw T(new Ee)}function fyn(){throw T(new Ee)}function gE(n){this.a=new H2(n)}function Mz(n){Kqn(),QCe(this,n)}function Ol(n){this.a=new jD(n)}function Vw(n,e){for(;n.Pe(e););}function Iz(n,e){for(;n.zd(e););}function Qw(n,e){return n.a+=e,n}function GO(n,e){return n.a+=e,n}function Ll(n,e){return n.a+=e,n}function Fd(n,e){return n.a+=e,n}function Jp(n){return O1(n),n.a}function $8(n){return n.b!=n.d.c}function oyn(n){return n.l|n.m<<22}function Sz(n,e){return n.d[e.p]}function hyn(n,e){return MEe(n,e)}function Cz(n,e,t){n.splice(e,t)}function lyn(n){n.c?NJn(n):FJn(n)}function pE(n){this.a=0,this.b=n}function ayn(){this.a=new g6(ohn)}function dyn(){this.a=new g6(Dhn)}function byn(){this.b=new g6(RG)}function wyn(){this.b=new g6(RG)}function gyn(){this.b=new g6(Son)}function pyn(){throw T(new Ee)}function vyn(){throw T(new Ee)}function myn(){throw T(new Ee)}function kyn(){throw T(new Ee)}function yyn(){throw T(new Ee)}function jyn(){throw T(new Ee)}function Eyn(){throw T(new Ee)}function Ayn(){throw T(new Ee)}function Tyn(){throw T(new Ee)}function Myn(){throw T(new Ee)}function Pfe(){throw T(new Nr)}function Ofe(){throw T(new Nr)}function N8(n){this.a=new Zyn(n)}function vE(n){this.b=u(ye(n),91)}function Pz(n,e){this.b=n,this.c=e}function Gp(n,e){this.e=n,this.d=e}function Iyn(n){NU(n.dc()),this.c=n}function Syn(n,e){this.a=n,this.b=e}function Cyn(n,e){this.a=n,this.b=e}function Pyn(n,e){this.a=n,this.b=e}function Oyn(n,e){this.a=n,this.b=e}function Lyn(n,e){this.a=n,this.b=e}function Dyn(n,e){this.a=n,this.b=e}function $yn(n,e){this.a=n,this.b=e}function Nyn(n,e){this.b=n,this.a=e}function xd(n,e){this.g=n,this.i=e}function Fyn(n,e){this.b=n,this.a=e}function F8(n,e){hg.call(this,n,e)}function qp(n,e){F8.call(this,n,e)}function xyn(n,e){this.b=n,this.a=e}function Byn(n,e){this.b=n,this.a=e}function Ryn(n,e){this.a=n,this.b=e}function Ae(n,e){this.f=n,this.g=e}function mE(n){this.b=u(ye(n),49)}function qO(n,e){this.a=n,this.b=e}function _yn(n,e){this.a=n,this.f=e}function Jyn(n){this.a=u(ye(n),15)}function Oz(n){this.a=u(ye(n),15)}function Gyn(n,e){this.b=n,this.c=e}function qyn(n){this.a=u(ye(n),91)}function Lfe(n,e){this.a=n,this.b=e}function Hyn(n,e){this.a=n,this.b=e}function zyn(n,e){return Jc(n.b,e)}function Uyn(n,e){return n>e&&e0}function WO(n,e){return jc(n,e)<0}function wjn(n,e){return Jc(n.e,e)}function z5(n,e){return n.a.get(e)}function Zfe(n,e){return e.split(n)}function VO(n){return n.b=0}function im(n,e){return jc(n,e)!=0}function ooe(n){return""+(_n(n),n)}function hoe(n,e){v3e(new ce(n),e)}function loe(n,e,t){pBn(e,IF(n,t))}function aoe(n,e,t){pBn(e,IF(n,t))}function DEn(){YX(),cX.call(this)}function $En(n){return xu(n),n.d.gc()}function ZE(n){return bm(n==null),n}function wU(n){return Dn(n,0),null}function rm(n,e){return n.a+=""+e,n}function dr(n,e){return n.a+=""+e,n}function cm(n,e){return n.a+=""+e,n}function mc(n,e){return n.a+=""+e,n}function xe(n,e){return n.a+=""+e,n}function gU(n,e){return n.a+=""+e,n}function eg(n,e){Pt(n,e,n.a,n.a.a)}function qi(n,e){Pt(n,e,n.c.b,n.c)}function NEn(n,e){aX.call(this,n,e)}function FEn(n,e){aX.call(this,n,e)}function YE(n,e){aX.call(this,n,e)}function xEn(n){hc(this),Gm(this,n)}function BEn(){this.b=0,this.a=!1}function REn(){this.b=0,this.a=!1}function _En(){this.b=new H2(xb(12))}function JEn(n,e){n.q.setTime(Ra(e))}function Tn(n,e){Mt.call(this,n,e)}function CL(n,e){Ab.call(this,n,e)}function tg(n,e){lU.call(this,n,e)}function GEn(n,e){f7.call(this,n,e)}function PL(n,e){M4.call(this,n,e)}function qe(n,e){ME(),Qe(BP,n,e)}function qEn(n,e){return F(n)===F(e)}function doe(n){return ye(n),new um(n)}function HEn(n,e){return n.a.a.a.cc(e)}function boe(n,e){return n.j[e.p]==2}function _d(n,e){return n==e?0:n?1:-1}function nA(n){return n<10?"0"+n:""+n}function zEn(n){return _c(n.l,n.m,n.h)}function Or(n){return typeof n===hen}function OL(n,e){return Vs(n.a,0,e)}function V2(n){return Bi((_n(n),n))}function woe(n){return Bi((_n(n),n))}function goe(n,e){return ot(n.a,e.a)}function pU(n,e){return oc(n.a,e.a)}function poe(n,e){return NIn(n.a,e.a)}function zo(n,e){return n.indexOf(e)}function vU(n,e){g4(n,0,n.length,e)}function UEn(n,e){return n.a=e.g+1,n}function Vf(n){return n.a=0,n.b=0,n}function KEn(n){this.a=Ujn(),this.b=n}function XEn(n){this.a=Ujn(),this.b=n}function um(n){this.a=n,sO.call(this)}function WEn(n){this.a=n,sO.call(this)}function VEn(){VEn=R,ite=Se(O$n())}function QEn(){QEn=R,yVn=Se(JN())}function ZEn(){ZEn=R,CQn=Se(hJn())}function ao(){ao=R,E.Math.log(2)}function mU(){mU=R,HH(),Yrn=new ae}function mh(){MH.call(this,new N1)}function YEn(){SA.call(this,0,0,0,0)}function kU(n){return Yr(n.b.b,n,0)}function nAn(n,e){return oc(n.g,e.g)}function voe(n,e){return oc(n.g,e.g)}function moe(n,e){return ot(e.f,n.f)}function eA(n){return as(new Zt,n)}function eAn(n){return n==a2||n==l2}function koe(n){return n==L0||n==gw}function yoe(n){return n==L0||n==ww}function Qh(n){return n==Ar||n==Pr}function ig(n){return n==Gs||n==No}function rg(n){return n!=xo&&n!=ga}function Ku(n){return n.rh()&&n.sh()}function tAn(n){return BD(u(n,124))}function cg(n,e,t){r0(n,e),i0(n,t)}function Ts(n,e,t){Nu(n,e),Fu(n,t)}function LL(n,e,t){NT(n,e),$T(n,t)}function r7(n,e,t){kg(n,e),yg(n,t)}function c7(n,e,t){mg(n,e),jg(n,t)}function DL(n,e){O4(n,e),m4(n,n.D)}function joe(n,e){return Z(n.a,e),e}function Eoe(n,e){return Z(n.c,e),n}function yU(n,e){return as(n.a,e),n}function Aoe(n,e){return rs(),e.a+=n}function Toe(n,e){return rs(),e.a+=n}function Moe(n,e){return rs(),e.c+=n}function iAn(n,e){return new M4(e,n)}function Ioe(n,e){return new M4(e,n)}function jU(n){return _ae(n.b.Jc(),n.a)}function ug(n){return n!=null?vt(n):0}function Soe(n,e){return n[n.length]=e}function Coe(n,e){return n[n.length]=e}function Poe(n,e){Lo||(n.b=e)}function Hi(n){this.a=n.a,this.b=n.b}function $L(n){TEn.call(this,n,!0)}function Jd(n){SA.call(this,n,n,n,n)}function rAn(){PE.call(this,"Head",1)}function cAn(){PE.call(this,"Tail",3)}function Q2(){jf.call(this,0,0,0,0)}function uAn(n,e,t){rK.call(this,n,e,t)}function I1(n){ih(),Rpe.call(this,n)}function sAn(n){$c(n.Qf(),new P6n(n))}function fAn(){fAn=R,ZJ=new n6(bq)}function NL(n){n.c=_(ri,Fn,1,0,5,1)}function oAn(n,e,t){Bt(n.c[e.g],e.g,t)}function Ooe(n,e,t){u(n.c,71).Di(e,t)}function Loe(n,e,t){Ts(t,t.i+n,t.j+e)}function Mi(n,e){Mt.call(this,n.b,e)}function Doe(n,e){pe(ac(n.a),CCn(e))}function $oe(n,e){pe($u(n.a),PCn(e))}function Noe(n,e){return Bb(e,wo(n))}function Foe(n,e){return Bb(e,wo(n))}function xoe(n,e){return RT(DD(n.f),e)}function Boe(n,e){return RT(DD(n.n),e)}function Roe(n,e){return RT(DD(n.p),e)}function _oe(n){return n==null?0:vt(n)}function sm(n){Ye(),Dd.call(this,n)}function hAn(n){this.a=n,xK.call(this,n)}function FL(n){this.a=n,vE.call(this,n)}function xL(n){this.a=n,vE.call(this,n)}function lAn(n,e){Wd(),this.a=n,this.b=e}function Joe(n,e){ye(e),ag(n).Ic(new eb)}function BL(n,e,t){return Bt(n,e,t),t}function _c(n,e,t){return{l:n,m:e,h:t}}function oc(n,e){return ne?1:0}function EU(n,e){return jc(n,e)>0?n:e}function Br(n){return n.a=n}function hhe(n,e){return OW(n.f,e.Ng())}function MAn(n){return nh(n,0,n.length)}function Z2(n,e){return n.a*e.a+n.b*e.b}function lhe(n,e){return n.a0?e/(n*n):e*100}function Fhe(n,e){return n>0?e*e/n:e*e*100}function ft(n,e){return!!n.q&&Jc(n.q,e)}function mb(n,e){return u(mo(n.a,e),34)}function tTn(n){return h4(),parseInt(n)||-1}function xhe(n,e){return z1(),Sn(n,e.e,e)}function Bhe(n,e,t){return jE(),t.Kg(n,e)}function Rhe(n){return sl(),n.e.a+n.f.a/2}function _he(n,e,t){return sl(),t.e.a-n*e}function Jhe(n){return sl(),n.e.b+n.f.b/2}function Ghe(n,e,t){return sl(),t.e.b-n*e}function XU(n){if(!n)throw T(new L8)}function kb(n){if(!n)throw T(new uu)}function qhe(n){if(!n)throw T(new jO)}function ue(n){if(!n)throw T(new Nr)}function iTn(n){n.d=new YAn(n),n.e=new ae}function rTn(){this.a=new Yd,this.b=new Yd}function cTn(n){this.c=n,this.a=1,this.b=1}function UL(n){db(),this.b=n,this.a=!0}function uTn(n){yE(),this.b=n,this.a=!0}function sTn(n){gx(),A7n(this),this.Df(n)}function fTn(n){pt.call(this),xm(this,n)}function oTn(){Ae.call(this,"GROW_TREE",0)}function hTn(n){this.c=n,Nu(n,0),Fu(n,0)}function lA(n){return n.a=-n.a,n.b=-n.b,n}function WU(n,e){return n.a=e.a,n.b=e.b,n}function yb(n,e,t){return n.a+=e,n.b+=t,n}function lTn(n,e,t){return n.a-=e,n.b-=t,n}function Hhe(n,e,t){jT(),n.nf(e)&&t.Ad(n)}function zhe(n,e,t){return Z(e,pFn(n,t))}function Uhe(n,e){return n.c.Ec(u(e,135))}function Khe(n,e){return u(Vn(n.e,e),27)}function Xhe(n,e){return u(Vn(n.e,e),27)}function Wu(n,e,t){lu.call(this,n,e,t,2)}function aTn(n,e){$l(),VU.call(this,n,e)}function VU(n,e){$l(),oA.call(this,n,e)}function dTn(n,e){$l(),oA.call(this,n,e)}function bTn(n,e){H5(),f7.call(this,n,e)}function KL(n,e){Ms(),PA.call(this,n,e)}function QU(n,e){Ms(),PA.call(this,n,e)}function wTn(n,e){Ms(),PA.call(this,n,e)}function gTn(n,e){Ms(),KL.call(this,n,e)}function ZU(n,e){Ms(),KL.call(this,n,e)}function pTn(n,e){Ms(),ZU.call(this,n,e)}function vTn(n,e){Ms(),QU.call(this,n,e)}function Whe(n,e,t){Zm(ac(n.a),e,CCn(t))}function Vhe(n,e,t){Zm($u(n.a),e,PCn(t))}function YU(n,e,t){return dI(H7(n,e),t)}function Qhe(n,e,t){return e.wl(n.e,n.c,t)}function Zhe(n,e,t){return e.xl(n.e,n.c,t)}function XL(n,e){return J1(n.e,u(e,52))}function mTn(n,e){return _n(n),n+YL(e)}function Yhe(n){return n==null?null:Dr(n)}function nle(n){return n==null?null:Dr(n)}function ele(n){return n==null?null:tCe(n)}function tle(n){return n==null?null:A7e(n)}function Zh(n){n.o==null&&Gye(n)}function sn(n){return bm(n==null||pb(n)),n}function x(n){return bm(n==null||vb(n)),n}function Me(n){return bm(n==null||gi(n)),n}function nK(n){this.q=new E.Date(Ra(n))}function h7(n,e){this.c=n,Gp.call(this,n,e)}function am(n,e){this.a=n,h7.call(this,n,e)}function ile(n,e){this.d=n,o6n(this),this.b=e}function eK(n,e){A$.call(this,n),this.a=e}function tK(n,e){A$.call(this,n),this.a=e}function iK(){zDn.call(this),this.Bb|=Yi}function rK(n,e,t){kT.call(this,n,e,t,null)}function kTn(n,e,t){kT.call(this,n,e,t,null)}function rle(n,e,t){return n.Le(e,t)<=0?t:e}function cle(n,e,t){return n.Le(e,t)<=0?e:t}function yTn(n){return _n(n),n?1231:1237}function WL(n){return u(un(n.a,n.b),292)}function ule(n,e){return u(mo(n.b,e),149)}function sle(n,e){return u(mo(n.c,e),232)}function jTn(n){return new W(n.c,n.d+n.a)}function ETn(n){return us(),eAn(u(n,203))}function jb(){jb=R,Ccn=En((ns(),Ad))}function lg(){lg=R,w2=new wt("root")}function Qp(){Qp=R,$j=new ikn,new rkn}function cK(n,e,t){return t=ws(n,e,3,t),t}function uK(n,e,t){return t=ws(n,e,6,t),t}function sK(n,e,t){return t=ws(n,e,9,t),t}function Uo(n,e){return I7(e,Pen),n.f=e,n}function fle(n,e){return G8(),E4(e.d.i,n)}function ole(n,e){return j3(),new rGn(e,n)}function ATn(n,e){Lo||Z(n.a,e)}function hle(n,e){e.a?hye(n,e):_L(n.a,e.b)}function l7(n,e,t){++n.j,n.qj(),E$(n,e,t)}function TTn(n,e,t){++n.j,n.nj(e,n.Wi(e,t))}function MTn(n,e,t){var i;i=n.dd(e),i.Rb(t)}function ITn(n,e,t){return qnn(n.c,n.b,e,t)}function fK(n,e){return u(Vn(n.b,e),275)}function oK(n,e){return(e&tt)%n.d.length}function hK(n,e){BH.call(this,n),this.a=e}function VL(n,e){BH.call(this,n),this.a=e}function Mt(n,e){wt.call(this,n),this.a=e}function STn(n,e){this.c=n,t0.call(this,e)}function CTn(n,e){this.a=n,m7n.call(this,e)}function a7(n,e){this.a=n,m7n.call(this,e)}function PTn(n){this.a=(ls(n,cw),new Dc(n))}function OTn(n){this.a=(ls(n,cw),new Dc(n))}function lle(n){return Pe(Oa(n,32))^Pe(n)}function QL(n){return String.fromCharCode(n)}function ale(n){return n==null?null:n.message}function dle(n,e,t){return n.apply(e,t)}function lK(n,e,t){return o3(n,u(e,23),t)}function LTn(n,e,t){return n.a+=nh(e,0,t),n}function aK(n,e){var t;return t=n.e,n.e=e,t}function dK(n,e){var t;return t=e,!!n.De(t)}function ble(n,e){var t;t=n[Xx],t.call(n,e)}function wle(n,e){var t;t=n[Xx],t.call(n,e)}function Eb(n,e){n.a._c(n.b,e),++n.b,n.c=-1}function DTn(n){hc(n.e),n.d.b=n.d,n.d.a=n.d}function d7(n){n.b?d7(n.b):n.f.c.yc(n.e,n.d)}function b7(n){return!n.a&&(n.a=new m1),n.a}function $Tn(){this.a=new Y,this.b=new Y}function NTn(){this.a=new Gq,this.b=new $7n}function FTn(){this.b=new Ti,this.c=new Y}function bK(){this.n=new Ti,this.o=new Ti}function aA(){this.n=new x2,this.i=new Q2}function wK(){this.b=new N1,this.a=new N1}function xTn(){this.a=new nmn,this.b=new Bgn}function BTn(){this.b=new ui,this.a=new ui}function RTn(){this.a=new Y,this.d=new Y}function _Tn(){this.b=new gyn,this.a=new X2n}function JTn(){this.b=new ae,this.a=new ae}function GTn(){aA.call(this),this.a=new Ti}function gK(n,e,t,i){SA.call(this,n,e,t,i)}function gle(n,e,t){Ia(),u6n(n,e.Te(n.a,t))}function ple(n,e){return G8(),!E4(e.d.i,n)}function vle(n,e){return Wn(),n==e?0:n?1:-1}function mle(n,e){return n.n.a=(_n(e),e+10)}function kle(n,e){return n.n.a=(_n(e),e+10)}function yf(n,e){return dE(new Array(e),n)}function yle(n,e){return e==n||U4(QM(e),n)}function jle(n){return n<100?null:new j1(n)}function qTn(n,e){return Qe(n.a,e,"")==null}function Ele(n,e){var t;return t=e.mi(n.a),t}function rt(n,e){return n.a+=e.a,n.b+=e.b,n}function hi(n,e){return n.a-=e.a,n.b-=e.b,n}function pK(n,e,t){return t=ws(n,e,11,t),t}function Ale(n){return sb(n.j.c,0),n.a=-1,n}function Tle(n,e){Qh(n.f)?Nye(n,e):T8e(n,e)}function HTn(n,e,t){t!=null&&JT(e,tF(n,t))}function zTn(n,e,t){t!=null&>(e,tF(n,t))}function t3(n,e,t,i){z.call(this,n,e,t,i)}function vK(n,e,t,i){z.call(this,n,e,t,i)}function UTn(n,e,t,i){vK.call(this,n,e,t,i)}function KTn(n,e,t,i){BA.call(this,n,e,t,i)}function ZL(n,e,t,i){BA.call(this,n,e,t,i)}function mK(n,e,t,i){BA.call(this,n,e,t,i)}function XTn(n,e,t,i){ZL.call(this,n,e,t,i)}function kK(n,e,t,i){ZL.call(this,n,e,t,i)}function xn(n,e,t,i){mK.call(this,n,e,t,i)}function WTn(n,e,t,i){kK.call(this,n,e,t,i)}function VTn(n,e,t,i){bX.call(this,n,e,t,i)}function Ab(n,e){Pc.call(this,Q6+n+cd+e)}function QTn(n,e){Hae.call(this,n,n.length,e)}function yK(n,e){return n.gk().si().ni(n,e)}function jK(n,e){return n.gk().si().pi(n,e)}function Mle(n,e){return n.b.zd(new vjn(n,e))}function Ile(n,e){return n.b.zd(new mjn(n,e))}function ZTn(n,e){return n.b.zd(new kjn(n,e))}function Sle(n,e){return n.e=u(n.d.Kb(e),158)}function EK(n,e,t){return n.lastIndexOf(e,t)}function Cle(n,e,t){return ot(n[e.a],n[t.a])}function Ple(n,e){return oc(n.a.d.p,e.a.d.p)}function Ole(n,e){return oc(e.a.d.p,n.a.d.p)}function Lle(n,e){return q(e,(rn(),zy),n)}function YTn(n,e){return _n(n),F(n)===F(e)}function In(n,e){return _n(n),F(n)===F(e)}function Dle(n,e){return ot(n.b.e.a,e.b.e.a)}function $le(n,e){return ot(n.c.e.a,e.c.e.a)}function Nle(n,e){return ot(n.c-n.s,e.c-e.s)}function nMn(n){return n.c?Yr(n.c.a,n,0):-1}function eMn(n,e){return O(e,15)&&RJn(n.c,e)}function Fle(n,e){Lo||e&&(n.d=e)}function AK(n,e){this.c=n,SD.call(this,n,e)}function tMn(n,e,t){this.a=n,KU.call(this,e,t)}function iMn(n){this.c=n,YE.call(this,Wk,0)}function rMn(n,e,t){this.c=e,this.b=t,this.a=n}function w7(n){n4(),this.d=n,this.a=new og}function cMn(n){Ko(),this.a=(Ln(),new xp(n))}function uMn(){uMn=R,Cce=_(ri,Fn,1,0,5,1)}function sMn(){sMn=R,Kce=_(ri,Fn,1,0,5,1)}function TK(){TK=R,Xce=_(ri,Fn,1,0,5,1)}function Ko(){Ko=R,new JH((Ln(),Ln(),Qi))}function Zp(n){if(!n)throw T(new pr(len))}function MK(n,e){if(!n)throw T(new Hn(e))}function xle(n,e,t){return u(n.c,71).Tk(e,t)}function dA(n,e,t){return u(n.c,71).Uk(e,t)}function Ble(n,e,t){return Qhe(n,u(e,339),t)}function IK(n,e,t){return Zhe(n,u(e,339),t)}function Rle(n,e,t){return IBn(n,u(e,339),t)}function fMn(n,e,t){return B8e(n,u(e,339),t)}function dm(n,e){return e==null?null:qb(n.b,e)}function i3(n){return n==Ed||n==Hh||n==pc}function YL(n){return vb(n)?(_n(n),n):n.se()}function bA(n){return!isNaN(n)&&!isFinite(n)}function nD(n){vAn(this),cs(this),Ki(this,n)}function ku(n){NL(this),RK(this.c,0,n.Nc())}function oMn(n){Lu(n.a),BW(n.c,n.b),n.b=null}function hMn(n){this.a=n,Dl(),nc(Date.now())}function Is(n,e,t){this.a=n,this.b=e,this.c=t}function lMn(n,e,t){this.a=n,this.b=e,this.c=t}function aMn(n,e,t){this.d=n,this.b=t,this.a=e}function _le(n,e,t){return Ia(),n.a.Wd(e,t),e}function eD(n){var e;return e=new Fdn,e.e=n,e}function SK(n){var e;return e=new J7n,e.b=n,e}function tD(){tD=R,ycn=new odn,OWn=new hdn}function iD(n,e){if(n!=e)throw T(new As)}function Jle(n){return no(),Ie((YOn(),XWn),n)}function Gle(n){return yu(),Ie((nLn(),VWn),n)}function qle(n){return p4(),Ie((aLn(),$Wn),n)}function Hle(n){return Ys(),Ie((ZOn(),_Wn),n)}function zle(n){return Zc(),Ie((eLn(),ZWn),n)}function Ule(n){return vI(),Ie((QEn(),yVn),n)}function Kle(n){return s0(),Ie((gLn(),EVn),n)}function Xle(n){return I4(),Ie((pLn(),dQn),n)}function Wle(n){return CT(),Ie((JPn(),LVn),n)}function Vle(n){return $m(),Ie((tLn(),rQn),n)}function Qle(n){return Oi(),Ie((ZLn(),fQn),n)}function Zle(n){return Ka(),Ie((bLn(),mQn),n)}function Yle(n){return Gn(),Ie((I$n(),EQn),n)}function n1e(n){return j4(),Ie((GPn(),SQn),n)}function e1e(n){return Ni(),Ie((ZEn(),CQn),n)}function rD(n){SA.call(this,n.d,n.c,n.a,n.b)}function CK(n){SA.call(this,n.d,n.c,n.a,n.b)}function t1e(n){return eM(),Ie((wLn(),LQn),n)}function g7(){g7=R,JS=new lbn,GS=new abn}function wA(){wA=R,$Qn=new Rbn,DQn=new _bn}function rs(){rs=R,RQn=new Xwn,_Qn=new Wwn}function gA(n,e,t){this.e=e,this.b=n,this.d=t}function dMn(n,e,t){this.a=n,this.b=e,this.c=t}function bMn(n,e,t){this.a=n,this.b=e,this.c=t}function PK(n,e,t){this.a=n,this.b=e,this.c=t}function pA(n,e,t){this.b=n,this.a=e,this.c=t}function wMn(n,e,t){this.b=n,this.a=e,this.c=t}function OK(n,e,t){this.b=n,this.c=e,this.a=t}function i1e(n){return Xb(),Ie((nDn(),zQn),n)}function r1e(n){return u0(),Ie((POn(),VQn),n)}function c1e(n){return yo(),Ie((vLn(),qQn),n)}function u1e(n){return cI(),Ie((S$n(),QQn),n)}function s1e(n){return L3(),Ie((CDn(),ZQn),n)}function f1e(n){return yT(),Ie((qPn(),YQn),n)}function o1e(n){return Rm(),Ie((OOn(),nZn),n)}function h1e(n){return BT(),Ie((LOn(),eZn),n)}function l1e(n){return Xl(),Ie((YLn(),tZn),n)}function a1e(n){return W7(),Ie((HPn(),iZn),n)}function d1e(n){return Ha(),Ie((DOn(),cZn),n)}function b1e(n){return HM(),Ie((MDn(),uZn),n)}function w1e(n){return G7(),Ie((UPn(),sZn),n)}function g1e(n){return Tk(),Ie((SDn(),fZn),n)}function p1e(n){return X4(),Ie((IDn(),oZn),n)}function v1e(n){return ur(),Ie((eNn(),hZn),n)}function m1e(n){return A4(),Ie((HOn(),lZn),n)}function k1e(n){return ul(),Ie((qOn(),dZn),n)}function y1e(n){return oT(),Ie((zPn(),bZn),n)}function j1e(n){return $s(),Ie((tDn(),wZn),n)}function E1e(n){return dT(),Ie((KPn(),gZn),n)}function A1e(n){return Ql(),Ie((R$n(),Hne),n)}function T1e(n){return Xm(),Ie((xOn(),zne),n)}function M1e(n){return Kb(),Ie((mLn(),Une),n)}function I1e(n){return i6(),Ie((eDn(),Kne),n)}function S1e(n){return tf(),Ie((tNn(),Xne),n)}function C1e(n){return to(),Ie((kLn(),Wne),n)}function P1e(n){return U7(),Ie((XPn(),Vne),n)}function O1e(n){return cr(),Ie(($On(),Zne),n)}function L1e(n){return ZT(),Ie((NOn(),Yne),n)}function D1e(n){return Km(),Ie((FOn(),nee),n)}function $1e(n){return D4(),Ie((BOn(),eee),n)}function N1e(n){return xT(),Ie((ROn(),tee),n)}function F1e(n){return YT(),Ie((_On(),iee),n)}function x1e(n){return c0(),Ie((VOn(),mee),n)}function B1e(n){return Om(),Ie((WPn(),Aee),n)}function R1e(n){return Wo(),Ie((QPn(),Oee),n)}function _1e(n){return go(),Ie((VPn(),Dee),n)}function J1e(n){return Zf(),Ie((ZPn(),Xee),n)}function G1e(n){return n0(),Ie((YPn(),ete),n)}function q1e(n){return O3(),Ie((MLn(),tte),n)}function H1e(n){return m6(),Ie((VEn(),ite),n)}function z1e(n){return Um(),Ie((JOn(),rte),n)}function U1e(n){return zm(),Ie((TLn(),Ite),n)}function K1e(n){return fT(),Ie((nOn(),Ste),n)}function X1e(n){return qT(),Ie((eOn(),Dte),n)}function W1e(n){return RM(),Ie((iDn(),Nte),n)}function V1e(n){return fk(),Ie((GOn(),xte),n)}function Q1e(n){return ET(),Ie((tOn(),Fte),n)}function Z1e(n){return OM(),Ie((ALn(),iie),n)}function Y1e(n){return VT(),Ie((zOn(),rie),n)}function nae(n){return vM(),Ie((UOn(),cie),n)}function eae(n){return JM(),Ie((ILn(),sie),n)}function tae(n){return bM(),Ie((QOn(),hie),n)}function iae(n){return bT(),Ie((cOn(),Lie),n)}function rae(n){return AT(),Ie((XOn(),Die),n)}function cae(n){return oM(),Ie((WOn(),$ie),n)}function uae(n){return TE(),Ie((yPn(),_ie),n)}function sae(n){return dk(),Ie((KOn(),xie),n)}function fae(n){return AE(),Ie((jPn(),Bie),n)}function oae(n){return w6(),Ie((rDn(),Fie),n)}function hae(n){return x7(),Ie((iOn(),Jie),n)}function lae(n){return Ik(),Ie((cDn(),Gie),n)}function aae(n){return J5(),Ie((kPn(),rre),n)}function dae(n){return uk(),Ie((rOn(),cre),n)}function bae(n){return th(),Ie((oDn(),lre),n)}function wae(n){return Qa(),Ie((C$n(),dre),n)}function gae(n){return Sh(),Ie((PDn(),bre),n)}function pae(n){return Va(),Ie((ODn(),kre),n)}function vae(n){return Yt(),Ie((uDn(),qre),n)}function mae(n){return L4(),Ie((CLn(),Hre),n)}function kae(n){return ko(),Ie((rLn(),zre),n)}function yae(n){return ll(),Ie((PLn(),Ure),n)}function jae(n){return GM(),Ie((LDn(),Kre),n)}function Eae(n){return hl(),Ie((iLn(),Wre),n)}function Aae(n){return ds(),Ie((OLn(),Qre),n)}function Tae(n){return Zb(),Ie((D$n(),Zre),n)}function Mae(n){return Ig(),Ie((fDn(),Yre),n)}function Iae(n){return ki(),Ie((DDn(),nce),n)}function Sae(n){return ju(),Ie(($Dn(),ece),n)}function Cae(n){return nn(),Ie((sDn(),tce),n)}function Pae(n){return Fm(),Ie((uLn(),sce),n)}function Oae(n){return ns(),Ie((SLn(),fce),n)}function Lae(n){return Ru(),Ie((_$n(),oce),n)}function Dae(n){return M3(),Ie((cLn(),hce),n)}function $ae(n){return fD(),Ie((uOn(),lce),n)}function Nae(n){return dM(),Ie((LLn(),ace),n)}function Fae(n){return iM(),Ie((DLn(),wce),n)}function xae(n,e){return _n(n),n+(_n(e),e)}function cD(n,e){this.c=n,this.a=e,this.b=e-n}function gMn(n,e,t){this.a=n,this.b=e,this.c=t}function LK(n,e,t){this.a=n,this.b=e,this.c=t}function DK(n,e,t){this.a=n,this.b=e,this.c=t}function uD(n,e,t){this.a=n,this.b=e,this.c=t}function pMn(n,e,t){this.a=n,this.b=e,this.c=t}function vMn(n,e,t){this.a=n,this.b=e,this.c=t}function mMn(n,e,t){this.a=n,this.c=e,this.b=t}function Fl(n,e,t){this.e=n,this.a=e,this.c=t}function sD(n,e,t){Ms(),PX.call(this,n,e,t)}function $K(n,e,t){Ms(),PX.call(this,n,e,t)}function kMn(n,e,t){Ms(),sD.call(this,n,e,t)}function NK(n,e,t){Ms(),sD.call(this,n,e,t)}function yMn(n,e,t){Ms(),NK.call(this,n,e,t)}function jMn(n,e,t){Ms(),$K.call(this,n,e,t)}function FK(n,e,t){Ms(),PX.call(this,n,e,t)}function EMn(n,e,t){Ms(),FK.call(this,n,e,t)}function AMn(n,e,t){Ms(),KX.call(this,n,e,t)}function Bae(n){return V4(),Ie((P$n(),Sce),n)}function p7(n,e){return ye(n),ye(e),new Cyn(n,e)}function r3(n,e){return ye(n),ye(e),new $Mn(n,e)}function Rae(n,e){return ye(n),ye(e),new NMn(n,e)}function _ae(n,e){return ye(n),ye(e),new Byn(n,e)}function u(n,e){return bm(n==null||zN(n,e)),n}function Yp(n){var e;return e=new Y,N$(e,n),e}function Jae(n){var e;return e=new ui,N$(e,n),e}function TMn(n){var e;return e=new zH,X$(e,n),e}function v7(n){var e;return e=new pt,X$(e,n),e}function Gae(n){return!n.e&&(n.e=new Y),n.e}function qae(n){return!n.c&&(n.c=new Cp),n.c}function fD(){fD=R,V1n=new UMn,Q1n=new aIn}function n4(){n4=R,Mon=(nn(),Kn),KC=ne}function Hae(n,e,t){IIn.call(this,e,t),this.a=n}function MMn(n,e){this.c=n,this.b=e,this.a=!1}function xK(n){this.d=n,o6n(this),this.b=Dde(n.d)}function IMn(){this.a=";,;",this.b="",this.c=""}function SMn(n,e,t){this.b=n,NEn.call(this,e,t)}function BK(n,e,t){this.c=n,IE.call(this,e,t)}function RK(n,e,t){PY(t,0,n,e,t.length,!1)}function _K(n,e,t){Up.call(this,n,e),this.b=t}function JK(n,e,t,i,r){n.d=e,n.c=t,n.a=i,n.b=r}function yh(n,e,t,i,r){n.b=e,n.c=t,n.d=i,n.a=r}function zae(n,e){e&&(n.b=e,n.a=(O1(e),e.a))}function m7(n,e){if(!n)throw T(new Hn(e))}function c3(n,e){if(!n)throw T(new pr(e))}function GK(n,e){if(!n)throw T(new Nkn(e))}function Uae(n,e){return EE(),oc(n.d.p,e.d.p)}function Kae(n,e){return sl(),ot(n.e.b,e.e.b)}function Xae(n,e){return sl(),ot(n.e.a,e.e.a)}function oD(n){return ue(n.b!=0),Qs(n,n.a.a)}function Wae(n){return ue(n.b!=0),Qs(n,n.c.b)}function qK(n){var e,t;e=n.b,t=n.c,n.b=t,n.c=e}function HK(n){var e,t;t=n.d,e=n.a,n.d=e,n.a=t}function CMn(n,e,t,i,r){n.c=e,n.d=t,n.b=i,n.a=r}function vA(n,e){return z3e(n),n.a*=e,n.b*=e,n}function zK(n,e){return e<0?n.g=-1:n.g=e,n}function k7(n,e,t){aU.call(this,n,e),this.c=t}function UK(n){TK(),Wj.call(this),this.$h(n)}function PMn(n,e,t){this.a=n,tg.call(this,e,t)}function OMn(n,e,t){this.a=n,tg.call(this,e,t)}function e4(n,e,t){var i;i=new Cb(t),Af(n,e,i)}function Vae(n,e){var t;return t=n.c,yV(n,e),t}function mA(n,e,t){aU.call(this,n,e),this.c=t}function LMn(){b4(),b0e.call(this,(A1(),bf))}function DMn(){this.b=N(x(cn((Pf(),v_))))}function hD(n){this.b=n,this.a=Ca(this.b.a).Md()}function $Mn(n,e){this.b=n,this.a=e,sO.call(this)}function NMn(n,e){this.a=n,this.b=e,sO.call(this)}function Qae(n,e){return oc(JMn(n.d),JMn(e.d))}function kA(n,e){return e&&qA(n,e.d)?e:null}function Zae(n,e){return e==(nn(),Kn)?n.c:n.d}function Yae(n){return new W(n.c+n.b,n.d+n.a)}function FMn(n){return n!=null&&!PN(n,b8,w8)}function y7(n){return n==0||isNaN(n)?n:n<0?-1:1}function nde(n,e){return zA(),YN(n,e),new oSn(n,e)}function ede(n,e){return(oFn(n)<<4|oFn(e))&ni}function He(n,e){return Pt(n,e,n.c.b,n.c),!0}function yA(n){var e;return e=n.slice(),S$(e,n)}function jA(n){var e;return e=n.n,n.a.b+e.d+e.a}function xMn(n){var e;return e=n.n,n.e.b+e.d+e.a}function KK(n){var e;return e=n.n,n.e.a+e.b+e.c}function BMn(n){return Ye(),new jh(0,n)}function RMn(){RMn=R,Pq=(Ln(),new wO(NR))}function _Mn(){_Mn=R,scn=_(Ci,V,17,256,0,1)}function EA(){EA=R,new iZ((PO(),KR),(CO(),UR))}function XK(){yh(this,!1,!1,!1,!1)}function WK(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function lD(n){return n.e.c.length+n.g.c.length}function JMn(n){return n.e.c.length-n.g.c.length}function GMn(n){return n.b.c.length-n.e.c.length}function tde(n,e){return n.c=e)throw T(new N7n)}function MIn(n){this.a=pxn(n.a),this.b=new ku(n.b)}function FA(n){this.b=new Dc(11),this.a=(Qd(),n)}function jD(n){this.b=null,this.a=(Qd(),n||mcn)}function aX(n,e){this.e=n,this.d=(e&64)!=0?e|ch:e}function IIn(n,e){this.c=0,this.d=n,this.b=e|64|ch}function SIn(n){this.b=n,n3.call(this,n),$An(this)}function CIn(n){this.b=n,o7.call(this,n),NAn(this)}function di(n,e,t,i,r){M$.call(this,n,e,t,i,r,-1)}function mm(n,e,t,i,r){J7.call(this,n,e,t,i,r,-1)}function z(n,e,t,i){Qt.call(this,n,e,t),this.b=i}function xl(n,e,t,i){var r;r=n.i,r.i=e,r.a=t,r.b=i}function dX(n){var e;for(e=n;e.f;)e=e.f;return e}function xA(n){return new W(n.c+n.b/2,n.d+n.a/2)}function ED(n,e){return e.Rh()?J1(n.b,u(e,52)):e}function km(n){return ju(),!n.Gc(El)&&!n.Gc(pa)}function PIn(n,e,t){return Y4(),Y$(n,e)&&Y$(n,t)}function Jde(n,e,t){e.of(t,N(x(Vn(n.b,t)))*n.a)}function Gde(n,e){e.Sg("General 'Rotator",1),qSe(n)}function bX(n,e,t,i){this.b=n,Qt.call(this,e,t,i)}function Ib(n,e,t){this.a=n,t3.call(this,e,t,5,6)}function OIn(n,e){this.b=n,Jmn.call(this,n.b),this.a=e}function BA(n,e,t,i){k7.call(this,n,e,t),this.b=i}function LIn(n){TEn.call(this,n,!1),this.a=!1}function wX(n,e){Wd(),Lfe.call(this,n,sM(new vc(e)))}function RA(n,e){return Ye(),new CX(n,e,0)}function AD(n,e){return Ye(),new CX(6,n,e)}function qde(n,e){return In(n.substr(0,e.length),e)}function Jc(n,e){return gi(e)?KD(n,e):!!vr(n.f,e)}function Pi(n,e){for(_n(e);n.Ob();)e.Ad(n.Pb())}function La(n,e,t){ih(),this.e=n,this.d=e,this.a=t}function B(n,e,t,i){TNn(e,t,n.length),Hde(n,e,t,i)}function Hde(n,e,t,i){var r;for(r=e;r0?E.Math.log(n/e):-100}function pX(n,e){return e?Ki(n,e):!1}function DIn(n){if(!n)throw T(new Nr);return n.d}function vX(n,e){if(n==null)throw T(new _2(e))}function o3(n,e,t){return Mf(n.a,e),ZK(n.b,e.g,t)}function Xde(n,e,t){t4(t,n.a.c.length),fs(n.a,t,e)}function Wde(n,e,t){XSe(n.a,n.b,n.d,n.c,u(e,168),t)}function E7(n,e){TAn(n,O(e,159)?e:u(e,1982).Ol())}function Qf(n,e,t){return W4e(n,e.g,t),Mf(n.c,e),n}function Vde(n){return Bg(n,(Yt(),Ar)),n.d=!0,n}function ID(n){return!n.j&&gse(n,VAe(n.g,n.b)),n.j}function Qde(n,e,t){var i;return i=Fb(n,e),h$(n,e,t),i}function mX(n,e,t){this.c=n,this.a=e,Ln(),this.b=t}function SD(n,e){this.d=n,ce.call(this,n),this.e=e}function kX(n,e){Dd.call(this,1),this.a=n,this.b=e}function ym(n){kb(n.b!=-1),Rl(n.c,n.a=n.b),n.b=-1}function hc(n){n.f=new KEn(n),n.i=new XEn(n),++n.g}function $In(n){n.a=null,n.e=null,hc(n.b),n.d=0,++n.c}function jm(n){return n.e==0?n:new La(-n.e,n.d,n.a)}function Zde(n){return n==Ct?My:n==ai?"-INF":""+n}function Yde(n){return n==Ct?My:n==ai?"-INF":""+n}function n0e(n,e){return U3e(e,n.length),new HMn(n,e)}function e0e(n,e){return ot(n.c.c+n.c.b,e.c.c+e.c.b)}function NIn(n,e){return jc(n,e)<0?-1:jc(n,e)>0?1:0}function FIn(n,e){return n.c?FIn(n.c,e):Z(n.b,e),n}function _A(n,e){Pt(n.d,e,n.b.b,n.b),++n.a,n.c=null}function Sb(n){this.d=(_n(n),n),this.a=0,this.c=Wk}function xIn(n){zX.call(this),this.a=n,Z(n.a,this)}function CD(n,e){this.d=$ve(n),this.c=e,this.a=.5*e}function BIn(n,e,t){j$n.call(this,e,t,!1),this.e=n}function r4(n,e,t,i,r){gF(n,u(ut(e.k,t),15),t,i,r)}function RIn(n,e,t,i,r){for(;e=n.g}function FD(n,e,t){var i;return i=z$(n,e,t),gnn(n,i)}function XIn(n,e){var t;t=console[n],t.call(console,e)}function h0e(n,e,t){u(e.b,68),$c(e.a,new LK(n,t,e))}function l0e(n,e){h3(n,new Cb(e.f!=null?e.f:""+e.g))}function a0e(n,e){h3(n,new Cb(e.f!=null?e.f:""+e.g))}function WIn(n,e){var t;++n.j,t=n.Bj(),n.oj(n.Wi(t,e))}function h3(n,e){var t;t=n.a.length,Fb(n,t),h$(n,t,e)}function d0e(n){return!n.a&&(n.a=new Qt(va,n,4)),n.a}function Kd(n){return!n.d&&(n.d=new Qt(ar,n,1)),n.d}function VIn(n){return O(n,101)&&(u(n,19).Bb&rc)!=0}function Am(n){return E.Math.sqrt(n.a*n.a+n.b*n.b)}function IX(n){this.d=n,this.c=n.a.d.a,this.b=n.a.e.g}function QIn(n){this.c=n,this.a=new pt,this.b=new pt}function lc(n){this.c=new Ti,this.a=new Y,this.b=n}function ZIn(n){this.b=new Y,this.a=new Y,this.c=n}function SX(n,e,t){this.a=n,BH.call(this,e),this.b=t}function YIn(n,e,t){this.a=n,aW.call(this,8,e,null,t)}function CX(n,e,t){Dd.call(this,n),this.a=e,this.b=t}function PX(n,e,t){cE.call(this,e),this.a=n,this.b=t}function nSn(n){this.c=n,this.b=this.c.a,this.a=this.c.e}function b0e(n){this.a=(_n(Ne),Ne),this.b=n,new tz}function Lu(n){kb(n.c!=-1),n.d.ed(n.c),n.b=n.c,n.c=-1}function eSn(n){xX(n.a),n.b=_(ri,Fn,1,n.b.length,5,1)}function qA(n,e){return fF(n.c,n.f,e,n.b,n.a,n.e,n.d)}function Xd(n,e){return t4(e,n.a.c.length),un(n.a,e)}function Xo(n,e){return F(n)===F(e)||n!=null&&it(n,e)}function tSn(n){return Ws(n),O(n,470)?u(n,470):Dr(n)}function iSn(n){return n?n.dc():!n.Jc().Ob()}function w0e(n){return Hw?KD(Hw,n):!1}function g0e(n){return 0>=n?new Lz:ape(n-1)}function vi(n){return!n.a&&n.c?n.c.b:n.a}function Ws(n){if(n==null)throw T(new N2);return n}function _n(n){if(n==null)throw T(new N2);return n}function Tm(n){n.c?n.c.Ye():(n.d=!0,zje(n))}function O1(n){n.c?O1(n.c):(G1(n),n.d=!0)}function rSn(n){n.b=!1,n.c=!1,n.d=!1,n.a=!1}function cSn(n){var e,t;return e=n.c.i.c,t=n.d.i.c,e==t}function p0e(n,e){var t;t=n.Eh(e),t>=0?n.gi(t):yY(n,e)}function uSn(n,e){n.c<0||n.b.b0;)n=n<<1|(n<0?1:0);return n}function NX(n){return!n.c&&(n.c=new z(Gu,n,9,9)),n.c}function zA(){zA=R,fWn=new lz(I(M(fd,1),mI,43,0,[]))}function O0e(){return TE(),I(M(Rie,1),X,543,0,[JG])}function L0e(){return AE(),I(M(sln,1),X,475,0,[_G])}function D0e(){return J5(),I(M(Sln,1),X,524,0,[fj])}function vSn(n,e){MQ(n,N(fl(e,"x")),N(fl(e,"y")))}function mSn(n,e){MQ(n,N(fl(e,"x")),N(fl(e,"y")))}function $i(n,e){return Xn(e,n.length),n.charCodeAt(e)}function FX(n,e){this.b=n,this.c=e,this.a=new z2(this.b)}function Mm(n){this.d=n,this.a=this.d.b,this.b=this.d.c}function RD(n,e,t){this.a=pen,this.d=n,this.b=e,this.c=t}function kSn(n,e){this.d=(_n(n),n),this.a=16449,this.c=e}function T7(n){return n.f==Lv&&wse(n,q6e(n.g,n.b)),n.f}function f4(n){return n.e==Lv&&dse(n,eme(n.g,n.b)),n.e}function ag(n){var e;return e=n.b,!e&&(n.b=e=new Fmn(n)),e}function xX(n){var e;for(e=n.Jc();e.Ob();)e.Pb(),e.Qb()}function $0e(n,e,t){var i;i=u(n.d.Kb(t),158),i&&i.Nb(e)}function N0e(n,e){return new USn(u(ye(n),51),u(ye(e),51))}function F0e(n,e){return Dz(),ot((_n(n),n),(_n(e),e))}function nt(n,e){return G1(n),new Cn(n,new KW(e,n.a))}function Lc(n,e){return G1(n),new Cn(n,new $W(e,n.a))}function UA(n,e){return G1(n),new tK(n,new AOn(e,n.a))}function Pb(n,e){return G1(n),new eK(n,new TOn(e,n.a))}function x0e(n,e){return ot(n.d.c+n.d.b/2,e.d.c+e.d.b/2)}function B0e(n,e){return ot(n.g.c+n.g.b/2,e.g.c+e.g.b/2)}function R0e(n){rs();var e;e=u(n.g,9),e.n.a=n.d.c+e.d.b}function _D(n){var e;return e=bpe(n),e||null}function ySn(){Fr.call(this,"There is no more element.")}function l3(n,e,t,i){Ae.call(this,n,e),this.a=t,this.b=i}function BX(n,e,t,i){this.c=n,this.b=e,this.a=t,this.d=i}function jSn(n,e,t,i){this.c=n,this.b=e,this.d=t,this.a=i}function jf(n,e,t,i){this.c=n,this.d=e,this.b=t,this.a=i}function KA(n,e,t,i){this.a=n,this.c=e,this.b=t,this.d=i}function ESn(n,e,t,i){this.a=n,this.d=e,this.c=t,this.b=i}function JD(n,e,t,i){this.a=n,this.e=e,this.d=t,this.c=i}function ASn(n){this.a=new Y,this.e=_(Ce,V,54,n,0,2)}function _0e(n){return n!=null&&R8(RP,n.toLowerCase())}function J0e(n,e){return ot(ou(n)*Vu(n),ou(e)*Vu(e))}function G0e(n,e){return ot(ou(n)*Vu(n),ou(e)*Vu(e))}function q0e(n,e,t){BMe(n.a,t),r4e(t),yye(n.b,t),rIe(e,t)}function GD(n,e,t){var i,r;return i=ien(n),r=e.pi(t,i),r}function Yh(n){var e,t;return t=(e=new $d,e),k4(t,n),t}function qD(n){var e,t;return t=(e=new $d,e),eY(t,n),t}function TSn(n){return!n.b&&(n.b=new z(Vt,n,12,3)),n.b}function o4(n){if(xu(n.d),n.d.d!=n.c)throw T(new As)}function MSn(n,e,t,i){this.a=n,this.c=e,this.d=t,this.b=i}function ISn(n,e,t,i){this.a=n,this.b=e,this.d=t,this.c=i}function SSn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function CSn(n,e,t,i){this.a=n,this.b=e,this.c=t,this.d=i}function $a(n,e,t,i){this.e=n,this.a=e,this.c=t,this.d=i}function PSn(n,e,t,i){Ms(),kOn.call(this,e,t,i),this.a=n}function OSn(n,e,t,i){Ms(),kOn.call(this,e,t,i),this.a=n}function LSn(n,e){this.a=n,ile.call(this,n,u(n.d,15).dd(e))}function HD(n){this.f=n,this.c=this.f.e,n.f>0&&lBn(this)}function DSn(n,e,t,i){this.b=n,this.c=i,YE.call(this,e,t)}function cs(n){n.a.a=n.c,n.c.b=n.a,n.a.b=n.c.a=null,n.b=0}function RX(n,e){return n.b=e.b,n.c=e.c,n.d=e.d,n.a=e.a,n}function XA(n){return n.n&&(n.e!==BHn&&n.he(),n.j=null),n}function $Sn(n){return bm(n==null||MD(n)&&n.Qm!==rb),n}function _X(n){return ue(n.b=e}function sbe(n,e,t){return t>=0&&In(n.substr(t,e.length),e)}function L1(n,e,t,i,r,c,f){return new d$(n.e,e,t,i,r,c,f)}function WD(n,e,t,i){Bt(n.c[e.g],e.g,t),Bt(n.b[e.g],e.g,i)}function M7(n,e,t,i){Bt(n.c[e.g],t.g,i),Bt(n.c[t.g],e.g,i)}function Vs(n,e,t){return Ii(e,t,n.length),n.substr(e,t-e)}function QSn(n,e){var t;return t=n.b.Oc(e),FPn(t,n.b.gc()),t}function I7(n,e){if(n==null)throw T(new _2(e));return n}function VD(n){this.a=(Ln(),O(n,59)?new _O(n):new sA(n))}function fbe(n){n&&ZA(n,n.ge())}function ZSn(n,e){aA.call(this),iV(this),this.a=n,this.c=e}function obe(){return CT(),I(M(Dcn,1),X,421,0,[g_,FS])}function hbe(){return j4(),I(M(IQn,1),X,501,0,[$y,P_])}function lbe(){return Wo(),I(M(Pee,1),X,507,0,[U0,u1])}function abe(){return go(),I(M(Lee,1),X,506,0,[vd,$o])}function dbe(){return Om(),I(M(Eee,1),X,516,0,[x9,F9])}function bbe(){return U7(),I(M(don,1),X,418,0,[HJ,zJ])}function wbe(){return yT(),I(M(Kun,1),X,419,0,[Uun,z_])}function gbe(){return W7(),I(M(esn,1),X,416,0,[aC,nsn])}function pbe(){return oT(),I(M(psn,1),X,417,0,[uJ,gsn])}function vbe(){return G7(),I(M(rsn,1),X,474,0,[isn,bC])}function mbe(){return bT(),I(M(nln,1),X,476,0,[FG,Yhn])}function kbe(){return dT(),I(M(Osn,1),X,420,0,[gJ,wJ])}function ybe(){return fT(),I(M(fhn,1),X,422,0,[dG,shn])}function jbe(){return qT(),I(M(ohn,1),X,485,0,[tP,g2])}function Ebe(){return uk(),I(M(Pln,1),X,424,0,[wP,Cln])}function Abe(){return x7(),I(M(fln,1),X,425,0,[GG,dP])}function Tbe(){return ET(),I(M(lhn,1),X,423,0,[hhn,mG])}function Mbe(){return Zf(),I(M(Kee,1),X,513,0,[Lw,ha])}function Ibe(){return n0(),I(M(nte,1),X,451,0,[la,d2])}function Sbe(){return fD(),I(M(PP,1),X,343,0,[V1n,Q1n])}function YA(n,e,t,i){return t>=0?n.Qh(e,t,i):n.yh(null,t,i)}function nT(n){return n.b.b==0?n.a.uf():oD(n.b)}function Cbe(n){if(n.p!=5)throw T(new uu);return Pe(n.f)}function Pbe(n){if(n.p!=5)throw T(new uu);return Pe(n.k)}function UX(n){return F(n.a)===F((Z$(),Iq))&&CIe(n),n.a}function eT(n,e){return VA(n,"set1"),VA(e,"set2"),new Hyn(n,e)}function YSn(n,e){Que(this,new W(n.a,n.b)),Zue(this,v7(e))}function Yd(){_se.call(this,new H2(xb(12))),NU(!0),this.a=2}function QD(n,e,t){Ye(),Dd.call(this,n),this.b=e,this.a=t}function KX(n,e,t){Ms(),cE.call(this,e),this.a=n,this.b=t}function nCn(n){var e;e=n.c.d.b,n.b=e,n.a=n.c.d,e.a=n.c.d.b=n}function Obe(n,e){n.b=e,n.c>0&&n.b>0&&(n.g=IA(n.c,n.b,n.a))}function Lbe(n,e){n.c=e,n.c>0&&n.b>0&&(n.g=IA(n.c,n.b,n.a))}function Dbe(n){return n.b==0?null:(ue(n.b!=0),Qs(n,n.a.a))}function kc(n,e){return e==null?xr(vr(n.f,null)):z5(n.i,e)}function eCn(n,e,t,i,r){return new AF(n,(p4(),f_),e,t,i,r)}function tT(n,e){return BPn(e),npe(n,_(Ce,Ge,30,e,15,1),e)}function $be(n,e){HJn(n,!0),$c(n.e.Pf(),new OK(n,!0,e))}function S7(n){var e;spe(n.a),sAn(n.a),e=new nE(n.a),xQ(e)}function Nbe(n,e){var t;return t=X3e(n.f,e),rt(lA(t),n.f.d)}function tCn(n,e){var t,i;return t=e,i=new VP,Nqn(n,t,i),i.d}function ZD(n,e,t,i){var r;r=new GTn,e.a[t.g]=r,o3(n.b,i,r)}function iT(n,e,t){this.c=new Y,this.e=n,this.f=e,this.b=t}function XX(n,e,t){this.a=new Y,this.e=n,this.f=e,this.c=t}function iCn(n,e,t){this.i=new Y,this.b=n,this.g=e,this.a=t}function rCn(n){aA.call(this),iV(this),this.a=n,this.c=!0}function cCn(n){this.a=u(ye(n),274),this.b=(Ln(),new GU(n))}function WX(n,e,t){var i;i=n.Eh(e),i>=0?n.Zh(i,t):VY(n,e,t)}function dg(n,e,t){rT(),n&&Qe(Aq,n,e),n&&Qe(Lj,n,t)}function Fbe(n,e){return sl(),u(m(e,(Kr(),ph)),17).a==n}function Bi(n){return Math.max(Math.min(n,tt),-2147483648)|0}function xbe(n,e){var t=ZR[n.charCodeAt(0)];return t??n}function Ob(n){return n.Db>>16!=3?null:u(n.Cb,27)}function wo(n){return n.Db>>16!=9?null:u(n.Cb,27)}function uCn(n){return n.Db>>16!=6?null:u(n.Cb,85)}function Bbe(n){if(n.ye())return null;var e=n.n;return TS[e]}function nl(n,e){if(e==null)throw T(new N2);return J5e(n,e)}function Rbe(n,e){return q$n(n,e)?(_Dn(n),!0):!1}function _be(n){function e(){}return e.prototype=n||{},new e}function sCn(n){var e;return e=new gE(xb(n.length)),XV(e,n),e}function fCn(n,e){return n.b+=e.b,n.c+=e.c,n.d+=e.d,n.a+=e.a,n}function oCn(n,e){var t;for(ye(e),t=n.a;t;t=t.c)e.Wd(t.g,t.i)}function C7(n,e){var t;t=n.q.getHours(),n.q.setDate(e),y6(n,t)}function YD(n,e){return E.Math.abs(n)=0?n.Sh(t):PF(n,e)}function n$(n,e,t){var i;i=hNn(n,e,t),n.b=new XT(i.c.length)}function Wo(){Wo=R,U0=new nU(q3,0),u1=new nU(G3,1)}function go(){go=R,vd=new eU(nB,0),$o=new eU("UP",1)}function n0(){n0=R,la=new iU(G3,0),d2=new iU(q3,1)}function lCn(n,e){var t;return t=new eX(e),RBn(t,n),new ku(t)}function VX(n){var e;return e=n.d,e=n.$i(n.f),pe(n,e),e.Ob()}function qbe(n){if(n.p!=0)throw T(new uu);return im(n.f,0)}function Hbe(n){if(n.p!=0)throw T(new uu);return im(n.k,0)}function aCn(n){return n.Db>>16!=7?null:u(n.Cb,240)}function QX(n){return n.Db>>16!=7?null:u(n.Cb,173)}function Jt(n){return n.Db>>16!=11?null:u(n.Cb,27)}function Lb(n){return n.Db>>16!=17?null:u(n.Cb,29)}function l4(n){return n.Db>>16!=6?null:u(n.Cb,240)}function dCn(n){return n.Db>>16!=3?null:u(n.Cb,154)}function bCn(n,e){var t=n.a=n.a||[];return t[e]||(t[e]=n.te(e))}function zbe(n,e){var t;t=n.q.getHours(),n.q.setMonth(e),y6(n,t)}function ZX(n){var e;return G1(n),e=new ui,nt(n,new E6n(e))}function rT(){rT=R,Aq=new ae,Lj=new ae,soe(CWn,new y4n)}function wCn(){this.a=new mh,this.e=new ui,this.g=0,this.i=0}function gCn(n,e){tA(this),this.f=e,this.g=n,XA(this),this.he()}function pCn(n,e){this.a=n,this.c=zi(this.a),this.b=new QA(e)}function vCn(n,e,t){this.a=e,this.c=n,this.b=(ye(t),new ku(t))}function mCn(n,e,t){this.a=e,this.c=n,this.b=(ye(t),new ku(t))}function kCn(n){this.a=n,this.b=_(kee,V,1989,n.e.length,0,2)}function Ube(n){return!n.a&&(n.a=new z(We,n,10,11)),n.a.i>0}function Im(n,e,t,i,r,c){return new cl(n.e,e,n.Ij(),t,i,r,c)}function mr(n,e,t){return e==null?nu(n.f,null,t):f0(n.i,e,t)}function Ri(n,e){n.c&&Qc(n.c.g,n),n.c=e,n.c&&Z(n.c.g,n)}function si(n,e){n.c&&Qc(n.c.a,n),n.c=e,n.c&&Z(n.c.a,n)}function Rr(n,e){n.i&&Qc(n.i.j,n),n.i=e,n.i&&Z(n.i.j,n)}function Ei(n,e){n.d&&Qc(n.d.e,n),n.d=e,n.d&&Z(n.d.e,n)}function Db(n,e){if(n<0||n>e)throw T(new Pc(Ien+n+Sen+e))}function Kbe(n,e,t){return Z(n.a,(zA(),YN(e,t),new xd(e,t))),n}function e$(n,e){n.a&&Qc(n.a.k,n),n.a=e,n.a&&Z(n.a.k,n)}function t$(n,e){n.b&&Qc(n.b.f,n),n.b=e,n.b&&Z(n.b.f,n)}function Fa(n,e,t,i){this.c=n,this.d=i,e$(this,e),t$(this,t)}function yCn(){yCn=R,see=hu(new Zt,(Oi(),Sr),(Ni(),Ny))}function jCn(){jCn=R,ree=hu(new Zt,(Oi(),Sr),(Ni(),Ny))}function YX(){YX=R,cee=hu(new Zt,(Oi(),Sr),(Ni(),Ny))}function ECn(){ECn=R,Tee=De(new Zt,(Oi(),Sr),(Ni(),b9))}function us(){us=R,See=De(new Zt,(Oi(),Sr),(Ni(),b9))}function ACn(){ACn=R,Cee=De(new Zt,(Oi(),Sr),(Ni(),b9))}function i$(){i$=R,$ee=De(new Zt,(Oi(),Sr),(Ni(),b9))}function TCn(){TCn=R,Cte=hu(new Zt,(O3(),R9),(m6(),Pon))}function MCn(){MCn=R,lWn=Se((hE(),I(M(hWn,1),X,534,0,[VR])))}function Xbe(n){return gN(),Wn(),u(n.a,82).d.e!=0}function Wbe(n,e){return ot(u(n.c,65).c.e.b,u(e.c,65).c.e.b)}function Vbe(n,e){return ot(u(n.c,65).c.e.a,u(e.c,65).c.e.a)}function ICn(n,e){h0e(n,n.b,n.c),u(n.b.b,68),e&&u(e.b,68).b}function Qbe(n,e){SQ(n,e),O(n.Cb,88)&&Qb(Du(u(n.Cb,88)),2)}function r$(n,e){O(n.Cb,88)&&Qb(Du(u(n.Cb,88)),4),Nc(n,e)}function cT(n,e){O(n.Cb,184)&&(u(n.Cb,184).tb=null),Nc(n,e)}function SCn(n,e){var t;return t=u(qb(a3(n.a),e),16),t?t.gc():0}function Zbe(n,e){var t,i;t=e.c,i=t!=null,i&&h3(n,new Cb(e.c))}function CCn(n){var e,t;return t=(_p(),e=new $d,e),k4(t,n),t}function PCn(n){var e,t;return t=(_p(),e=new $d,e),k4(t,n),t}function OCn(n){for(var e;;)if(e=n.Pb(),!n.Ob())return e}function P7(n){return ih(),jc(n,0)>=0?q1(n):jm(q1(Jl(n)))}function Ybe(n,e){IAn(n,Pe(mi(zd(e,24),EI)),Pe(mi(e,EI)))}function LCn(n,e,t){var i;tFn(e,t,n.c.length),i=t-e,Cz(n.c,e,i)}function D1(n,e,t){tFn(e,t,n.gc()),this.c=n,this.a=e,this.b=t-e}function d3(n){this.c=new pt,this.b=n.b,this.d=n.c,this.a=n.a}function c$(n){this.a=E.Math.cos(n),this.b=E.Math.sin(n)}function Pn(n,e){this.b=(_n(n),n),this.a=(e&uw)==0?e|64|ch:e}function Dn(n,e){if(n<0||n>=e)throw T(new Pc(Ien+n+Sen+e))}function Xn(n,e){if(n<0||n>=e)throw T(new gz(Ien+n+Sen+e))}function yc(n,e){return tr(),$$(e)?new AA(e,n):new i7(e,n)}function DCn(n,e,t){return new AF(n,(p4(),s_),null,!1,e,t)}function $Cn(n,e,t){return new AF(n,(p4(),o_),e,t,null,!1)}function nwe(n,e,t){var i;i=new Hi(t.d),rt(i,n),MQ(e,i.a,i.b)}function nW(n){var e;return G1(n),e=(Qd(),Qd(),r_),OT(n,e)}function bg(n){return _5(),O(n.g,9)?u(n.g,9):null}function ewe(){return Rm(),I(M(Wun,1),X,323,0,[g9,By,Xun])}function twe(){return BT(),I(M(Qun,1),X,347,0,[Vun,lC,U_])}function iwe(){return Ha(),I(M(rZn,1),X,446,0,[W_,Uv,e2])}function rwe(){return A4(),I(M(cJ,1),X,298,0,[iJ,rJ,Ry])}function cwe(){return ul(),I(M(aZn,1),X,312,0,[_y,i2,rp])}function uwe(){return Xm(),I(M(ion,1),X,349,0,[xJ,ton,GC])}function swe(){return cr(),I(M(Qne,1),X,449,0,[D9,Iu,Rc])}function fwe(){return ZT(),I(M(gon,1),X,379,0,[bon,UJ,won])}function owe(){return Km(),I(M(pon,1),X,345,0,[XJ,KJ,Qy])}function hwe(){return D4(),I(M(mon,1),X,346,0,[WJ,von,$9])}function lwe(){return xT(),I(M(jon,1),X,348,0,[yon,VJ,kon])}function awe(){return YT(),I(M(Eon,1),X,380,0,[QJ,u5,Ow])}function dwe(){return u0(),I(M(F_,1),X,365,0,[$0,ua,D0])}function bwe(){return Um(),I(M(_on,1),X,383,0,[Ron,nG,nj])}function wwe(){return c0(),I(M(vee,1),X,450,0,[Zy,N9,UC])}function gwe(){return fk(),I(M(bhn,1),X,384,0,[iP,ahn,dhn])}function pwe(){return VT(),I(M(Lhn,1),X,299,0,[AG,Ohn,Phn])}function vwe(){return vM(),I(M(Dhn,1),X,433,0,[H9,uP,TG])}function mwe(){return no(),I(M(bw,1),X,236,0,[Wr,Bc,Vr])}function kwe(){return yu(),I(M(WWn,1),X,457,0,[dh,ra,Lf])}function ywe(){return Zc(),I(M(QWn,1),X,458,0,[uo,ca,Df])}function jwe(){return Ys(),I(M(Tu,1),X,131,0,[Mcn,Au,Icn])}function Ewe(){return $m(),I(M(Xcn,1),X,382,0,[k_,m_,y_])}function Awe(){return bM(),I(M(Fhn,1),X,385,0,[Nhn,LG,$hn])}function Twe(){return AT(),I(M(iln,1),X,426,0,[xG,tln,eln])}function Mwe(){return oM(),I(M(uln,1),X,427,0,[rln,cln,BG])}function Iwe(){return dk(),I(M(RG,1),X,432,0,[hP,lP,aP])}function Swe(){return hl(),I(M(_1n,1),X,342,0,[EP,o1,c8])}function Cwe(){return ko(),I(M(S1n,1),X,276,0,[w5,Fw,g5])}function Pwe(){return M3(),I(M(W1n,1),X,278,0,[X1n,Bw,CP])}function Owe(){return Fm(),I(M(U1n,1),X,297,0,[Aj,gq,z1n])}function po(n){return _r(I(M(bi,1),V,8,0,[n.i.n,n.n,n.a]))}function Lwe(n){return n.a==(b4(),qP)&&use(n,oAe(n.g,n.b)),n.a}function b3(n){return n.d==(b4(),qP)&&lse(n,tMe(n.g,n.b)),n.d}function Dwe(n,e){var t;return t=(_n(n),n).g,XU(!!t),_n(e),t(e)}function eW(n,e){Bse.call(this,new H2(xb(n))),ls(e,LHn),this.a=e}function NCn(n,e,t){Dd.call(this,25),this.b=n,this.a=e,this.c=t}function ss(n){Ye(),Dd.call(this,n),this.c=!1,this.a=!1}function $we(n){if(n.p!=2)throw T(new uu);return Pe(n.f)&ni}function Nwe(n){if(n.p!=2)throw T(new uu);return Pe(n.k)&ni}function Fwe(n){return n.Db>>16!=6?null:u(DF(n),240)}function FCn(n,e){var t,i;return i=i4(n,e),t=n.a.dd(i),new Gyn(n,t)}function xwe(n,e,t){var i;return i=A6(n,e,!1),i.b<=e&&i.a<=t}function xCn(n,e,t){var i;i=new C2n,i.b=e,i.a=t,++e.b,Z(n.d,i)}function Bwe(n){var e;return e=u(yA(n.b),10),new Is(n.a,e,n.c)}function Rwe(n){return Xi(Eh(nc(Bu(n,32)),32),nc(Bu(n,32)))}function mi(n,e){return B1(Nde(Or(n)?Zs(n):n,Or(e)?Zs(e):e))}function Vo(n,e){return B1(Fde(Or(n)?Zs(n):n,Or(e)?Zs(e):e))}function u$(n,e){return B1(xde(Or(n)?Zs(n):n,Or(e)?Zs(e):e))}function tW(n,e){return fIn(n.a,e)?ZK(n.b,u(e,23).g,null):null}function xa(n){return ye(n),O(n,16)?new ku(u(n,16)):Yp(n.Jc())}function _we(n,e){return Nm(),n.c==e.c?ot(e.d,n.d):ot(n.c,e.c)}function Jwe(n,e){return Nm(),n.c==e.c?ot(n.d,e.d):ot(n.c,e.c)}function Gwe(n,e){return Nm(),n.c==e.c?ot(e.d,n.d):ot(e.c,n.c)}function qwe(n,e){return Nm(),n.c==e.c?ot(n.d,e.d):ot(e.c,n.c)}function Hwe(n,e){n.b=n.b|e.b,n.c=n.c|e.c,n.d=n.d|e.d,n.a=n.a|e.a}function j(n){return ue(n.ai?1:0}function RCn(n,e){var t,i;return t=C$(e),i=t,u(Vn(n.c,i),17).a}function s$(n,e,t){var i;i=n.d[e.p],n.d[e.p]=n.d[t.p],n.d[t.p]=i}function Xwe(n,e,t){var i;n.n&&e&&t&&(i=new b4n,Z(n.e,i))}function f$(n,e){if(li(n.a,e),e.d)throw T(new Fr(tzn));e.d=n}function cW(n,e){this.a=new Y,this.d=new Y,this.f=n,this.c=e}function _Cn(){this.c=new pAn,this.a=new EOn,this.b=new H7n,sjn()}function JCn(){A3(),this.b=new ae,this.a=new ae,this.c=new Y}function GCn(n,e,t){this.d=n,this.j=e,this.e=t,this.o=-1,this.p=3}function qCn(n,e,t){this.d=n,this.k=e,this.f=t,this.o=-1,this.p=5}function HCn(n,e,t,i,r,c){SW.call(this,n,e,t,i,r),c&&(this.o=-2)}function zCn(n,e,t,i,r,c){uV.call(this,n,e,t,i,r),c&&(this.o=-2)}function UCn(n,e,t,i,r,c){sV.call(this,n,e,t,i,r),c&&(this.o=-2)}function KCn(n,e,t,i,r,c){IW.call(this,n,e,t,i,r),c&&(this.o=-2)}function XCn(n,e,t,i,r,c){hV.call(this,n,e,t,i,r),c&&(this.o=-2)}function WCn(n,e,t,i,r,c){fV.call(this,n,e,t,i,r),c&&(this.o=-2)}function VCn(n,e,t,i,r,c){oV.call(this,n,e,t,i,r),c&&(this.o=-2)}function QCn(n,e,t,i,r,c){MW.call(this,n,e,t,i,r),c&&(this.o=-2)}function ZCn(n,e,t,i){cE.call(this,t),this.b=n,this.c=e,this.d=i}function YCn(n,e){this.f=n,this.a=(b4(),GP),this.c=GP,this.b=e}function nPn(n,e){this.g=n,this.d=(b4(),qP),this.a=qP,this.b=e}function ePn(n,e){La.call(this,1,2,I(M(Ce,1),Ge,30,15,[n,e]))}function uW(n,e){!n.c&&(n.c=new Ft(n,0)),aI(n.c,(ht(),p8),e)}function Wwe(n,e){return Hye(n,e,O(e,101)&&(u(e,19).Bb&Yi)!=0)}function Vwe(n,e){return NIn(nc(n.q.getTime()),nc(e.q.getTime()))}function tPn(n){return aD(n.e.Pd().gc()*n.c.Pd().gc(),16,new Rmn(n))}function Qwe(n){return!!n.u&&ac(n.u.a).i!=0&&!(n.n&&WN(n.n))}function Zwe(n){return!!n.a&&$u(n.a.a).i!=0&&!(n.b&&VN(n.b))}function sW(n,e){return e==0?!!n.o&&n.o.f!=0:qN(n,e)}function iPn(n){return ue(n.b.b!=n.d.a),n.c=n.b=n.b.b,--n.a,n.c.c}function rPn(n){return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function Sm(n){for(;n.d>0&&n.a[--n.d]==0;);n.a[n.d++]==0&&(n.e=0)}function Ai(n,e){this.a=n,T5.call(this,n),Db(e,n.gc()),this.b=e}function cPn(n){this.a=_(ri,Fn,1,KV(E.Math.max(8,n))<<1,5,1)}function uPn(n){W$.call(this,n,(p4(),u_),null,!1,null,!1)}function sPn(n,e){var t;return t=1-e,n.a[t]=zT(n.a[t],t),zT(n,e)}function fPn(n,e){var t,i;return i=mi(n,sr),t=Eh(e,32),Vo(t,i)}function Ywe(n,e,t){var i;return i=u(n.Zb().xc(e),16),!!i&&i.Gc(t)}function oPn(n,e,t){var i;return i=u(n.Zb().xc(e),16),!!i&&i.Kc(t)}function hPn(n,e,t){var i;i=(ye(n),new ku(n)),L6e(new vCn(i,e,t))}function L7(n,e,t){var i;i=(ye(n),new ku(n)),D6e(new mCn(i,e,t))}function nge(n,e,t){n.a=e,n.c=t,n.b.a.$b(),cs(n.d),sb(n.e.a.c,0)}function lPn(n,e){var t;n.e=new uz,t=Yb(e),pi(t,n.c),DJn(n,t,0)}function ege(n,e){return new uD(e,lTn(zi(e.e),n,n),(Wn(),!0))}function tge(n,e){return y3(),u(m(e,(Kr(),b2)),17).a>=n.gc()}function ige(n){return us(),!Ui(n)&&!(!Ui(n)&&n.c.i.c==n.d.i.c)}function Qo(n){return u(jo(n,_(S_,sB,18,n.c.length,0,1)),469)}function rge(n){gFn((!n.a&&(n.a=new z(We,n,10,11)),n.a),new hpn)}function fW(){var n,e,t;return e=(t=(n=new $d,n),t),Z(Oan,e),e}function zr(n,e,t,i,r,c){return E$n(n,e,t,c),mQ(n,i),kQ(n,r),n}function aPn(n,e,t,i){return n.a+=""+Vs(e==null?eu:Dr(e),t,i),n}function D7(n,e){if(n<0||n>=e)throw T(new Pc(pke(n,e)));return n}function dPn(n,e,t){if(n<0||et)throw T(new Pc(R7e(n,e,t)))}function Q(n,e,t,i){var r;r=new eH,r.a=e,r.b=t,r.c=i,He(n.b,r)}function Ut(n,e,t,i){var r;r=new eH,r.a=e,r.b=t,r.c=i,He(n.a,r)}function cge(n,e,t){var i;i=rme();try{return dle(n,e,t)}finally{s2e(i)}}function Ra(n){var e;return Or(n)?(e=n,e==-0?0:e):k3e(n)}function bPn(n,e){return O(e,43)?eF(n.a,u(e,43)):!1}function wPn(n,e){return O(e,43)?eF(n.a,u(e,43)):!1}function gPn(n,e){return O(e,43)?eF(n.a,u(e,43)):!1}function uge(n){return ag(n).dc()?!1:(Joe(n,new Go),!0)}function uT(n){var e;return O1(n),e=new fdn,Vw(n.a,new y6n(e)),e}function oW(n){var e;return O1(n),e=new sdn,Vw(n.a,new k6n(e)),e}function sge(n){if(!("stack"in n))try{throw n}catch{}return n}function fge(n,e){return n.a<=n.b?(e.Bd(n.a++),!0):!1}function oge(n,e,t){n.d&&Qc(n.d.e,n),n.d=e,n.d&&Sa(n.d.e,t,n)}function hW(n,e,t){this.d=new L9n(this),this.e=n,this.i=e,this.f=t}function lW(n,e,t,i){mAn(this),this.c=n,this.e=e,this.f=t,this.b=i}function Cm(n,e){JCe(e,n),qK(n.d),qK(u(m(n,(rn(),NC)),213))}function o$(n,e){GCe(e,n),HK(n.d),HK(u(m(n,(rn(),NC)),213))}function e0(n,e){var t,i;return t=nl(n,e),i=null,t&&(i=t.ne()),i}function a4(n,e){var t,i;return t=Fb(n,e),i=null,t&&(i=t.qe()),i}function Pm(n,e){var t,i;return t=nl(n,e),i=null,t&&(i=t.qe()),i}function el(n,e){var t,i;return t=nl(n,e),i=null,t&&(i=fY(t)),i}function hge(n,e,t){var i;return i=J4(t),sI(n.n,i,e),sI(n.o,e,t),e}function aW(n,e,t,i){this.d=n,this.n=e,this.g=t,this.o=i,this.p=-1}function pPn(n){var e;e=n.Ch(),this.a=O(e,71)?u(e,71).Fi():e.Jc()}function lge(n){return aD(n.e.Pd().gc()*n.c.Pd().gc(),273,new Bmn(n))}function sT(n){return new Dc((ls(n,Ex),PT(Xi(Xi(5,n),n/10|0))))}function vPn(n){return u(jo(n,_(AQn,Pzn,11,n.c.length,0,1)),1988)}function mPn(n,e,t,i){return O(t,59)?new ZAn(n,e,t,i):new hX(n,e,t,i)}function fT(){fT=R,dG=new rU("DFS",0),shn=new rU("BFS",1)}function oT(){oT=R,uJ=new Vz(wv,0),gsn=new Vz("TOP_LEFT",1)}function kPn(){kPn=R,rre=Se((J5(),I(M(Sln,1),X,524,0,[fj])))}function yPn(){yPn=R,_ie=Se((TE(),I(M(Rie,1),X,543,0,[JG])))}function jPn(){jPn=R,Bie=Se((AE(),I(M(sln,1),X,475,0,[_G])))}function EPn(){EPn=R,Ton=dSn(tn(1),tn(4)),Aon=dSn(tn(1),tn(2))}function age(){return s0(),I(M(jVn,1),X,406,0,[Py,Cy,b_,w_])}function dge(){return I4(),I(M(aQn,1),X,405,0,[L0,gw,ww,Vg])}function bge(){return p4(),I(M(LS,1),X,305,0,[u_,s_,f_,o_])}function wge(){return Ka(),I(M(Zcn,1),X,381,0,[pw,Qcn,M_,I_])}function gge(){return eM(),I(M(OQn,1),X,364,0,[$_,cC,uC,Fy])}function d4(n){return O(n,16)?u(n,16).dc():!n.Jc().Ob()}function w3(n){return _5(),O(n.g,152)?u(n.g,152):null}function APn(n){if(n.e.g!=n.b)throw T(new As);return!!n.c&&n.d>0}function ge(n){return ue(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function dW(n,e){_n(e),Bt(n.a,n.c,e),n.c=n.c+1&n.a.length-1,Hxn(n)}function $1(n,e){_n(e),n.b=n.b-1&n.a.length-1,Bt(n.a,n.b,e),Hxn(n)}function pge(n,e){var t;t=e.a,Ri(t,e.c.d),Ei(t,e.d.d),_b(t.a,n.n)}function bW(n,e){var t;return t=u(mo(n.b,e),67),!t&&(t=new pt),t}function vge(n){var e;return n.j==(nn(),he)&&(e=j_n(n),fu(e,ne))}function mge(){return yo(),I(M(GQn,1),X,410,0,[ip,Rv,_v,N_])}function kge(){return Kb(),I(M(RJ,1),X,203,0,[qC,BJ,a2,l2])}function yge(){return to(),I(M(aon,1),X,266,0,[gh,lon,GJ,qJ])}function jge(){return O3(),I(M(Son,1),X,396,0,[VC,B9,R9,_9])}function TPn(n,e){return u(Xu(Mb(u(ut(n.k,e),15).Mc(),Zg)),112)}function MPn(n,e){return u(Xu(s3(u(ut(n.k,e),15).Mc(),Zg)),112)}function Ege(n){return new Pn(V3e(u(n.a.kd(),16).gc(),n.a.jd()),16)}function Age(n,e){return Z2(new W(e.e.a+e.f.a/2,e.e.b+e.f.b/2),n)}function IPn(n,e){var t;for(t=n.j.c.length;t0&&bc(n.g,0,e,0,n.i),e}function tl(n){var e;for(e=0;n.Ob();)n.Pb(),e=Xi(e,1);return PT(e)}function OPn(n,e){var t;return t=new q2,n.Ed(t),t.a+="..",e.Fd(t),t.a}function LPn(n,e){ME();var t;return t=u(Vn(BP,n),58),!t||t.ck(e)}function Bge(n){if(n.p!=1)throw T(new uu);return Pe(n.f)<<24>>24}function Rge(n){if(n.p!=1)throw T(new uu);return Pe(n.k)<<24>>24}function _ge(n){if(n.p!=7)throw T(new uu);return Pe(n.f)<<16>>16}function Jge(n){if(n.p!=7)throw T(new uu);return Pe(n.k)<<16>>16}function wg(n,e){return e.e==0||n.e==0?f9:(nv(),xF(n,e))}function DPn(n,e,t){n.i=0,n.e=0,e!=t&&(dNn(n,e,t),aNn(n,e,t))}function Gge(n,e,t,i,r){var c;c=rje(r,t,i),Z(e,oke(r,c)),i7e(n,r,e)}function qge(n,e,t){var i;i=u(Vn(n.g,t),60),Z(n.a.c,new Zi(e,i))}function Hge(n,e,t){return yD(x(xr(vr(n.f,e))),x(xr(vr(n.f,t))))}function zge(n,e){return u(e==null?xr(vr(n.f,null)):z5(n.i,e),286)}function $Pn(n,e){return F(e)===F(n)?"(this Map)":e==null?eu:Dr(e)}function pW(n,e){return n==(Gn(),Lt)&&e==Lt?4:n==Lt||e==Lt?8:32}function hT(n,e,t){return oI(n,e,t,O(e,101)&&(u(e,19).Bb&Yi)!=0)}function Uge(n,e,t){return iv(n,e,t,O(e,101)&&(u(e,19).Bb&Yi)!=0)}function Kge(n,e,t){return Qye(n,e,t,O(e,101)&&(u(e,19).Bb&Yi)!=0)}function Mh(n,e){tr();var t;return t=u(n,69).sk(),g7e(t,e),t.ul(e)}function NPn(n,e){var t;for(t=e;t;)yb(n,t.i,t.j),t=Jt(t);return n}function FPn(n,e){var t;for(t=0;t"+iW(n.d):"e_"+qd(n)}function mW(n){n.b!=n.c&&(n.a=_(ri,Fn,1,8,5,1),n.b=0,n.c=0)}function lT(n){var e;return n?new eX(n):(e=new mh,X$(e,n),e)}function Yge(n,e){var t;return BPn(e),t=n.slice(0,e),t.length=e,S$(t,n)}function n2e(n,e){var t;for(t=n.d-1;t>=0&&n.a[t]===e[t];t--);return t<0}function Nb(n,e,t,i){GCn.call(this,1,t,i),this.c=n,this.b=e}function a$(n,e,t,i){qCn.call(this,1,t,i),this.c=n,this.b=e}function d$(n,e,t,i,r,c,f){J$.call(this,e,i,r,c,f),this.c=n,this.a=t}function _a(n,e,t){this.e=n,this.a=ri,this.b=nGn(e),this.c=e,this.d=t}function b$(n){this.e=n,this.c=this.e.a,this.b=this.e.g,this.d=this.e.i}function kW(n){this.d=n,this.b=this.d.a.entries(),this.a=this.b.next()}function _Pn(n){this.c=n,this.a=u(ef(n),155),this.b=this.a.gk().si()}function N1(){ae.call(this),iTn(this),this.d.b=this.d,this.d.a=this.d}function Pt(n,e,t,i){var r;r=new WP,r.c=e,r.b=t,r.a=i,i.b=t.a=r,++n.b}function Qu(n,e){var t;return e.b.Kb(NLn(n,e.c.Ve(),(t=new T6n(e),t)))}function aT(n){UZ(),IAn(this,Pe(mi(zd(n,24),EI)),Pe(mi(n,EI)))}function JPn(){JPn=R,LVn=Se((CT(),I(M(Dcn,1),X,421,0,[g_,FS])))}function GPn(){GPn=R,SQn=Se((j4(),I(M(IQn,1),X,501,0,[$y,P_])))}function qPn(){qPn=R,YQn=Se((yT(),I(M(Kun,1),X,419,0,[Uun,z_])))}function HPn(){HPn=R,iZn=Se((W7(),I(M(esn,1),X,416,0,[aC,nsn])))}function zPn(){zPn=R,bZn=Se((oT(),I(M(psn,1),X,417,0,[uJ,gsn])))}function UPn(){UPn=R,sZn=Se((G7(),I(M(rsn,1),X,474,0,[isn,bC])))}function KPn(){KPn=R,gZn=Se((dT(),I(M(Osn,1),X,420,0,[gJ,wJ])))}function XPn(){XPn=R,Vne=Se((U7(),I(M(don,1),X,418,0,[HJ,zJ])))}function WPn(){WPn=R,Aee=Se((Om(),I(M(Eee,1),X,516,0,[x9,F9])))}function VPn(){VPn=R,Dee=Se((go(),I(M(Lee,1),X,506,0,[vd,$o])))}function QPn(){QPn=R,Oee=Se((Wo(),I(M(Pee,1),X,507,0,[U0,u1])))}function ZPn(){ZPn=R,Xee=Se((Zf(),I(M(Kee,1),X,513,0,[Lw,ha])))}function YPn(){YPn=R,ete=Se((n0(),I(M(nte,1),X,451,0,[la,d2])))}function nOn(){nOn=R,Ste=Se((fT(),I(M(fhn,1),X,422,0,[dG,shn])))}function eOn(){eOn=R,Dte=Se((qT(),I(M(ohn,1),X,485,0,[tP,g2])))}function tOn(){tOn=R,Fte=Se((ET(),I(M(lhn,1),X,423,0,[hhn,mG])))}function iOn(){iOn=R,Jie=Se((x7(),I(M(fln,1),X,425,0,[GG,dP])))}function rOn(){rOn=R,cre=Se((uk(),I(M(Pln,1),X,424,0,[wP,Cln])))}function cOn(){cOn=R,Lie=Se((bT(),I(M(nln,1),X,476,0,[FG,Yhn])))}function dT(){dT=R,gJ=new Qz(io,0),wJ=new Qz("ALTERNATING",1)}function bT(){bT=R,FG=new sU(zen,0),Yhn=new sU("TARGET_WIDTH",1)}function wT(){wT=R,Lo=!0,FWn=!1,xWn=!1,RWn=!1,BWn=!1}function uOn(){uOn=R,lce=Se((fD(),I(M(PP,1),X,343,0,[V1n,Q1n])))}function e2e(){return Yt(),I(M(i8,1),X,86,0,[Fo,Pr,Ar,No,Gs])}function t2e(){return nn(),I(M(nr,1),sc,64,0,[qr,Un,ne,he,Kn])}function i2e(n,e,t){return u(e==null?nu(n.f,null,t):f0(n.i,e,t),286)}function r2e(n){return(n.k==(Gn(),Lt)||n.k==Wt)&&ft(n,(K(),k9))}function sOn(n,e){var t;return t=e.jd(),new xd(t,n.e.pc(t,u(e.kd(),16)))}function fOn(n,e){var t,i;return t=e.jd(),i=n.De(t),!!i&&Oc(i.e,e.kd())}function _i(n,e){var t,i;for(_n(e),i=n.Jc();i.Ob();)t=i.Pb(),e.Ad(t)}function c2e(n,e){var t,i;i=!1;do t=iNn(n,e),i=i|t;while(t);return i}function yW(n,e){var t,i;for(t=e,i=0;t>0;)i+=n.a[t],t-=t&-t;return i}function oOn(n,e){var t;for(t=e;t;)yb(n,-t.i,-t.j),t=Jt(t);return n}function fs(n,e,t){var i;return i=(Dn(e,n.c.length),n.c[e]),n.c[e]=t,i}function jW(n,e,t){n.a.c.length=0,$Ie(n,e,t),n.a.c.length==0||lTe(n,e)}function $7(n){n.i=0,q8(n.b,null),q8(n.c,null),n.a=null,n.e=null,++n.g}function u2e(n,e){var t;return t=n.a.get(e),t??_(ri,Fn,1,0,5,1)}function Ui(n){return!n.c||!n.d?!1:!!n.c.i&&n.c.i==n.d.i}function w$(n){wT(),!Lo&&(this.c=n,this.e=!0,this.a=new Y)}function hOn(n){yHn(),A7n(this),this.a=new pt,tQ(this,n),He(this.a,n)}function lOn(){NL(this),this.b=new W(Ct,Ct),this.a=new W(ai,ai)}function aOn(n,e){this.c=0,this.b=e,FEn.call(this,n,17493),this.a=this.c}function EW(n){Qfe.call(this,n==null?eu:Dr(n),O(n,80)?u(n,80):null)}function s2e(n){n&&j3e((az(),Zrn)),--MS,n&&IS!=-1&&(Vfe(IS),IS=-1)}function gg(n,e){return(G1(n),Jp(new Cn(n,new KW(e,n.a)))).zd(Y3)}function f2e(){return Oi(),I(M(Wcn,1),X,360,0,[$f,Bh,wc,gc,Sr])}function o2e(){return Xb(),I(M(HQn,1),X,368,0,[xy,oC,hC,fC,sC])}function h2e(){return RM(),I(M($te,1),X,361,0,[pG,bG,vG,wG,gG])}function l2e(){return w6(),I(M(Nie,1),X,366,0,[p2,dp,V9,W9,sj])}function a2e(){return Ik(),I(M(aln,1),X,325,0,[oln,qG,lln,HG,hln])}function d2e(){return i6(),I(M(con,1),X,324,0,[ron,_J,JJ,O9,L9])}function b2e(){return Xl(),I(M(Yun,1),X,344,0,[K_,Zun,X_,zv,Hv])}function w2e(){return $s(),I(M(Psn,1),X,171,0,[Hy,j9,fa,E9,jw])}function g2e(){return th(),I(M(_h,1),X,170,0,[Bn,ti,vh,md,yl])}function p2e(){return Ig(),I(M(s8,1),X,255,0,[wa,jj,J1n,u8,G1n])}function v2e(n){return aE(),function(){return cge(n,this,arguments)}}function AW(n,e){return O(e,149)?In(n.c,u(e,149).c):!1}function dOn(n){var e;return n.c||(e=n.r,O(e,88)&&(n.c=u(e,29))),n.c}function Du(n){return n.t||(n.t=new b7n(n),Zm(new $kn(n),0,n.t)),n.t}function m2e(n){return n.e=3,n.d=n.Yb(),n.e!=2?(n.e=0,!0):!1}function g$(n,e){var t;return t=u(mo(n.d,e),21),t||u(mo(n.e,e),21)}function k2e(n,e){var t,i;t=u(ave(n.c,e),16),t&&(i=t.gc(),t.$b(),n.d-=i)}function y2e(n){var e,t,i,r;for(t=n,i=0,r=t.length;i>22&_u,i=n<0?wl:0,_c(e,t,i)}function bOn(n){var e;return e=n.length,In(Zn.substr(Zn.length-e,e),n)}function se(n){if(de(n))return n.c=n.a,n.a.Pb();throw T(new Nr)}function g3(n,e){return e==0||n.e==0?n:e>0?NFn(n,e):kJn(n,-e)}function TW(n,e){return e==0||n.e==0?n:e>0?kJn(n,e):NFn(n,-e)}function wOn(n){this.b=n,e3.call(this,n),this.a=u(zn(this.b.a,4),128)}function gOn(n){this.b=n,ce.call(this,n),this.a=u(zn(this.b.a,4),128)}function Ef(n,e,t,i,r){mOn.call(this,e,i,r),this.c=n,this.b=t}function MW(n,e,t,i,r){mOn.call(this,e,i,r),this.c=n,this.a=t}function IW(n,e,t,i,r){GCn.call(this,e,i,r),this.c=n,this.a=t}function SW(n,e,t,i,r){qCn.call(this,e,i,r),this.c=n,this.a=t}function CW(n,e,t,i){var r;for(r=0;r<$S;r++)$A(n.a[r][e.g],t,i[e.g])}function PW(n,e,t,i){var r;for(r=0;r=0?n.Hh(i,t,!0):g0(n,e,t)}function j2e(n,e,t){return ot(Z2(q4(n),zi(e.b)),Z2(q4(n),zi(t.b)))}function E2e(n,e,t){return ot(Z2(q4(n),zi(e.e)),Z2(q4(n),zi(t.e)))}function A2e(n,e){return E.Math.min(F1(e.a,n.d.d.c),F1(e.b,n.d.d.c))}function pOn(n,e,t){var i;i=new CU(n.a),Gm(i,n.a.a),nu(i.f,e,t),n.a.a=i}function m$(n){var e;return e=new Zd,ec(e,n),q(e,(rn(),Er),null),e}function vOn(n){var e,t;return e=n.c.i,t=n.d.i,e.k==(Gn(),Wt)&&t.k==Wt}function Dm(n){var e,t;++n.j,e=n.g,t=n.i,n.g=null,n.i=0,n.Li(t,e),n.Ki()}function N7(n,e){n.Yi(n.i+1),om(n,n.i,n.Wi(n.i,e)),n.Ji(n.i++,e),n.Ki()}function ut(n,e){var t;return t=u(n.c.xc(e),16),!t&&(t=n.ic(e)),n.pc(e,t)}function OW(n,e){var t,i;return t=(_n(n),n),i=(_n(e),e),t==i?0:te)throw T(new Pc(pY(n,e,"index")));return n}function k$(n,e,t,i){var r;return r=_(Ce,Ge,30,e,15,1),k8e(r,n,e,t,i),r}function DW(n){var e;return e=n.e+n.f,isNaN(e)&&bA(n.d)?n.d:e}function b4(){b4=R;var n,e;GP=(_p(),e=new uE,e),qP=(n=new TO,n)}function gT(){gT=R,Q9=new wt("org.eclipse.elk.labels.labelManager")}function Zf(){Zf=R,Lw=new tU("REGULAR",0),ha=new tU("CRITICAL",1)}function vo(n){this.c=n,this.a=new A(this.c.a),this.b=new A(this.c.b)}function mOn(n,e,t){this.d=n,this.k=e?1:0,this.f=t?1:0,this.o=-1,this.p=0}function kOn(n,e,t){cE.call(this,t),this.b=n,this.c=e,this.d=($N(),Cq)}function yOn(n,e,t){this.a=n,this.c=e,this.d=t,Z(e.e,this),Z(t.b,this)}function pT(){this.e=new Y,this.c=new Y,this.d=new Y,this.b=new Y}function jOn(){this.g=new UH,this.b=new UH,this.a=new Y,this.k=new Y}function EOn(){this.a=new VH,this.b=new W7n,this.d=new b0n,this.e=new d0n}function AOn(n,e){FEn.call(this,e.xd(),e.wd()&-6),_n(n),this.a=n,this.b=e}function TOn(n,e){NEn.call(this,e.xd(),e.wd()&-6),_n(n),this.a=n,this.b=e}function $W(n,e){YE.call(this,e.xd(),e.wd()&-6),_n(n),this.a=n,this.b=e}function vT(n,e,t){this.a=n,this.b=e,this.c=t,Z(n.t,this),Z(e.i,this)}function F7(){this.b=new pt,this.a=new pt,this.b=new pt,this.a=new pt}function I2e(n,e){var t;return t=KIe(n,e),n.b=new XT(t.c.length),aIe(n,t)}function S2e(n,e,t){var i;return++n.e,--n.f,i=u(n.d[e].ed(t),135),i.kd()}function MOn(n){var e;return n.a||(e=n.r,O(e,155)&&(n.a=u(e,155))),n.a}function NW(n){if(n.a){if(n.e)return NW(n.e)}else return n;return null}function C2e(n,e){return n.pe.p?-1:0}function IOn(n,e){return Jc(n.a,e)?(p3(n.a,e),!0):!1}function y$(n){var e;return e=n.b,e.b==0?null:u(If(e,0),65).b}function P2e(n){var e,t;return e=n.jd(),t=u(n.kd(),16),p7(t.Lc(),new Nmn(e))}function mT(n,e){return _n(e),n.c=0,"Initial capacity must not be negative")}function COn(){COn=R,Jun=new Mt("separateLayerConnections",(eM(),$_))}function x7(){x7=R,GG=new oU("FIXED",0),dP=new oU("CENTER_NODE",1)}function yT(){yT=R,Uun=new Kz("QUADRATIC",0),z_=new Kz("SCANLINE",1)}function POn(){POn=R,VQn=Se((u0(),I(M(F_,1),X,365,0,[$0,ua,D0])))}function OOn(){OOn=R,nZn=Se((Rm(),I(M(Wun,1),X,323,0,[g9,By,Xun])))}function LOn(){LOn=R,eZn=Se((BT(),I(M(Qun,1),X,347,0,[Vun,lC,U_])))}function DOn(){DOn=R,cZn=Se((Ha(),I(M(rZn,1),X,446,0,[W_,Uv,e2])))}function $On(){$On=R,Zne=Se((cr(),I(M(Qne,1),X,449,0,[D9,Iu,Rc])))}function NOn(){NOn=R,Yne=Se((ZT(),I(M(gon,1),X,379,0,[bon,UJ,won])))}function FOn(){FOn=R,nee=Se((Km(),I(M(pon,1),X,345,0,[XJ,KJ,Qy])))}function xOn(){xOn=R,zne=Se((Xm(),I(M(ion,1),X,349,0,[xJ,ton,GC])))}function BOn(){BOn=R,eee=Se((D4(),I(M(mon,1),X,346,0,[WJ,von,$9])))}function ROn(){ROn=R,tee=Se((xT(),I(M(jon,1),X,348,0,[yon,VJ,kon])))}function _On(){_On=R,iee=Se((YT(),I(M(Eon,1),X,380,0,[QJ,u5,Ow])))}function JOn(){JOn=R,rte=Se((Um(),I(M(_on,1),X,383,0,[Ron,nG,nj])))}function GOn(){GOn=R,xte=Se((fk(),I(M(bhn,1),X,384,0,[iP,ahn,dhn])))}function qOn(){qOn=R,dZn=Se((ul(),I(M(aZn,1),X,312,0,[_y,i2,rp])))}function HOn(){HOn=R,lZn=Se((A4(),I(M(cJ,1),X,298,0,[iJ,rJ,Ry])))}function zOn(){zOn=R,rie=Se((VT(),I(M(Lhn,1),X,299,0,[AG,Ohn,Phn])))}function UOn(){UOn=R,cie=Se((vM(),I(M(Dhn,1),X,433,0,[H9,uP,TG])))}function KOn(){KOn=R,xie=Se((dk(),I(M(RG,1),X,432,0,[hP,lP,aP])))}function XOn(){XOn=R,Die=Se((AT(),I(M(iln,1),X,426,0,[xG,tln,eln])))}function WOn(){WOn=R,$ie=Se((oM(),I(M(uln,1),X,427,0,[rln,cln,BG])))}function VOn(){VOn=R,mee=Se((c0(),I(M(vee,1),X,450,0,[Zy,N9,UC])))}function QOn(){QOn=R,hie=Se((bM(),I(M(Fhn,1),X,385,0,[Nhn,LG,$hn])))}function ZOn(){ZOn=R,_Wn=Se((Ys(),I(M(Tu,1),X,131,0,[Mcn,Au,Icn])))}function YOn(){YOn=R,XWn=Se((no(),I(M(bw,1),X,236,0,[Wr,Bc,Vr])))}function nLn(){nLn=R,VWn=Se((yu(),I(M(WWn,1),X,457,0,[dh,ra,Lf])))}function eLn(){eLn=R,ZWn=Se((Zc(),I(M(QWn,1),X,458,0,[uo,ca,Df])))}function tLn(){tLn=R,rQn=Se(($m(),I(M(Xcn,1),X,382,0,[k_,m_,y_])))}function iLn(){iLn=R,Wre=Se((hl(),I(M(_1n,1),X,342,0,[EP,o1,c8])))}function rLn(){rLn=R,zre=Se((ko(),I(M(S1n,1),X,276,0,[w5,Fw,g5])))}function cLn(){cLn=R,hce=Se((M3(),I(M(W1n,1),X,278,0,[X1n,Bw,CP])))}function uLn(){uLn=R,sce=Se((Fm(),I(M(U1n,1),X,297,0,[Aj,gq,z1n])))}function Yo(n,e){return!n.o&&(n.o=new lu((uc(),zh),h1,n,0)),LN(n.o,e)}function $2e(n){return!n.g&&(n.g=new Xj),!n.g.d&&(n.g.d=new l7n(n)),n.g.d}function N2e(n){return!n.g&&(n.g=new Xj),!n.g.a&&(n.g.a=new a7n(n)),n.g.a}function F2e(n){return!n.g&&(n.g=new Xj),!n.g.b&&(n.g.b=new h7n(n)),n.g.b}function B7(n){return!n.g&&(n.g=new Xj),!n.g.c&&(n.g.c=new d7n(n)),n.g.c}function x2e(n,e,t,i){return t&&(i=t.Nh(e,At(t.zh(),n.c.rk()),null,i)),i}function B2e(n,e,t,i){return t&&(i=t.Ph(e,At(t.zh(),n.c.rk()),null,i)),i}function j$(n,e,t,i){var r;return r=_(Ce,Ge,30,e+1,15,1),UTe(r,n,e,t,i),r}function _(n,e,t,i,r,c){var f;return f=Nxn(r,i),r!=10&&I(M(n,c),e,t,r,f),f}function R2e(n,e,t){var i,r;for(r=new M4(e,n),i=0;it||e=0?n.Hh(t,!0,!0):g0(n,e,!0)}function R7(n,e){var t,i,r;return r=n.r,i=n.d,t=A6(n,e,!0),t.b!=r||t.a!=i}function oLn(n,e){return wjn(n.e,e)||Xa(n.e,e,new uxn(e)),u(mo(n.e,e),112)}function os(n,e,t,i){return _n(n),_n(e),_n(t),_n(i),new mX(n,e,new adn)}function _7(n,e,t){var i,r;return r=(i=Q4(n.b,e),i),r?dI(H7(n,r),t):null}function Y2e(n,e,t){var i,r,c;i=nl(n,t),r=null,i&&(r=fY(i)),c=r,rxn(e,t,c)}function n3e(n,e,t){var i,r,c;i=nl(n,t),r=null,i&&(r=fY(i)),c=r,rxn(e,t,c)}function lu(n,e,t,i){this.Zj(),this.a=e,this.b=n,this.c=new bX(this,e,t,i)}function M$(n,e,t,i,r,c){aW.call(this,e,i,r,c),this.c=n,this.b=t}function J7(n,e,t,i,r,c){aW.call(this,e,i,r,c),this.c=n,this.a=t}function KW(n,e){YE.call(this,e.xd(),e.wd()&-16449),_n(n),this.a=n,this.c=e}function e3e(n,e){n.a.Le(e.d,n.b)>0&&(Z(n.c,new _K(e.c,e.d,n.d)),n.b=e.d)}function I$(n){n.a=_(Ce,Ge,30,n.b+1,15,1),n.c=_(Ce,Ge,30,n.b,15,1),n.d=0}function t3e(n){jT(),u(n.mf((Je(),Nw)),181).Ec((ju(),Ej)),n.of(hq,null)}function jT(){jT=R,fre=new Opn,hre=new Lpn,ore=q4e((Je(),hq),fre,da,hre)}function ET(){ET=R,hhn=new uU("LEAF_NUMBER",0),mG=new uU("NODE_SIZE",1)}function m3(n){var e;return ye(n),O(n,204)?(e=u(n,204),e):new Kmn(n)}function i3e(n){for(;!n.a;)if(!ZTn(n.c,new j6n(n)))return!1;return!0}function r3e(n){var e;if(!n.a)throw T(new ySn);return e=n.a,n.a=Jt(n.a),e}function c3e(n){if(n.b<=0)throw T(new Nr);return--n.b,n.a-=n.c.c,tn(n.a)}function XW(n,e){if(n.g==null||e>=n.i)throw T(new CL(e,n.i));return n.g[e]}function hLn(n,e,t){if(P4(n,t),t!=null&&!n.ck(t))throw T(new jO);return t}function u3e(n,e,t){var i;return i=hNn(n,e,t),n.b=new XT(i.c.length),fnn(n,i)}function lLn(n,e){var t,i;return i=e/n.c.Pd().gc()|0,t=e%n.c.Pd().gc(),v3(n,i,t)}function g4(n,e,t,i){var r;i=(Qd(),i||mcn),r=n.slice(e,t),vY(r,n,e,t,-e,i)}function Cs(n,e,t,i,r){return e<0?g0(n,t,i):u(t,69).tk().vk(n,n.di(),e,i,r)}function s3e(n,e){return ot(N(x(m(n,(K(),x0)))),N(x(m(e,x0))))}function aLn(){aLn=R,$Wn=Se((p4(),I(M(LS,1),X,305,0,[u_,s_,f_,o_])))}function p4(){p4=R,u_=new PE("All",0),s_=new rAn,f_=new bAn,o_=new cAn}function yu(){yu=R,dh=new YO(G3,0),ra=new YO(wv,1),Lf=new YO(q3,2)}function dLn(){dLn=R,hI(),Ran=Ct,pue=ai,_an=new C8(Ct),vue=new C8(ai)}function bLn(){bLn=R,mQn=Se((Ka(),I(M(Zcn,1),X,381,0,[pw,Qcn,M_,I_])))}function wLn(){wLn=R,LQn=Se((eM(),I(M(OQn,1),X,364,0,[$_,cC,uC,Fy])))}function gLn(){gLn=R,EVn=Se((s0(),I(M(jVn,1),X,406,0,[Py,Cy,b_,w_])))}function pLn(){pLn=R,dQn=Se((I4(),I(M(aQn,1),X,405,0,[L0,gw,ww,Vg])))}function vLn(){vLn=R,qQn=Se((yo(),I(M(GQn,1),X,410,0,[ip,Rv,_v,N_])))}function mLn(){mLn=R,Une=Se((Kb(),I(M(RJ,1),X,203,0,[qC,BJ,a2,l2])))}function kLn(){kLn=R,Wne=Se((to(),I(M(aon,1),X,266,0,[gh,lon,GJ,qJ])))}function G7(){G7=R,isn=new Wz(io,0),bC=new Wz("IMPROVE_STRAIGHTNESS",1)}function q7(n){var e;for(e=n.p+1;e=0;--e)L(n,e);return gW(n)}function WW(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[0];)t=e;return t}function jLn(n){var e,t;if(!n.b)return null;for(t=n.b;e=t.a[1];)t=e;return t}function f3e(n){return O(n,179)?""+u(n,179).a:n==null?null:Dr(n)}function o3e(n){return O(n,179)?""+u(n,179).a:n==null?null:Dr(n)}function ELn(n,e){if(e.a)throw T(new Fr(tzn));li(n.a,e),e.a=n,!n.j&&(n.j=e)}function h3e(n,e){return n4(),Z(n,new Zi(e,tn(e.e.c.length+e.g.c.length)))}function l3e(n,e){return n4(),Z(n,new Zi(e,tn(e.e.c.length+e.g.c.length)))}function a3e(n,e){return new uD(e,yb(zi(e.e),e.f.a+n,e.f.b+n),(Wn(),!1))}function S$(n,e){return X7(e)!=10&&I(Zu(e),e.Pm,e.__elementTypeId$,X7(e),n),n}function ALn(){ALn=R,iie=Se((OM(),I(M(Chn,1),X,351,0,[EG,Ihn,Shn,Mhn])))}function TLn(){TLn=R,Ite=Se((zm(),I(M(uhn,1),X,350,0,[aG,eP,lG,hG])))}function MLn(){MLn=R,tte=Se((O3(),I(M(Son,1),X,396,0,[VC,B9,R9,_9])))}function ILn(){ILn=R,sie=Se((JM(),I(M(uie,1),X,398,0,[CG,MG,SG,IG])))}function SLn(){SLn=R,fce=Se((ns(),I(M(h8,1),X,378,0,[Mj,Ad,Tj,xw])))}function CLn(){CLn=R,Hre=Se((L4(),I(M(I1n,1),X,275,0,[vj,jP,T1n,M1n])))}function PLn(){PLn=R,Ure=Se((ll(),I(M(bq,1),X,220,0,[dq,mj,p5,mp])))}function OLn(){OLn=R,Qre=Se((ds(),I(M(Vre,1),X,289,0,[yj,Gh,ba,kj])))}function LLn(){LLn=R,ace=Se((dM(),I(M(ean,1),X,321,0,[vq,Z1n,nan,Y1n])))}function DLn(){DLn=R,wce=Se((iM(),I(M(bce,1),X,404,0,[mq,ian,tan,ran])))}function AT(){AT=R,xG=new jL(pUn,0),tln=new jL(bin,1),eln=new jL(io,2)}function d3e(n,e,t,i,r){return _n(n),_n(e),_n(t),_n(i),_n(r),new mX(n,e,i)}function $Ln(n,e){var t;return t=u(p3(n.e,e),391),t?(WK(t),t.e):null}function Qc(n,e){var t;return t=Yr(n,e,0),t==-1?!1:(Rl(n,t),!0)}function NLn(n,e,t){var i;return O1(n),i=new QP,i.a=e,n.a.Nb(new yjn(i,t)),i.a}function b3e(n){var e;return O1(n),e=_(ji,gr,30,0,15,1),Vw(n.a,new m6n(e)),e}function VW(n){var e;if(!K$(n))throw T(new Nr);return n.e=1,e=n.d,n.d=null,e}function Jl(n){var e;return Or(n)&&(e=0-n,!isNaN(e))?e:B1(S4(n))}function Yr(n,e,t){for(;t=0?MM(n,t,!0,!0):g0(n,e,!0)}function w3e(n,e){i3(u(u(n.f,27).mf((Je(),t8)),100))&&gFn(NX(u(n.f,27)),e)}function GLn(n,e){Nu(n,e==null||bA((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function qLn(n,e){Fu(n,e==null||bA((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function HLn(n,e){r0(n,e==null||bA((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function zLn(n,e){i0(n,e==null||bA((_n(e),e))||isNaN((_n(e),e))?0:(_n(e),e))}function ULn(n,e){for(;e[0]=0;)++e[0]}function KLn(n,e,t,i){Ye(),Dd.call(this,26),this.c=n,this.a=e,this.d=t,this.b=i}function cl(n,e,t,i,r,c,f){J$.call(this,e,i,r,c,f),this.c=n,this.b=t}function D$(n,e,t){var i;return i=n.g[e],om(n,e,n.Wi(e,t)),n.Oi(e,t,i),n.Ki(),i}function ST(n,e){var t;return t=n.bd(e),t>=0?(n.ed(t),!0):!1}function mo(n,e){var t;return t=u(Vn(n.e,e),391),t?(AAn(n,t),t.e):null}function $$(n){var e;return n.d!=n.r&&(e=ef(n),n.e=!!e&&e.ik()==vXn,n.d=e),n.e}function N$(n,e){var t;for(ye(n),ye(e),t=!1;e.Ob();)t=t|n.Ec(e.Pb());return t}function F$(n){var e;return e=n.b.c.length==0?null:un(n.b,0),e!=null&&H$(n,0),e}function Lr(n,e){var t,i;return G1(n),i=new $W(e,n.a),t=new iMn(i),new Cn(n,t)}function ul(){ul=R,_y=new sL(io,0),i2=new sL("TOP",1),rp=new sL(Oen,2)}function Nm(){Nm=R,gQn=new s0n,pQn=new f0n,bQn=new o0n,wQn=new h0n,vQn=new l0n}function X7(n){return n.__elementTypeCategory$==null?10:n.__elementTypeCategory$}function g3e(n,e,t){return Z2(new W(t.e.a+t.f.a/2,t.e.b+t.f.b/2),n)==(_n(e),e)}function p3e(n,e){var t,i,r;r=e.c.i,t=u(Vn(n.f,r),60),i=t.d.c-t.e.c,OV(e.a,i,0)}function nV(n,e){var t;for(++n.d,++n.c[e],t=e+1;tn.a[i]&&(i=t);return i}function A3e(n,e){var t;return t=o0(n.e.c,e.e.c),t==0?ot(n.e.d,e.e.d):t}function QLn(n,e){return e==(tD(),tD(),OWn)?n.toLocaleLowerCase():n.toLowerCase()}function T3e(n,e){return O(e,101)&&(u(e,19).Bb&Yi)!=0?new PL(e,n):new M4(e,n)}function M3e(n,e){return O(e,101)&&(u(e,19).Bb&Yi)!=0?new PL(e,n):new M4(e,n)}function ZLn(){ZLn=R,fQn=Se((Oi(),I(M(Wcn,1),X,360,0,[$f,Bh,wc,gc,Sr])))}function YLn(){YLn=R,tZn=Se((Xl(),I(M(Yun,1),X,344,0,[K_,Zun,X_,zv,Hv])))}function nDn(){nDn=R,zQn=Se((Xb(),I(M(HQn,1),X,368,0,[xy,oC,hC,fC,sC])))}function eDn(){eDn=R,Kne=Se((i6(),I(M(con,1),X,324,0,[ron,_J,JJ,O9,L9])))}function tDn(){tDn=R,wZn=Se(($s(),I(M(Psn,1),X,171,0,[Hy,j9,fa,E9,jw])))}function iDn(){iDn=R,Nte=Se((RM(),I(M($te,1),X,361,0,[pG,bG,vG,wG,gG])))}function rDn(){rDn=R,Fie=Se((w6(),I(M(Nie,1),X,366,0,[p2,dp,V9,W9,sj])))}function cDn(){cDn=R,Gie=Se((Ik(),I(M(aln,1),X,325,0,[oln,qG,lln,HG,hln])))}function uDn(){uDn=R,qre=Se((Yt(),I(M(i8,1),X,86,0,[Fo,Pr,Ar,No,Gs])))}function sDn(){sDn=R,tce=Se((nn(),I(M(nr,1),sc,64,0,[qr,Un,ne,he,Kn])))}function fDn(){fDn=R,Yre=Se((Ig(),I(M(s8,1),X,255,0,[wa,jj,J1n,u8,G1n])))}function oDn(){oDn=R,lre=Se((th(),I(M(_h,1),X,170,0,[Bn,ti,vh,md,yl])))}function W7(){W7=R,aC=new Xz("READING_DIRECTION",0),nsn=new Xz("ROTATION",1)}function CT(){CT=R,g_=new Hz("EADES",0),FS=new Hz("FRUCHTERMAN_REINGOLD",1)}function v4(){v4=R,ncn=_c(_u,_u,524287),vWn=_c(0,0,Zk),ecn=p$(1),p$(2),tcn=p$(0)}function x$(n,e){var t;return t=u(Vn(n.a,e),148),t||(t=new ZP,Qe(n.a,e,t)),t}function hDn(n){var e;return e=u(m(n,(K(),N0)),314),e?e.a==n:!1}function lDn(n){var e;return e=u(m(n,(K(),N0)),314),e?e.i==n:!1}function aDn(n,e){return _n(e),lX(n),n.d.Ob()?(e.Ad(n.d.Pb()),!0):!1}function PT(n){return jc(n,tt)>0?tt:jc(n,Gi)<0?Gi:Pe(n)}function xb(n){return n<3?(ls(n,FHn),n+1):n=0&&e0?e-1:e,Ukn(Tfe(NDn(zK(new B2,t),n.n),n.j),n.k)}function yr(n){var e,t;t=(e=new MO,e),pe((!n.q&&(n.q=new z(df,n,11,10)),n.q),t)}function dDn(n){this.g=n,this.f=new Y,this.a=E.Math.min(this.g.c.c,this.g.d.c)}function bDn(n){this.b=new Y,this.a=new Y,this.c=new Y,this.d=new Y,this.e=n}function wDn(n,e,t){aA.call(this),iV(this),this.a=n,this.c=t,this.b=e.d,this.f=e.e}function gDn(n){this.d=n,this.c=n.c.vc().Jc(),this.b=null,this.a=null,this.e=(hE(),VR)}function t0(n){if(n<0)throw T(new Hn("Illegal Capacity: "+n));this.g=this.Zi(n)}function P3e(){return cI(),I(M(zun,1),X,272,0,[B_,J_,x_,H_,__,R_,q_,G_])}function O3e(){return Gn(),I(M(C_,1),X,247,0,[Lt,qt,Wt,Ic,fc,Do,Dy,d9])}function L3e(){return V4(),I(M(xP,1),X,243,0,[Eq,NP,FP,$P,jq,DP,LP,yq])}function D3e(){return Qa(),I(M(are,1),X,282,0,[Lln,ci,Cr,wp,Li,Tt,bp,Jh])}function $3e(n,e){return y3(),-oc(u(m(n,(Kr(),b2)),17).a,u(m(e,b2),17).a)}function pDn(n,e){return!!Jm(n,e,Pe(Ji(Lh,Th(Pe(Ji(e==null?0:vt(e),Dh)),15))))}function tV(n){return((n.i&2)!=0?"interface ":(n.i&1)!=0?"":"class ")+(Zh(n),n.o)}function OT(n,e){var t;return G1(n),t=new DSn(n,n.a.xd(),n.a.wd()|4,e),new Cn(n,t)}function N3e(n,e){var t,i;return t=u(qb(n.d,e),16),t?(i=e,n.e.pc(i,t)):null}function LT(n,e){var t,i;for(i=n.Jc();i.Ob();)t=u(i.Pb(),72),q(t,(K(),fp),e)}function F3e(n){var e;return e=N(x(m(n,(rn(),r1)))),e<0&&(e=0,q(n,r1,e)),e}function x3e(n,e){i3(u(m(u(n.e,9),(rn(),Dt)),100))&&(Ln(),pi(u(n.e,9).j,e))}function vDn(n,e){at(n,(Ch(),OG),e.f),at(n,oie,e.e),at(n,PG,e.d),at(n,fie,e.c)}function B$(n){var e;kb(!!n.c),e=n.c.a,Qs(n.d,n.c),n.b==n.c?n.b=e:--n.a,n.c=null}function mDn(n){return n.a>=-.01&&n.a<=So&&(n.a=0),n.b>=-.01&&n.b<=So&&(n.b=0),n}function pg(n){Y4();var e,t;for(t=pin,e=0;et&&(t=n[e]);return t}function kDn(n,e){var t;if(t=$k(n.zh(),e),!t)throw T(new Hn(ea+e+dR));return t}function Bb(n,e){var t;for(t=n;Jt(t);)if(t=Jt(t),t==e)return!0;return!1}function B3e(n,e){return e&&n.b[e.g]==e?(Bt(n.b,e.g,null),--n.c,!0):!1}function Qs(n,e){var t;return t=e.c,e.a.b=e.b,e.b.a=e.a,e.a=e.b=null,e.c=null,--n.b,t}function $c(n,e){var t,i,r,c;for(_n(e),i=n.c,r=0,c=i.length;r0&&(n.a/=e,n.b/=e),n}function jDn(n,e,t){var i,r;i=e;do r=N(n.p[i.p])+t,n.p[i.p]=r,i=n.a[i.p];while(i!=e)}function U3e(n,e){if(0>n||n>e)throw T(new wz("fromIndex: 0, toIndex: "+n+jen+e))}function L(n,e){if(n.g==null||e>=n.i)throw T(new CL(e,n.i));return n.Ti(e,n.g[e])}function ko(){ko=R,w5=new TL(wv,0),Fw=new TL("HEAD",1),g5=new TL("TAIL",2)}function no(){no=R,Wr=new ZO("BEGIN",0),Bc=new ZO(wv,1),Vr=new ZO("END",2)}function EDn(){EDn=R,$S=(no(),I(M(bw,1),X,236,0,[Wr,Bc,Vr])).length,a_=$S}function iV(n){n.b=(yu(),ra),n.f=(Zc(),ca),n.d=(ls(2,cw),new Dc(2)),n.e=new Ti}function DT(n){this.b=(ye(n),new ku(n)),this.a=new Y,this.d=new Y,this.e=new Ti}function hs(n){var e;return n.w?n.w:(e=Fwe(n),e&&!e.Rh()&&(n.w=e),e)}function K3e(n){var e;return n==null?null:(e=u(n,195),N8e(e,e.length))}function k3(n){var e;return bm(n==null||Array.isArray(n)&&(e=X7(n),!(e>=14&&e<=16))),n}function X3e(n,e){var t;return t=hi(zi(u(Vn(n.g,e),8)),SU(u(Vn(n.f,e),456).b)),t}function ADn(n,e,t){var i=function(){return n.apply(i,arguments)};return e.apply(i,t),i}function W3e(n,e){return z1(),oc(n.b.c.length-n.e.c.length,e.b.c.length-e.e.c.length)}function vg(n,e){return Cfe(_m(n,e,Pe(Ji(Lh,Th(Pe(Ji(e==null?0:vt(e),Dh)),15)))))}function rV(n,e){return ao(),Tf(W1),E.Math.abs(n-e)<=W1||n==e||isNaN(n)&&isNaN(e)}function cV(n,e){return ao(),Tf(W1),E.Math.abs(n-e)<=W1||n==e||isNaN(n)&&isNaN(e)}function V3e(n,e){Ln();var t,i;for(i=new Y,t=0;t0?u(un(t.a,i-1),9):null}function FT(n,e){n.b=E.Math.max(n.b,e.d),n.e+=e.r+(n.a.c.length==0?0:n.c),Z(n.a,e)}function _Dn(n){kb(n.c>=0),H5e(n.d,n.c)<0&&(n.a=n.a-1&n.d.a.length-1,n.b=n.d.c),n.c=-1}function xm(n,e){var t,i,r,c;for(i=e,r=0,c=i.length;rt)throw T(new Ab(e,t));return new AK(n,e)}function wr(n,e,t){return Ua(n,e),Nc(n,t),Gl(n,0),Rb(n,1),Kl(n,!0),Ul(n,!0),n}function JDn(n,e){var t;return O(e,43)?n.c.Kc(e):(t=LN(n,e),mM(n,e),t)}function Tf(n){if(!(n>=0))throw T(new Hn("tolerance ("+n+") must be >= 0"));return n}function Bm(){return XG||(XG=new YJn,T3(XG,I(M(np,1),Fn,146,0,[new uH]))),XG}function xT(){xT=R,yon=new dL("NO",0),VJ=new dL(zen,1),kon=new dL("LOOK_BACK",2)}function BT(){BT=R,Vun=new rL("ARD",0),lC=new rL("MSD",1),U_=new rL("MANUAL",2)}function cr(){cr=R,D9=new hL(D6,0),Iu=new hL("INPUT",1),Rc=new hL("OUTPUT",2)}function c0(){c0=R,Zy=new wL("BARYCENTER",0),N9=new wL(Jzn,1),UC=new wL(Gzn,2)}function rpe(){return Ql(),I(M(eon,1),X,265,0,[FJ,Zfn,Yfn,NJ,Qfn,non,JC,r5,c5])}function cpe(){return Ru(),I(M(K1n,1),X,264,0,[m5,Sj,TP,l8,MP,SP,IP,pq,Ij])}function RT(n,e){return Sfe(Jm(n.a,e,Pe(Ji(Lh,Th(Pe(Ji(e==null?0:vt(e),Dh)),15)))))}function upe(n){var e,t,i,r;for(t=n.a,i=0,r=t.length;i=0}function lpe(n,e){Ln();var t;return t=new H2(1),gi(n)?mr(t,n,e):nu(t.f,n,e),new pO(t)}function ape(n){var e,t;return 0>n?new Lz:(e=n+1,t=new aOn(e,n),new tK(null,t))}function x1(){x1=R,tp=new wt(xen),RS=new wt(Ezn),a9=new wt(Azn),Oy=new wt(Tzn)}function qT(){qT=R,tP=new cU("P1_NODE_PLACEMENT",0),g2=new cU("P2_EDGE_ROUTING",1)}function u0(){u0=R,$0=new tL("START",0),ua=new tL("MIDDLE",1),D0=new tL("END",2)}function dpe(n,e){var t;t=new Gj,u(e.b,68),u(e.b,68),u(e.b,68),$c(e.a,new DK(n,t,e))}function n$n(n,e){var t,i;for(i=e.vc().Jc();i.Ob();)t=u(i.Pb(),43),Ek(n,t.jd(),t.kd())}function EV(n,e){var t;t=n.d,n.d=e,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,11,t,n.d))}function HT(n,e){var t;t=n.j,n.j=e,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,13,t,n.j))}function AV(n,e){var t;t=n.b,n.b=e,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,21,t,n.b))}function TV(n,e){n.r>0&&n.c0&&n.g!=0&&TV(n.i,e/n.r*n.i.d))}function e$n(n,e){var t;return O(e,8)?(t=u(e,8),n.a==t.a&&n.b==t.b):!1}function bpe(n){var e;return e=m(n,(K(),ct)),O(e,173)?kFn(u(e,173)):null}function t$n(n){var e;return n=E.Math.max(n,2),e=KV(n),n>e?(e<<=1,e>0?e:S6):e}function Eg(n){var e;return iD(n.f.g,n.d),ue(n.b),n.c=n.a,e=u(n.a.Pb(),43),n.b=BV(n),e}function MV(n){var e;return n.b==null?($l(),$l(),Nj):(e=n.rl()?n.ql():n.pl(),e)}function i$n(n,e){var t;return t=e==null?-1:Yr(n.b,e,0),t<0?!1:(H$(n,t),!0)}function Mf(n,e){var t;return _n(e),t=e.g,n.b[t]?!1:(Bt(n.b,t,e),++n.c,!0)}function zT(n,e){var t,i;return t=1-e,i=n.a[t],n.a[t]=i.a[e],i.a[e]=n,n.b=!0,i.b=!1,i}function H$(n,e){var t;t=Rl(n.b,n.b.c.length-1),e0?1:0:(!n.c&&(n.c=P7(nc(n.f))),n.c).e}function l$n(n,e){e?n.B==null&&(n.B=n.D,n.D=null):n.B!=null&&(n.D=n.B,n.B=null)}function kpe(n,e){typeof window===zk&&typeof window.$gwt===zk&&(window.$gwt[n]=e)}function ype(n,e){return I4(),n==L0&&e==gw||n==gw&&e==L0||n==Vg&&e==ww||n==ww&&e==Vg}function jpe(n,e){return I4(),n==L0&&e==ww||n==L0&&e==Vg||n==gw&&e==Vg||n==gw&&e==ww}function a$n(n,e){return ao(),Tf(So),E.Math.abs(0-e)<=So||e==0||isNaN(0)&&isNaN(e)?0:n/e}function d$n(n,e){return N(x(Xu(lk(Lc(new Cn(null,new Pn(n.c.b,16)),new I9n(n)),e))))}function PV(n,e){return N(x(Xu(lk(Lc(new Cn(null,new Pn(n.c.b,16)),new M9n(n)),e))))}function Epe(){return ur(),I(M(tJ,1),X,259,0,[gC,Js,v9,pC,Wv,t2,m9,Kv,Xv,vC])}function Ape(){return tf(),I(M(hon,1),X,242,0,[HC,Wy,Vy,son,fon,uon,oon,zC,z0,Pw])}function Rt(n,e,t,i,r,c,f,o,h,l,a,d,g){return SRn(n,e,t,i,r,c,f,o,h,l,a,d,g),MN(n,!1),n}function W$(n,e,t,i,r,c){var f;this.c=n,f=new Y,hZ(n,f,e,n.b,t,i,r,c),this.a=new Ai(f,0)}function Tpe(n,e,t,i){var r;r=new R2,Na(r,"x",xM(n,e,i.a)),Na(r,"y",BM(n,e,i.b)),h3(t,r)}function Mpe(n,e,t,i){var r;r=new R2,Na(r,"x",xM(n,e,i.a)),Na(r,"y",BM(n,e,i.b)),h3(t,r)}function OV(n,e,t){var i,r;for(r=me(n,0);r.b!=r.d.c;)i=u(ge(r),8),i.a+=e,i.b+=t;return n}function _m(n,e,t){var i;for(i=n.b[t&n.f];i;i=i.b)if(t==i.a&&Xo(e,i.g))return i;return null}function Jm(n,e,t){var i;for(i=n.c[t&n.f];i;i=i.d)if(t==i.f&&Xo(e,i.i))return i;return null}function b$n(n){var e,t,i;for(e=0,i=n.Jc();i.Ob();)t=i.Pb(),e+=t!=null?vt(t):0,e=~~e;return e}function Ki(n,e){var t,i,r;for(_n(e),t=!1,r=e.Jc();r.Ob();)i=r.Pb(),t=t|n.Ec(i);return t}function Ipe(n,e){var t,i;return t=u(H(n,(U1(),rP)),17),i=u(H(e,rP),17),oc(t.a,i.a)}function Spe(n,e){var t;e.Sg("General Compactor",1),t=A5e(u(H(n,(U1(),yG)),384)),t.Ag(n)}function Cpe(n,e,t){t.Sg("DFS Treeifying phase",1),F5e(n,e),fEe(n,e),n.a=null,n.b=null,t.Tg()}function Os(n,e,t,i,r,c,f){Ae.call(this,n,e),this.d=t,this.e=i,this.c=r,this.b=c,this.a=Zo(f)}function Ppe(n,e,t){var i,r,c;for(i=0,r=0;r>>31;i!=0&&(n[t]=i)}function w$n(n){var e;return n==0?"UTC":(n<0?(n=-n,e="UTC+"):e="UTC-",e+XLn(n))}function V$(n){var e;return e=oW(n),tm(e.a,0)?(db(),db(),c_):(db(),new UL(e.b))}function Q$(n){var e;return e=oW(n),tm(e.a,0)?(db(),db(),c_):(db(),new UL(e.c))}function Ope(n){var e;return e=uT(n),tm(e.a,0)?(yE(),yE(),LWn):(yE(),new uTn(e.b))}function Lpe(n){return n.b.c.i.k==(Gn(),Wt)?u(m(n.b.c.i,(K(),ct)),11):n.b.c}function g$n(n){return n.b.d.i.k==(Gn(),Wt)?u(m(n.b.d.i,(K(),ct)),11):n.b.d}function p$n(n){switch(n.g){case 2:return nn(),Kn;case 4:return nn(),ne;default:return n}}function v$n(n){switch(n.g){case 1:return nn(),he;case 3:return nn(),Un;default:return n}}function Dpe(n,e){var t;return t=XZ(n),TY(new W(t.c,t.d),new W(t.b,t.a),n.Kf(),e,n.$f())}function $pe(n,e){e.Sg(_zn,1),xQ(Jfe(new nE((R5(),new JD(n,!1,!1,new Hq))))),e.Tg()}function au(){au=R,run=new v0n,tun=new m0n,iun=new k0n,eun=new y0n,cun=new j0n,uun=new E0n}function Z$(){Z$=R,g8=new fkn,Iq=I(M(cu,1),Kg,178,0,[]),Wce=I(M(df,1),Nrn,62,0,[])}function m$n(){m$n=R,yee=eh(UEn(De(De(new Zt,(Oi(),wc),(Ni(),QS)),gc,US),Sr),VS)}function LV(){LV=R,pee=eh(UEn(De(De(new Zt,(Oi(),wc),(Ni(),QS)),gc,US),Sr),VS)}function Z7(n,e){return Wn(),gi(n)?OW(n,Me(e)):vb(n)?yD(n,x(e)):pb(n)?$de(n,sn(e)):n.Dd(e)}function Gm(n,e){var t,i;for(_n(e),i=e.vc().Jc();i.Ob();)t=u(i.Pb(),43),n.yc(t.jd(),t.kd())}function Npe(n,e,t){var i;for(i=t.Jc();i.Ob();)if(!hT(n,e,i.Pb()))return!1;return!0}function Fpe(n,e){var t;for(ye(e);n.Ob();)if(t=n.Pb(),!xV(u(t,9)))return!1;return!0}function xpe(n,e,t,i,r){var c;return t&&(c=At(e.zh(),n.c),r=t.Nh(e,-1-(c==-1?i:c),null,r)),r}function Bpe(n,e,t,i,r){var c;return t&&(c=At(e.zh(),n.c),r=t.Ph(e,-1-(c==-1?i:c),null,r)),r}function k$n(n){var e;if(n.b==-2){if(n.e==0)e=-1;else for(e=0;n.a[e]==0;e++);n.b=e}return n.b}function Rpe(n){if(_n(n),n.length==0)throw T(new Ho("Zero length BigInteger"));YAe(this,n)}function DV(n){this.i=n.gc(),this.i>0&&(this.g=this.Zi(this.i+(this.i/8|0)+1),n.Oc(this.g))}function y$n(n,e,t){this.g=n,this.d=e,this.e=t,this.a=new Y,Mke(this),Ln(),pi(this.a,null)}function j$n(n,e,t){this.b=new ae,this.f=new ae,this.c=(Xm(),GC),this.d=n,this.c=e,this.a=t}function $V(n,e,t,i){j$n.call(this,e,t,i),this.e=_(Rh,Yl,9,n.a.c.length,0,1),jo(n.a,this.e)}function NV(n,e){e.q=n,n.d=E.Math.max(n.d,e.r),n.b+=e.d+(n.a.c.length==0?0:n.c),Z(n.a,e)}function Y$(n,e){var t,i,r,c;return r=n.c,t=n.c+n.b,c=n.d,i=n.d+n.a,e.a>r&&e.ac&&e.br?t=r:Xn(e,t+1),n.a=Vs(n.a,0,e)+(""+i)+MX(n.a,t)}function qpe(n,e){var t;e.Sg("Edge and layer constraint edge reversal",1),t=pAe(n),RSe(t),e.Tg()}function Hpe(n,e){var t,i;for(i=new A(e.b);i.a1||n.Ob())return++n.a,n.g=0,e=n.i,n.Ob(),e;throw T(new Nr)}function n4e(n,e){var t;try{e.be()}catch(i){if(i=Kt(i),O(i,80))t=i,Qn(n.c,t);else throw T(i)}}function ec(n,e){var t;return e&&(t=e.lf(),t.dc()||(n.q?Gm(n.q,t):n.q=new xEn(t))),n}function e4e(n,e){var t,i,r;return t=e.p-n.p,t==0?(i=n.f.a*n.f.b,r=e.f.a*e.f.b,ot(i,r)):t}function Zs(n){var e,t,i,r;return r=n,i=0,r<0&&(r+=nd,i=wl),t=Bi(r/J3),e=Bi(r-t*J3),_c(e,t,i)}function t4e(n){return n.b.c.length!=0&&u(un(n.b,0),72).a?u(un(n.b,0),72).a:_D(n)}function FV(n,e){switch(e){case 1:return!!n.n&&n.n.i!=0;case 2:return n.k!=null}return sW(n,e)}function F$n(n){switch(n.a.g){case 1:return new Hjn;case 3:return new qxn;default:return new vmn}}function x$n(n,e){n.c&&(fGn(n,e,!0),$t(new Cn(null,new Pn(e,16)),new D9n(n))),fGn(n,e,!1)}function qa(n,e,t){this.b=(_n(n),n),this.d=(_n(e),e),this.e=(_n(t),t),this.c=this.d+(""+this.e)}function M4(n,e){this.b=n,this.e=e,this.d=e.j,this.f=(tr(),u(n,69).uk()),this.k=qc(e.e.zh(),n)}function tk(n){this.n=new Y,this.e=new pt,this.j=new pt,this.k=new Y,this.f=new Y,this.p=n}function B$n(n){n.r=new ui,n.w=new ui,n.t=new Y,n.i=new Y,n.d=new ui,n.a=new Q2,n.c=new ae}function s0(){s0=R,Py=new OE("UP",0),Cy=new OE(nB,1),b_=new OE(G3,2),w_=new OE(q3,3)}function ZT(){ZT=R,bon=new oL("EQUALLY",0),UJ=new oL("NORTH",1),won=new oL("NORTH_SOUTH",2)}function R$n(){R$n=R,Hne=Se((Ql(),I(M(eon,1),X,265,0,[FJ,Zfn,Yfn,NJ,Qfn,non,JC,r5,c5])))}function _$n(){_$n=R,oce=Se((Ru(),I(M(K1n,1),X,264,0,[m5,Sj,TP,l8,MP,SP,IP,pq,Ij])))}function yo(){yo=R,ip=new NE(wv,0),Rv=new NE(G3,1),_v=new NE(q3,2),N_=new NE("TOP",3)}function YT(){YT=R,QJ=new bL("OFF",0),u5=new bL("SINGLE_EDGE",1),Ow=new bL("MULTI_EDGE",2)}function qm(n,e,t,i,r){Bt(n.c[e.g],t.g,i),Bt(n.c[t.g],e.g,i),Bt(n.b[e.g],t.g,r),Bt(n.b[t.g],e.g,r)}function nM(n,e,t){var i,r,c,f;f=vi(n),i=f.d,r=f.c,c=n.n,e&&(c.a=c.a-i.b-r.a),t&&(c.b=c.b-i.d-r.b)}function i4e(n,e){var t,i;return t=n.j,i=e.j,t!=i?t.g-i.g:n.p==e.p?0:t==(nn(),Un)?n.p-e.p:e.p-n.p}function r4e(n){var e,t;for(uCe(n),t=new A(n.d);t.a>22),r=n.h+e.h+(i>>22),_c(t&_u,i&_u,r&wl)}function J$n(n,e){var t,i,r;return t=n.l-e.l,i=n.m-e.m+(t>>22),r=n.h-e.h+(i>>22),_c(t&_u,i&_u,r&wl)}function h4e(n){var e;if(n){if(e=n,e.dc())throw T(new Nr);return e.Xb(e.gc()-1)}return OCn(n.Jc())}function tN(n){var e;return(!n.a||(n.Bb&1)==0&&n.a.Rh())&&(e=ef(n),O(e,155)&&(n.a=u(e,155))),n.a}function Kt(n){var e;return O(n,80)?n:(e=n&&n.__java$exception,e||(e=new CNn(n),C7n(e)),e)}function iN(n){if(O(n,193))return u(n,124);if(n)return null;throw T(new _2(IKn))}function G$n(n){switch(n.g){case 0:return new vpn;case 1:return new mpn;case 2:default:return null}}function l4e(n){switch(u(m(n,(rn(),Uc)),171).g){case 2:case 4:return!0;default:return!1}}function q$n(n,e){if(e==null)return!1;for(;n.a!=n.b;)if(it(e,uM(n)))return!0;return!1}function BV(n){return n.a.Ob()?!0:n.a!=n.e?!1:(n.a=new GW(n.f.f),n.a.Ob())}function fi(n,e){var t,i;return t=e.Nc(),i=t.length,i==0?!1:(RK(n.c,n.c.length,t),!0)}function a4e(n,e){var t,i;return t=n.c,i=e.e[n.p],i=0,"Negative initial capacity"),m7(e>=0,"Non-positive load factor"),hc(this)}function k4e(n,e){var t,i;return t=u(u(Vn(n.g,e.a),47).a,68),i=u(u(Vn(n.g,e.b),47).a,68),RGn(t,i)}function y4e(n){Y4();var e,t,i;for(t=_(bi,V,8,2,0,1),i=0,e=0;e<2;e++)i+=.5,t[e]=t6e(i,n);return t}function HV(n,e,t){var i;if(i=n.gc(),e>i)throw T(new Ab(e,i));return n.Pi()&&(t=lCn(n,t)),n.Bi(e,t)}function uN(n,e,t){return n>=128?!1:n<64?im(mi(Eh(1,n),t),0):im(mi(Eh(1,n-64),e),0)}function nNn(n,e){for(;n.g==null&&!n.c?VX(n):n.g==null||n.i!=0&&u(n.g[n.i-1],49).Ob();)e.Ai(WM(n))}function zV(){this.o=null,this.k=null,this.j=null,this.d=null,this.b=null,this.n=null,this.a=null}function I4(){I4=R,L0=new LE("Q1",0),gw=new LE("Q4",1),ww=new LE("Q2",2),Vg=new LE("Q3",3)}function eM(){eM=R,$_=new $E(io,0),cC=new $E(qzn,1),uC=new $E(Hzn,2),Fy=new $E("BOTH",3)}function Ha(){Ha=R,W_=new cL(io,0),Uv=new cL("INCOMING_ONLY",1),e2=new cL("OUTGOING_ONLY",2)}function uk(){uk=R,wP=new hU("MINIMUM_SPANNING_TREE",0),Cln=new hU("MAXIMUM_SPANNING_TREE",1)}function A3(){A3=R,sre=new Apn,ure=new Mpn}function eNn(){eNn=R,hZn=Se((ur(),I(M(tJ,1),X,259,0,[gC,Js,v9,pC,Wv,t2,m9,Kv,Xv,vC])))}function tNn(){tNn=R,Xne=Se((tf(),I(M(hon,1),X,242,0,[HC,Wy,Vy,son,fon,uon,oon,zC,z0,Pw])))}function sN(){sN=R,n_={boolean:Dfe,number:Xse,string:Wse,object:ORn,function:ORn,undefined:Sse}}function j4e(n){var e,t,i,r;for(t=n.a,i=0,r=t.length;i>=1);return e}function E4e(n){var e;return n==0?"Etc/GMT":(n<0?(n=-n,e="Etc/GMT-"):e="Etc/GMT+",e+XLn(n))}function S4(n){var e,t,i;return e=~n.l+1&_u,t=~n.m+(e==0?1:0)&_u,i=~n.h+(e==0&&t==0?1:0)&wl,_c(e,t,i)}function fN(n){var e,t,i;e=~n.l+1&_u,t=~n.m+(e==0?1:0)&_u,i=~n.h+(e==0&&t==0?1:0)&wl,n.l=e,n.m=t,n.h=i}function rNn(n){var e,t;return e=n.t-n.k[n.o.p]*n.d+n.j[n.o.p]>n.f,t=n.u+n.e[n.o.p]*n.d>n.f*n.s*n.d,e||t}function Hm(n){var e;return e=n.a[n.b],e==null?null:(Bt(n.a,n.b,null),n.b=n.b+1&n.a.length-1,e)}function cNn(n){var e,t;return t=new pT,ec(t,n),q(t,(x1(),tp),n),e=new ae,sMe(n,t,e),LSe(n,t,e),t}function q(n,e,t){return t==null?(!n.q&&(n.q=new ae),p3(n.q,e)):(!n.q&&(n.q=new ae),Qe(n.q,e,t)),n}function sk(n,e,t){return t==null?(!n.q&&(n.q=new ae),p3(n.q,e)):(!n.q&&(n.q=new ae),Qe(n.q,e,t)),n}function uNn(n,e){return Z2(q4(u(m(e,(Kr(),K0)),86)),new W(n.c.e.a-n.b.e.a,n.c.e.b-n.b.e.b))<=0}function sNn(n,e,t){var i,r;return i=new T$(e,t),r=new VP,n.b=AJn(n,n.b,i,r),r.b||++n.c,n.b.b=!1,r.d}function fNn(n){var e,t;return t=Ok(n.h),t==32?(e=Ok(n.m),e==32?Ok(n.l)+32:e+20-10):t-12}function R1(n){var e,t;for(t=new A(n.a.b);t.a1||e>=0&&n.b<3)}function pNn(n){return Lo?_(NWn,ZHn,563,0,0,1):u(jo(n.a,_(NWn,ZHn,563,n.a.c.length,0,1)),835)}function L4e(n){var e,t;e=u(m(n,(K(),Mu)),9),e&&(t=e.c,Qc(t.a,e),t.a.c.length==0&&Qc(vi(e).b,t))}function ql(n){var e,t;for(e=0,t=0;tf||i+r>c)throw T(new GH)}function $4e(n,e){var t,i;return t=u(H(n,(Mo(),cj)),17).a,i=u(H(e,cj),17).a,t==i||ti?1:0}function N4e(n){return Z(n.c,(A3(),sre)),cV(n.a,N(x(cn((DN(),_C)))))?new c4n:new L8n(n)}function F4e(n){for(;!n.d||!n.d.Ob();)if(n.b&&!N5(n.b))n.d=u(f3(n.b),49);else return null;return n.d}function eQ(n){switch(n.g){case 1:return oUn;default:case 2:return 0;case 3:return hUn;case 4:return gin}}function tQ(n,e){return fJn(n,e)?(Sn(n.b,u(m(e,(K(),ml)),22),e),He(n.a,e),!0):!1}function aN(n,e){var t;return e===n?!0:O(e,228)?(t=u(e,228),it(n.Zb(),t.Zb())):!1}function x4e(n,e){return ft(n,(K(),lt))&&ft(e,lt)?u(m(e,lt),17).a-u(m(n,lt),17).a:0}function B4e(n,e){return ft(n,(K(),lt))&&ft(e,lt)?u(m(n,lt),17).a-u(m(e,lt),17).a:0}function P4(n,e){if(!n.Ii()&&e==null)throw T(new Hn("The 'no null' constraint is violated"));return e}function Ag(n,e,t){var i,r;return r=(i=new MO,i),wr(r,e,t),pe((!n.q&&(n.q=new z(df,n,11,10)),n.q),r),r}function dN(n){var e,t,i,r;for(r=Zfe(Tce,n),t=r.length,i=_(on,V,2,t,6,1),e=0;e=0&&n[i]===e[i];i--);return i<0?0:WO(mi(n[i],sr),mi(e[i],sr))?-1:1}function rQ(n,e){var t;e*2+1>=n.b.c.length||(rQ(n,2*e+1),t=2*e+2,t0&&(e.Ad(t),t.i&&Ove(t))}function _4e(n,e){var t;return!n||n==e||!ft(e,(K(),F0))?!1:(t=u(m(e,(K(),F0)),9),t!=n)}function bN(n){switch(n.i){case 2:return!0;case 1:return!1;case-1:++n.c;default:return n.Xl()}}function kNn(n,e,t){return n.d[e.p][t.p]||(Fme(n,e,t),n.d[e.p][t.p]=!0,n.d[t.p][e.p]=!0),n.a[e.p][t.p]}function O4(n,e){n.D==null&&n.B!=null&&(n.D=n.B,n.B=null),q$(n,e==null?null:(_n(e),e)),n.C&&n.el(null)}function yNn(n,e){var t;return t=new JF((n.f&256)!=0,n.i,n.a,n.d,(n.f&16)!=0,n.j,n.g,e),n.e!=null||(t.c=n),t}function wN(n,e){var t,i;return i=u(zn(n.a,4),128),t=_(Tq,PR,412,e,0,1),i!=null&&bc(i,0,t,0,i.length),t}function J4e(n,e){var t,i;for(i=n.Zb().Bc().Jc();i.Ob();)if(t=u(i.Pb(),16),t.Gc(e))return!0;return!1}function jNn(n,e,t){var i,r,c,f;for(_n(t),f=!1,c=n.dd(e),r=t.Jc();r.Ob();)i=r.Pb(),c.Rb(i),f=!0;return f}function G4e(n,e){var t;return n===e?!0:O(e,91)?(t=u(e,91),cY(Ca(n),t.vc())):!1}function ENn(n,e,t){var i,r;for(r=t.Jc();r.Ob();)if(i=u(r.Pb(),43),n.ze(e,i.kd()))return!0;return!1}function q4e(n,e,t,i){return zA(),new lz(I(M(fd,1),mI,43,0,[(YN(n,e),new xd(n,e)),(YN(t,i),new xd(t,i))]))}function gN(){gN=R,E_=sCn(I(M(i8,1),X,86,0,[(Yt(),Ar),Pr])),A_=sCn(I(M(i8,1),X,86,0,[Gs,No]))}function tM(){tM=R,R1n=new Jd(15),Xre=new Mi((Je(),f1),R1n),r8=gp,N1n=jre,F1n=yd,B1n=E2,x1n=$w}function iM(){iM=R,mq=new XE("ELK",0),ian=new XE("JSON",1),tan=new XE("DOT",2),ran=new XE("SVG",3)}function zm(){zm=R,aG=new RE(qen,0),eP=new RE(dUn,1),lG=new RE("FAN",2),hG=new RE("CONSTRAINT",3)}function Um(){Um=R,Ron=new pL(io,0),nG=new pL("MIDDLE_TO_MIDDLE",1),nj=new pL("AVOID_OVERLAP",2)}function fk(){fk=R,iP=new vL(io,0),ahn=new vL("RADIAL_COMPACTION",1),dhn=new vL("WEDGE_COMPACTION",2)}function Km(){Km=R,XJ=new lL("STACKED",0),KJ=new lL("REVERSE_STACKED",1),Qy=new lL("SEQUENCED",2)}function Ys(){Ys=R,Mcn=new QO("CONCURRENT",0),Au=new QO("IDENTITY_FINISH",1),Icn=new QO("UNORDERED",2)}function hl(){hl=R,EP=new ML(arn,0),o1=new ML("INCLUDE_CHILDREN",1),c8=new ML("SEPARATE_CHILDREN",2)}function pN(n,e,t){var i,r,c;for(i=new pt,c=me(t,0);c.b!=c.d.c;)r=u(ge(c),8),He(i,new Hi(r));jNn(n,e,i)}function H4e(n){var e,t,i;for(e=0,i=_(bi,V,8,n.b,0,1),t=me(n,0);t.b!=t.d.c;)i[e++]=u(ge(t),8);return i}function z4e(n,e){var t,i;return t=u(n.d.Ac(e),16),t?(i=n.e.hc(),i.Fc(t),n.e.d-=t.gc(),t.$b(),i):null}function ANn(n){var e;if(e=n.a.c.length,e>0)return t4(e-1,n.a.c.length),Rl(n.a,e-1);throw T(new O7n)}function cQ(n,e){var t,i;if(i=n.c[e],i!=0)for(n.c[e]=0,n.d-=i,t=e+1;te)throw T(new Hn(AI+n+YHn+e));if(n<0||e>t)throw T(new wz(AI+n+Men+e+jen+t))}function MNn(n){if(!n.a||(n.a.i&8)==0)throw T(new pr("Enumeration class expected for layout option "+n.f))}function INn(n){gCn.call(this,"The given string does not match the expected format for individual spacings.",n)}function SNn(){Jse.call(this,new JW(xb(16))),ls(2,LHn),this.b=2,this.a=new LX(null,null,0,null),O8(this.a,this.a)}function CNn(n){Lkn(),tA(this),XA(this),this.e=n,mJn(this,n),this.g=n==null?eu:Dr(n),this.a="",this.b=n,this.a=""}function PNn(n,e,t,i){mAn(this),this.c=_(Rh,Yl,9,n.a.c.length,0,1),this.e=e,jo(n.a,this.c),this.f=t,this.b=i}function sQ(n,e,t){var i,r;return Db(e,n.c.length),i=t.Nc(),r=i.length,r==0?!1:(RK(n.c,e,i),!0)}function V4e(n,e){var t,i;for(t=n.a.length-1;e!=n.b;)i=e-1&t,Bt(n.a,e,n.a[i]),e=i;Bt(n.a,n.b,null),n.b=n.b+1&t}function Q4e(n,e){var t,i;for(t=n.a.length-1,n.c=n.c-1&t;e!=n.c;)i=e+1&t,Bt(n.a,e,n.a[i]),e=i;Bt(n.a,n.c,null)}function Z4e(n){var e,t;if(n==null)return null;for(e=0,t=n.length;er&&(kBn(e.q,r),i=t!=e.q.d)),i}function BNn(n,e){var t,i,r,c,f,o,h,l;return h=e.i,l=e.j,i=n.f,r=i.i,c=i.j,f=h-r,o=l-c,t=E.Math.sqrt(f*f+o*o),t}function RNn(n,e){var t;for(t=0;t=n.c.b:n.a<=n.c.b))throw T(new Nr);return e=n.a,n.a+=n.c.c,++n.b,tn(e)}function ok(n,e){var t,i;return t=u(n.c.Ac(e),16),t?(i=n.hc(),i.Fc(t),n.d-=t.gc(),t.$b(),n.mc(i)):n.jc()}function oQ(n,e){var t,i;return i=kM(n),i||(t=(fx(),R_n(e)),i=new k7n(t),pe(i.Bl(),n)),i}function L4(){L4=R,vj=new GE(arn,0),jP=new GE("CONTAINER",1),T1n=new GE("PARENT",2),M1n=new GE("ROOT",3)}function D4(){D4=R,WJ=new aL("CONSERVATIVE",0),von=new aL("CONSERVATIVE_SOFT",1),$9=new aL("SLOPPY",2)}function Xm(){Xm=R,xJ=new fL("DUMMY_NODE_OVER",0),ton=new fL("DUMMY_NODE_UNDER",1),GC=new fL("EQUAL",2)}function hQ(){this.a=new kpn,this.f=new m8n(this),this.b=new k8n(this),this.i=new y8n(this),this.e=new j8n(this)}function lQ(n){throw sN(),T(new Skn("Unexpected typeof result '"+n+"'; please report this bug to the GWT team"))}function _Nn(n){switch(n.i){case-2:return!0;case-1:return!1;case 1:--n.c;default:return n.Yl()}}function JNn(n){var e;if(n.c!=0)return n.c;for(e=0;eQI?n-t>QI:t-n>QI}function qb(n,e){ye(n);try{return n.xc(e)}catch(t){if(t=Kt(t),O(t,211)||O(t,169))return null;throw T(t)}}function ave(n,e){ye(n);try{return n.Ac(e)}catch(t){if(t=Kt(t),O(t,211)||O(t,169))return null;throw T(t)}}function GNn(n){switch(n.g){case 0:return new wpn;case 1:return new ppn;case 2:return new gpn;default:return null}}function aQ(n,e){var t,i,r;for(r=1,t=n,i=e>=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function dve(n,e){var t,i,r;for(r=1,t=n,i=e>=0?e:-e;i>0;)i%2==0?(t*=t,i=i/2|0):(r*=t,i-=1);return e<0?1/r:r}function J1(n,e){var t,i,r,c;return c=(r=n?kM(n):null,PRn((i=e,r&&r.Dl(),i))),c==e&&(t=kM(n),t&&t.Dl()),c}function qNn(n,e,t){var i,r;return r=n.b,n.b=e,(n.Db&4)!=0&&(n.Db&1)==0&&(i=new di(n,1,3,r,e),t?t.kj(i):t=i),t}function HNn(n,e,t){var i,r;return r=n.f,n.f=e,(n.Db&4)!=0&&(n.Db&1)==0&&(i=new di(n,1,0,r,e),t?t.kj(i):t=i),t}function dQ(n,e,t){var i,r;return r=n.a,n.a=e,(n.Db&4)!=0&&(n.Db&1)==0&&(i=new di(n,1,1,r,e),t?t.kj(i):t=i),t}function zNn(n,e,t){var i,r;for(r=n.Jc();r.Ob();){if(i=u(r.Pb(),9),i==e)return-1;if(i==t)return 1}return 0}function UNn(n,e){var t;return t=new Eo(n),Xh(t,(Gn(),qt)),q(t,(K(),ct),e),q(t,(rn(),Dt),(ki(),pc)),t}function yN(n){return(nn(),iu).Gc(n.j)?N(x(m(n,(K(),Vv)))):_r(I(M(bi,1),V,8,0,[n.i.n,n.n,n.a])).b}function bve(n,e,t,i,r){e==0||i==0||(e==1?r[i]=rZ(r,t,i,n[0]):i==1?r[e]=rZ(r,n,e,t[0]):oye(n,t,r,e,i))}function wve(n,e,t,i,r,c,f,o){var h;for(h=t;c=i||e-129&&n<128?(_Mn(),e=n+128,t=scn[e],!t&&(t=scn[e]=new EH(n)),t):new EH(n)}function $4(n){var e,t;return n>-129&&n<128?(cIn(),e=n+128,t=lcn[e],!t&&(t=lcn[e]=new yH(n)),t):new yH(n)}function WNn(n,e){var t;n.c.length!=0&&(t=u(jo(n,_(Rh,Yl,9,n.c.length,0,1)),199),vU(t,new sbn),YRn(t,e))}function VNn(n,e){var t;n.c.length!=0&&(t=u(jo(n,_(Rh,Yl,9,n.c.length,0,1)),199),vU(t,new fbn),YRn(t,e))}function QNn(n,e){var t;n.a.c.length>0&&(t=u(un(n.a,n.a.c.length-1),561),tQ(t,e))||Z(n.a,new hOn(e))}function mve(n){rs();var e,t;e=n.d.c-n.e.c,t=u(n.g,152),$c(t.b,new a9n(e)),$c(t.c,new d9n(e)),_i(t.i,new b9n(e))}function ZNn(n){var e;return e=new y1,e.a+="VerticalSegment ",mc(e,n.e),e.a+=" ",xe(e,$U(new RO,new A(n.k))),e.a}function kve(n,e){var t;n.c=e,n.a=m5e(e),n.a<54&&(n.f=(t=e.d>1?fPn(e.a[0],e.a[1]):fPn(e.a[0],0),Ra(e.e>0?t:Jl(t))))}function jN(n,e){var t,i,r;for(t=0,r=Jr(n,e).Jc();r.Ob();)i=u(r.Pb(),11),t+=m(i,(K(),Mu))!=null?1:0;return t}function Mg(n,e,t){var i,r,c;for(i=0,c=me(n,0);c.b!=c.d.c&&(r=N(x(ge(c))),!(r>t));)r>=e&&++i;return i}function yve(n){var e;return e=u(mo(n.c.c,""),232),e||(e=new d3(Bp(Rp(new D2,""),"Other")),Xa(n.c.c,"",e)),e}function Wm(n){var e;return(n.Db&64)!=0?Sf(n):(e=new Xs(Sf(n)),e.a+=" (name: ",dr(e,n.zb),e.a+=")",e.a)}function bQ(n,e,t){var i,r;return r=n.sb,n.sb=e,(n.Db&4)!=0&&(n.Db&1)==0&&(i=new di(n,1,4,r,e),t?t.kj(i):t=i),t}function hk(n,e,t){var i;n.Yi(n.i+1),i=n.Wi(e,t),e!=n.i&&bc(n.g,e,n.g,e+1,n.i-e),Bt(n.g,e,i),++n.i,n.Ji(e,t),n.Ki()}function wQ(n,e,t){var i,r;return r=n.r,n.r=e,(n.Db&4)!=0&&(n.Db&1)==0&&(i=new di(n,1,8,r,n.r),t?t.kj(i):t=i),t}function jve(n,e,t){var i,r;return i=new cl(n.e,3,13,null,(r=e.c,r||(On(),Ro)),Wl(n,e),!1),t?t.kj(i):t=i,t}function Eve(n,e,t){var i,r;return i=new cl(n.e,4,13,(r=e.c,r||(On(),Ro)),null,Wl(n,e),!1),t?t.kj(i):t=i,t}function Ave(n,e){var t,i,r,c;if(e.bj(n.a),c=u(zn(n.a,8),1981),c!=null)for(t=c,i=0,r=t.length;i>1&1431655765,n=(n>>2&858993459)+(n&858993459),n=(n>>4)+n&252645135,n+=n>>8,n+=n>>16,n&63}function gQ(n,e){switch(e){case 1:!n.n&&(n.n=new z(Hr,n,1,7)),we(n.n);return;case 2:y4(n,null);return}_V(n,e)}function Vm(n,e){switch(e.g){case 2:case 1:return Jr(n,e);case 3:case 4:return Yu(Jr(n,e))}return Ln(),Ln(),Qi}function lk(n,e){var t;return t=new QP,n.a.zd(t)?(Kp(),new OO(_n(NLn(n,t.a,e)))):(O1(n),Kp(),Kp(),jcn)}function nFn(n){var e;return jc(n,0)<0&&(n=B1(Ude(Or(n)?Zs(n):n))),e=Pe(Oa(n,32)),64-(e!=0?Ok(e):Ok(Pe(n))+32)}function it(n,e){return gi(n)?In(n,e):vb(n)?YTn(n,e):pb(n)?(_n(n),F(n)===F(e)):fX(n)?n.Fb(e):iX(n)?qEn(n,e):rW(n,e)}function Tve(n,e){var t;return e.a&&(t=e.a.a.length,n.a?xe(n.a,n.b):n.a=new is(n.d),aPn(n.a,e.a,e.d.length,t)),n}function Mve(n){vI();var e,t,i,r;for(t=JN(),i=0,r=t.length;it)throw T(new Pc(AI+n+Men+e+", size: "+t));if(n>e)throw T(new Hn(AI+n+YHn+e))}function Ul(n,e){var t;t=(n.Bb&256)!=0,e?n.Bb|=256:n.Bb&=-257,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,2,t,e))}function mQ(n,e){var t;t=(n.Bb&256)!=0,e?n.Bb|=256:n.Bb&=-257,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,8,t,e))}function kQ(n,e){var t;t=(n.Bb&512)!=0,e?n.Bb|=512:n.Bb&=-513,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,9,t,e))}function Kl(n,e){var t;t=(n.Bb&512)!=0,e?n.Bb|=512:n.Bb&=-513,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,3,t,e))}function fM(n,e){var t;t=(n.Bb&256)!=0,e?n.Bb|=256:n.Bb&=-257,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,8,t,e))}function Sve(n,e,t){var i,r;return r=n.a,n.a=e,(n.Db&4)!=0&&(n.Db&1)==0&&(i=new di(n,1,5,r,n.a),t?BZ(t,i):t=i),t}function iFn(n){var e;return(n.Db&64)!=0?Sf(n):(e=new Xs(Sf(n)),e.a+=" (source: ",dr(e,n.d),e.a+=")",e.a)}function Qm(n,e){var t;return n.b==-1&&n.a&&(t=n.a.mk(),n.b=t?n.c.Dh(n.a.Ij(),t):At(n.c.zh(),n.a)),n.c.uh(n.b,e)}function rFn(n,e){var t,i;for(i=new ce(n);i.e!=i.i.gc();)if(t=u(fe(i),29),F(e)===F(t))return!0;return!1}function yQ(n){var e,t;return e=n.k,e==(Gn(),Wt)?(t=u(m(n,(K(),Qr)),64),t==(nn(),Un)||t==he):!1}function cFn(n){var e;return e=oW(n),tm(e.a,0)?(db(),db(),c_):(db(),new UL(XO(e.a,0)?DW(e)/Ra(e.a):0))}function ak(n,e){this.e=e,this.a=nFn(n),this.a<54?this.f=Ra(n):this.c=(ih(),jc(n,0)>=0?q1(n):jm(q1(Jl(n))))}function uFn(n,e,t,i,r,c){this.e=new Y,this.f=(cr(),D9),Z(this.e,n),this.d=e,this.a=t,this.b=i,this.f=r,this.c=c}function Zm(n,e,t){var i;if(i=n.gc(),e>i)throw T(new Ab(e,i));if(n.Pi()&&n.Gc(t))throw T(new Hn(ky));n.Di(e,t)}function sFn(n,e){var t,i;for(i=new ce(n);i.e!=i.i.gc();)if(t=u(fe(i),141),F(e)===F(t))return!0;return!1}function Cve(n,e,t){var i,r,c;return c=(r=Q4(n.b,e),r),c&&(i=u(dI(H7(n,c),""),29),i)?zY(n,i,e,t):null}function EN(n,e,t){var i,r,c;return c=(r=Q4(n.b,e),r),c&&(i=u(dI(H7(n,c),""),29),i)?UY(n,i,e,t):null}function Pve(n){var e,t,i;for(i=0,t=n.length,e=0;e=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:n>=48&&n<=57?n-48:0}function ot(n,e){return ne?1:n==e?n==0?ot(1/n,1/e):0:isNaN(n)?isNaN(e)?0:1:-1}function Dve(n,e){var t;if(t=$k(n,e),O(t,330))return u(t,35);throw T(new Hn(ea+e+"' is not a valid attribute"))}function jQ(n,e){switch(n.b.g){case 0:case 1:return e;case 2:case 3:return new jf(e.d,0,e.a,e.b);default:return null}}function $ve(n){switch(n){case 0:return new ekn;case 1:return new Y7n;case 2:return new nkn;default:throw T(new L8)}}function hFn(n){switch(n.g){case 2:return Pr;case 1:return Ar;case 4:return No;case 3:return Gs;default:return Fo}}function Nve(n){switch(u(m(n,(K(),hd)),312).g){case 1:q(n,hd,(ul(),rp));break;case 2:q(n,hd,(ul(),i2))}}function lFn(){lFn=R,Ote=eh(eh(q5(eh(eh(q5(De(new Zt,(O3(),B9),(m6(),YJ)),R9),Non),xon),_9),Oon),Bon)}function dk(){dk=R,hP=new AL("P1_STRUCTURE",0),lP=new AL("P2_PROCESSING_ORDER",1),aP=new AL("P3_EXECUTION",2)}function oM(){oM=R,rln=new EL("EQUAL_BETWEEN_STRUCTURES",0),cln=new EL("TO_ASPECT_RATIO",1),BG=new EL(io,2)}function M3(){M3=R,X1n=new SL("PARALLEL_NODE",0),Bw=new SL("HIERARCHICAL_NODE",1),CP=new SL("ROOT_NODE",2)}function ll(){ll=R,dq=new qE(D6,0),mj=new qE("POLYLINE",1),p5=new qE("ORTHOGONAL",2),mp=new qE("SPLINES",3)}function Yt(){Yt=R,Fo=new n7(D6,0),Pr=new n7(q3,1),Ar=new n7(G3,2),No=new n7(nB,3),Gs=new n7("UP",4)}function Fve(n,e){e.Sg("Sort end labels",1),$t(nt(Lr(new Cn(null,new Pn(n.b,16)),new z0n),new U0n),new K0n),e.Tg()}function N4(n,e){var t;t=(n.Bb&Of)!=0,e?n.Bb|=Of:n.Bb&=-1025,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,10,t,e))}function F4(n,e){var t;t=(n.Bb&uw)!=0,e?n.Bb|=uw:n.Bb&=-4097,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,12,t,e))}function x4(n,e){var t;t=(n.Bb&Q1)!=0,e?n.Bb|=Q1:n.Bb&=-2049,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,11,t,e))}function B4(n,e){var t;t=(n.Bb&pu)!=0,e?n.Bb|=pu:n.Bb&=-8193,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,15,t,e))}function AN(n,e){var t,i,r;n.d==null?(++n.e,--n.f):(r=e.jd(),t=e.xi(),i=(t&tt)%n.d.length,S2e(n,i,z_n(n,i,t,r)))}function Ym(n,e,t){var i,r;return n.Mj()?(r=n.Nj(),i=OF(n,e,t),n.Gj(n.Fj(7,tn(t),i,e,r)),i):OF(n,e,t)}function xve(n){var e,t;for(t=__n(hs(n)).Jc();t.Ob();)if(e=Me(t.Pb()),k6(n,e))return Qge((ajn(),xce),e);return null}function Bve(n){var e,t,i;for(e=new Y,i=new A(n.b);i.a=1?Pr:No):t}function Jve(n){switch(u(m(n,(rn(),kl)),220).g){case 1:return new $gn;case 3:return new Rgn;default:return new Dgn}}function EQ(n){switch(n.g){case 1:return Kn;case 2:return Un;case 3:return ne;case 4:return he;default:return qr}}function bk(n){switch(n.g){case 1:return he;case 2:return Kn;case 3:return Un;case 4:return ne;default:return qr}}function lM(n){switch(n.g){case 1:return ne;case 2:return he;case 3:return Kn;case 4:return Un;default:return qr}}function G1(n){if(n.c)G1(n.c);else if(n.d)throw T(new pr("Stream already terminated, can't be modified or used"))}function Gve(n){var e;if(!n.a)throw T(new pr("Cannot offset an unassigned cut."));e=n.c-n.b,n.b+=e,FSn(n,e),NSn(n,e)}function aFn(n,e,t){var i,r;if(n.c)QZ(n.c,e,t);else for(r=new A(n.b);r.a>10)+ny&ni,e[1]=(n&1023)+56320&ni,nh(e,0,e.length)}function R4(n,e){var t;t=(n.Bb&ch)!=0,e?n.Bb|=ch:n.Bb&=-16385,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,16,t,e))}function MN(n,e){var t;t=(n.Bb&rc)!=0,e?n.Bb|=rc:n.Bb&=-32769,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,18,t,e))}function SQ(n,e){var t;t=(n.Bb&rc)!=0,e?n.Bb|=rc:n.Bb&=-32769,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,18,t,e))}function CQ(n,e){var t;t=(n.Bb&Yi)!=0,e?n.Bb|=Yi:n.Bb&=-65537,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new Ef(n,1,20,t,e))}function IN(n){var e;return(n.Db&64)!=0?Sf(n):(e=new Xs(Sf(n)),e.a+=" (identifier: ",dr(e,n.k),e.a+=")",e.a)}function al(n){var e,t,i;for(e=new Y,i=new A(n.j);i.a34028234663852886e22?Ct:e<-34028234663852886e22?ai:e}function En(n){var e,t,i,r;return t=(e=u(Xf((i=n.Om,r=i.f,r==je?i:r)),10),new Is(e,u(yf(e,e.length),10),0)),Mf(t,n),t}function PQ(n,e){n.n.c.length==0&&Z(n.n,new iT(n.s,n.t,n.i)),Z(n.b,e),oZ(u(un(n.n,n.n.c.length-1),208),e),qGn(n,e)}function Zve(n,e,t){var i;t.Sg("Straight Line Edge Routing",1),t.ah(e,Min),i=u(H(e,(lg(),w2)),27),tqn(n,i),t.ah(e,nS)}function SN(n,e){var t,i,r;for(r=0,i=u(e.Kb(n),20).Jc();i.Ob();)t=u(i.Pb(),18),fn(sn(m(t,(K(),i1))))||++r;return r}function Yve(n,e){var t,i,r;i=bg(e),r=N(x(zb(i,(rn(),Ff)))),t=E.Math.max(0,r/2-.5),u6(e,t,1),Z(n,new Djn(e,t))}function n5e(n,e){return In(e.b&&e.c?Ba(e.b)+"->"+Ba(e.c):"e_"+vt(e),n.b&&n.c?Ba(n.b)+"->"+Ba(n.c):"e_"+vt(n))}function e5e(n,e){return In(e.b&&e.c?Ba(e.b)+"->"+Ba(e.c):"e_"+vt(e),n.b&&n.c?Ba(n.b)+"->"+Ba(n.c):"e_"+vt(n))}function o0(n,e){return ao(),Tf(W1),E.Math.abs(n-e)<=W1||n==e||isNaN(n)&&isNaN(e)?0:ne?1:_d(isNaN(n),isNaN(e))}function t5e(n){return gN(),Wn(),!!(wFn(u(n.a,82).j,u(n.b,86))||u(n.a,82).d.e!=0&&wFn(u(n.a,82).j,u(n.b,86)))}function CN(){UZ();var n,e,t;t=OPe+++Date.now(),n=Bi(E.Math.floor(t*ty))&EI,e=Bi(t-n*yen),this.a=n^1502,this.b=e^Wx}function i5e(n,e,t,i){var r,c,f;for(r=e+1;re&&i.Le(n[c-1],n[c])>0;--c)f=n[c],Bt(n,c,n[c-1]),Bt(n,c-1,f)}function mn(n,e){var t,i,r,c,f;if(t=e.f,Xa(n.c.d,t,e),e.g!=null)for(r=e.g,c=0,f=r.length;ce){iPn(t);break}}_A(t,e)}function r5e(n,e){var t;if(t=$k(n.zh(),e),O(t,101))return u(t,19);throw T(new Hn(ea+e+"' is not a valid reference"))}function aM(n,e){if(e==n.d)return n.e;if(e==n.e)return n.d;throw T(new Hn("Node "+e+" not part of edge "+n))}function c5e(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function wFn(n,e){switch(e.g){case 2:return n.b;case 1:return n.c;case 4:return n.d;case 3:return n.a;default:return!1}}function OQ(n,e,t,i){switch(e){case 3:return n.f;case 4:return n.g;case 5:return n.i;case 6:return n.j}return vQ(n,e,t,i)}function Ds(n,e,t,i){if(e<0)VY(n,t,i);else{if(!t.ok())throw T(new Hn(ea+t.ve()+X6));u(t,69).tk().zk(n,n.di(),e,i)}}function xu(n){var e;if(n.b){if(xu(n.b),n.b.d!=n.c)throw T(new As)}else n.d.dc()&&(e=u(n.f.c.xc(n.e),16),e&&(n.d=e))}function u5e(n){return n.k!=(Gn(),Lt)?!1:gg(new Cn(null,new Sb(new ee(ie(_t(n).a.Jc(),new jn)))),new jgn)}function s5e(n){return n.e==null?n:(!n.c&&(n.c=new JF((n.f&256)!=0,n.i,n.a,n.d,(n.f&16)!=0,n.j,n.g,null)),n.c)}function f5e(n,e){return n.h==Zk&&n.m==0&&n.l==0?(e&&(ta=_c(0,0,0)),zEn((v4(),ecn))):(e&&(ta=_c(n.l,n.m,n.h)),_c(0,0,0))}function Dr(n){var e;return Array.isArray(n)&&n.Qm===rb?Ma(Zu(n))+"@"+(e=vt(n)>>>0,e.toString(16)):n.toString()}function n6(n){var e;this.a=(e=u(n.e&&n.e(),10),new Is(e,u(yf(e,e.length),10),0)),this.b=_(ri,Fn,1,this.a.a.length,5,1)}function LQ(n){DN(),this.c=Zo(I(M(VPe,1),Fn,824,0,[Gne])),this.b=new ae,this.a=n,Qe(this.b,_C,1),$c(qne,new O8n(this))}function $s(){$s=R,Hy=new K8(io,0),j9=new K8("FIRST",1),fa=new K8(qzn,2),E9=new K8("LAST",3),jw=new K8(Hzn,4)}function dM(){dM=R,vq=new UE(bin,0),Z1n=new UE("GROUP_DEC",1),nan=new UE("GROUP_MIXED",2),Y1n=new UE("GROUP_INC",3)}function bM(){bM=R,Nhn=new yL("ASPECT_RATIO_DRIVEN",0),LG=new yL("MAX_SCALE_DRIVEN",1),$hn=new yL("AREA_DRIVEN",2)}function DQ(n,e,t,i,r){var c,f,o;for(f=r;e.b!=e.c;)c=u(f3(e),9),o=u(Jr(c,i).Xb(0),11),n.d[o.p]=f++,Qn(t.c,o);return f}function o5e(n){var e,t,i,r,c;return c=KZ(n),t=B8(n.c),i=!t,i&&(r=new Ea,Af(c,"knownLayouters",r),e=new s7n(r),_i(n.c,e)),c}function $Q(n,e){var t,i,r,c,f,o;for(i=0,t=0,c=e,f=0,o=c.length;f0&&(i+=r,++t);return t>1&&(i+=n.d*(t-1)),i}function NQ(n){var e,t,i;for(i=new Pl,i.a+="[",e=0,t=n.gc();e0&&(Xn(e-1,n.length),n.charCodeAt(e-1)==58)&&!PN(n,b8,w8))}function FQ(n,e){var t;return F(n)===F(e)?!0:O(e,90)?(t=u(e,90),n.e==t.e&&n.d==t.d&&n2e(n,t.a)):!1}function I3(n){switch(nn(),n.g){case 4:return Un;case 1:return ne;case 3:return he;case 2:return Kn;default:return qr}}function l5e(n){var e,t;if(n.b)return n.b;for(t=Lo?null:n.d;t;){if(e=Lo?null:t.b,e)return e;t=Lo?null:t.d}return Hp(),Tcn}function a5e(n,e){var t,i,r;for(i=OAe(n,e),r=i[i.length-1]/2,t=0;t=r)return e.c+t;return e.c+e.b.gc()}function gFn(n,e){Qp();var t,i,r,c;for(i=yLn(n),r=e,g4(i,0,i.length,r),t=0;t3;)r*=10,--c;n=(n+(r>>1))/r|0}return i.i=n,!0}function m5e(n){var e,t,i;return n.e==0?0:(e=n.d<<5,t=n.a[n.d-1],n.e<0&&(i=k$n(n),i==n.d-1&&(--t,t=t|0)),e-=Ok(t),e)}function k5e(n){var e,t,i;return n>5,e=n&31,i=_(Ce,Ge,30,t+1,15,1),i[t]=1<0?(n.Yj(),i=e==null?0:vt(e),r=(i&tt)%n.d.length,t=z_n(n,r,i,e),t!=-1):!1}function HQ(n,e){var t;return n.i>0&&(e.lengthn.i&&Bt(e,n.i,null),e}function wM(n){var e;return(n.Db&64)!=0?Wm(n):(e=new Xs(Wm(n)),e.a+=" (instanceClassName: ",dr(e,n.D),e.a+=")",e.a)}function TFn(n){var e,t;e=n.d==(L3(),Jv),t=xZ(n),e&&!t||!e&&t?q(n.a,(rn(),bh),(Sh(),hj)):q(n.a,(rn(),bh),(Sh(),oj))}function M5e(n){jT(),u(n.mf((Je(),da)),181).Gc((Ru(),IP))&&(u(n.mf(Nw),181).Ec((ju(),kp)),u(n.mf(da),181).Kc(IP))}function DN(){DN=R,jE(),_C=(rn(),H0),qne=Zo(I(M(WG,1),din,144,0,[Ky,Ff,o2,q0,Cw,PJ,t5,i5,OJ,C9,f2,pd,h2]))}function I5e(n){var e,t,i,r,c;for(t=u(n.g,674),i=n.i-1;i>=0;--i)for(e=t[i],r=0;r10||t<0?new il(1,t):AWn[t]}function eo(n,e){var t,i,r;return n.f>0&&(n.Yj(),i=e==null?0:vt(e),r=(i&tt)%n.d.length,t=SY(n,r,i,e),t)?t.kd():null}function SFn(n,e){var t,i,r;return O(e,43)?(t=u(e,43),i=t.jd(),r=qb(n.Pc(),i),Xo(r,t.kd())&&(r!=null||n.Pc()._b(i))):!1}function CFn(n){if(n.b==null){for(;n.a.Ob();)if(n.b=n.a.Pb(),!u(n.b,52).Fh())return!0;return n.b=null,!1}else return!0}function PFn(n,e,t){EDn(),X7n.call(this),this.a=Tb(KWn,[V,Cen],[587,215],0,[$S,a_],2),this.c=new Q2,this.g=n,this.f=e,this.d=t}function OFn(n){this.e=_(Ce,Ge,30,n.length,15,1),this.c=_(qu,Nh,30,n.length,16,1),this.b=_(qu,Nh,30,n.length,16,1),this.f=0}function L5e(n){var e,t;for(n.j=_(ji,gr,30,n.p.c.length,15,1),t=new A(n.p);t.a0?(E.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function NN(n,e){var t;return Or(n)&&Or(e)&&(t=n%e,Yk>5,e&=31,r=n.d+t+(e==0?0:1),i=_(Ce,Ge,30,r,15,1),S8e(i,n.a,t,e),c=new La(n.e,r,i),Sm(c),c}function _4(n,e,t){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.Le(e,c.d),t&&i==0)return c;i>=0?c=c.a[1]:(r=c,c=c.a[0])}return r}function pk(n,e,t){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.Le(e,c.d),t&&i==0)return c;i<=0?c=c.a[0]:(r=c,c=c.a[1])}return r}function x5e(n,e,t,i){var r,c,f;return r=!1,cSe(n.f,t,i)&&(ume(n.f,n.a[e][t],n.a[e][i]),c=n.a[e],f=c[i],c[i]=c[t],c[t]=f,r=!0),r}function FFn(n,e,t){var i,r,c,f;for(r=u(Vn(n.b,t),183),i=0,f=new A(e.j);f.ae?1:_d(isNaN(n),isNaN(e)))>0}function XQ(n,e){return ao(),ao(),Tf(W1),(E.Math.abs(n-e)<=W1||n==e||isNaN(n)&&isNaN(e)?0:ne?1:_d(isNaN(n),isNaN(e)))<0}function xFn(n,e){return ao(),ao(),Tf(W1),(E.Math.abs(n-e)<=W1||n==e||isNaN(n)&&isNaN(e)?0:ne?1:_d(isNaN(n),isNaN(e)))<=0}function R5e(n){var e;e=n.a;do e=u(se(new ee(ie(_t(e).a.Jc(),new jn))),18).d.i,e.k==(Gn(),qt)&&Z(n.e,e);while(e.k==(Gn(),qt))}function _5e(n,e){var t,i,r;for(i=new ee(ie(_t(n).a.Jc(),new jn));de(i);)if(t=u(se(i),18),r=t.d.i,r.c==e)return!1;return!0}function BFn(n){var e,t;return e=u(zn(n.a,4),128),e!=null?(t=_(Tq,PR,412,e.length,0,1),bc(e,0,t,0,e.length),t):Cce}function RFn(n){var e,t,i,r,c;if(n==null)return null;for(c=new Y,t=dN(n),i=0,r=t.length;i0&&this.b>0&&(this.g=IA(this.c,this.b,this.a))}function J5e(n,e){var t=n.a,i;e=String(e),t.hasOwnProperty(e)&&(i=t[e]);var r=(sN(),n_)[typeof i],c=r?r(i):lQ(typeof i);return c}function J4(n){var e,t,i;if(i=null,e=lh in n.a,t=!e,t)throw T(new qo("Every element must have an id."));return i=D3(nl(n,lh)),i}function l0(n){var e,t;for(t=aRn(n),e=null;n.c==2;)Ze(n),e||(e=(Ye(),Ye(),new sm(2)),Za(e,t),t=e),t.Gm(aRn(n));return t}function mM(n,e){var t,i,r;return n.Yj(),i=e==null?0:vt(e),r=(i&tt)%n.d.length,t=SY(n,r,i,e),t?(JDn(n,t),t.kd()):null}function GFn(n,e){var t,i,r;if(n.c)r0(n.c,e);else for(t=e-ou(n),r=new A(n.d);r.ae.e?1:n.ee.d?n.e:n.d=48&&n<48+E.Math.min(10,10)?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function eh(n,e){if(n.a<0)throw T(new pr("Did not call before(...) or after(...) before calling add(...)."));return zU(n,n.a,e),n}function QQ(n){return rT(),O(n,161)?u(Vn(Lj,CWn),293).Pg(n):Jc(Lj,Zu(n))?u(Vn(Lj,Zu(n)),293).Pg(n):null}function Gc(n){var e,t;return(n.Db&32)==0&&(t=(e=u(zn(n,16),29),oe(e||n.ei())-oe(n.ei())),t!=0&&S3(n,32,_(ri,Fn,1,t,5,1))),n}function S3(n,e,t){var i;(n.Db&e)!=0?t==null?fye(n,e):(i=rF(n,e),i==-1?n.Eb=t:Bt(k3(n.Eb),i,t)):t!=null&&EEe(n,e,t)}function Ub(n){var e,t;return jc(n,-129)>0&&jc(n,128)<0?(rIn(),e=Pe(n)+128,t=fcn[e],!t&&(t=fcn[e]=new jH(n)),t):new jH(n)}function UFn(n,e){var t;return F(e)===F(n)?!0:!O(e,22)||(t=u(e,22),t.gc()!=n.gc())?!1:n.Hc(t)}function kM(n){var e,t,i;if(i=n.Fh(),!i)for(e=0,t=n.Lh();t;t=t.Lh()){if(++e>zx)return t.Mh();if(i=t.Fh(),i||t==n)break}return i}function H5e(n,e){var t,i,r,c;return i=n.a.length-1,t=e-n.b&i,c=n.c-e&i,r=n.c-n.b&i,nTn(t=c?(Q4e(n,e),-1):(V4e(n,e),1)}function z5e(n,e,t){var i,r,c;return i=u(L($u(n.a),e),87),c=(r=i.c,r||(On(),Ro)),(c.Rh()?J1(n.b,u(c,52)):c)==t?fI(i):k4(i,t),c}function ZQ(n){switch(typeof n){case vx:return ql(n);case hen:return V2(n);case x3:return yTn(n);default:return n==null?0:qd(n)}}function U5e(n,e){return n.ee.e?1:n.fe.f?1:vt(n)-vt(e)}function yM(n,e){return _n(n),e==null?!1:In(n,e)?!0:n.length==e.length&&In(n.toLowerCase(),e.toLowerCase())}function K5e(n){if(yM(Iv,n))return Wn(),Nv;if(yM(hR,n))return Wn(),ia;throw T(new Hn("Expecting true or false"))}function Ka(){Ka=R,pw=new DE(io,0),Qcn=new DE("INSIDE_PORT_SIDE_GROUPS",1),M_=new DE("GROUP_MODEL_ORDER",2),I_=new DE(qen,3)}function X5e(n){var e;return n.b||Mfe(n,(e=Ele(n.e,n.a),!e||!In(hR,eo((!e.b&&(e.b=new Wu((On(),er),Zr,e)),e.b),"qualified")))),n.c}function W5e(n,e){var t,i;for(t=(Xn(e,n.length),n.charCodeAt(e)),i=e+1;i2e3&&(bWn=n,IS=E.setTimeout(Ffe,10))),MS++==0?(y3e((az(),Zrn)),!0):!1}function cme(n,e,t){var i;(FWn?(l5e(n),!0):xWn||RWn?(Hp(),!0):BWn&&(Hp(),!1))&&(i=new hMn(e),i.b=t,f7e(n,i))}function t6(n,e,t){X7n.call(this),this.a=_(KWn,Cen,215,(no(),I(M(bw,1),X,236,0,[Wr,Bc,Vr])).length,0,1),this.b=n,this.d=e,this.c=t}function QFn(n){this.d=new Y,this.e=new N1,this.c=_(Ce,Ge,30,(nn(),I(M(nr,1),sc,64,0,[qr,Un,ne,he,Kn])).length,15,1),this.b=n}function ZFn(n){var e;this.d=new Y,this.j=new Ti,this.g=new Ti,e=n.g.b,this.f=u(m(vi(e),(rn(),vs)),86),this.e=N(x(AM(e,Cw)))}function RN(n,e){var t;t=!n.A.Gc((ns(),Ad))||n.q==(ki(),pc),n.u.Gc((ju(),El))?t?bCe(n,e):zqn(n,e):n.u.Gc(pa)&&(t?NSe(n,e):uHn(n,e))}function YFn(n){var e;F(H(n,(Je(),k2)))===F((hl(),EP))&&(Jt(n)?(e=u(H(Jt(n),k2),342),at(n,k2,e)):at(n,k2,c8))}function ume(n,e,t){var i,r;kF(n.e,e,t,(nn(),Kn)),kF(n.i,e,t,ne),n.a&&(r=u(m(e,(K(),ct)),11),i=u(m(t,ct),11),s$(n.g,r,i))}function sme(n){var e,t;return ft(n.d.i,(rn(),Yv))?(e=u(m(n.c.i,Yv),17),t=u(m(n.d.i,Yv),17),oc(e.a,t.a)>0):!1}function nxn(n,e,t){return new jf(E.Math.min(n.a,e.a)-t/2,E.Math.min(n.b,e.b)-t/2,E.Math.abs(n.a-e.a)+t,E.Math.abs(n.b-e.b)+t)}function eZ(n,e,t){var i;switch(i=t[n.g][e],n.g){case 1:case 3:return new W(0,i);case 2:case 4:return new W(i,0);default:return null}}function fme(n,e){var t;if(t=vg(n.o,e),t==null)throw T(new qo("Node did not exist in input."));return nnn(n,e),zF(n,e),HY(n,e,t),null}function G4(n,e){var t,i;if(++n.j,e!=null&&(t=(i=n.a.Cb,O(i,98)?u(i,98).ph():null),Qke(e,t))){S3(n.a,4,t);return}S3(n.a,4,u(e,128))}function ome(n,e,t){var i,r,c,f;return c=e.j,f=t.j,c!=f?c.g-f.g:(i=n.f[e.p],r=n.f[t.p],i==0&&r==0?0:i==0?-1:r==0?1:ot(i,r))}function exn(n,e,t){var i,r,c;if(!t[e.d])for(t[e.d]=!0,r=new A(Tg(e));r.ai&&Bt(e,i,null),e}function jo(n,e){var t,i;for(i=n.c.length,e.lengthi&&Bt(e,i,null),e}function _N(n,e,t,i){var r;if(r=n.length,e>=r)return r;for(e=e>0?e:0;e0&&(Z(n.b,new MMn(e.a,t)),i=e.a.length,0i&&(e.a+=MAn(_(zs,uh,30,-i,15,1))))}function JN(){return vI(),I(M(kVn,1),X,166,0,[vVn,pVn,mVn,oVn,fVn,hVn,dVn,aVn,lVn,gVn,wVn,bVn,uVn,cVn,sVn,iVn,tVn,rVn,nVn,YWn,eVn,d_])}function q4(n){switch(n.g){case 4:return new W(0,-1);case 1:return new W(1,0);case 2:return new W(-1,0);default:return new W(0,1)}}function GN(n){switch(n.g){case 1:return Yt(),Gs;case 4:return Yt(),Ar;case 2:return Yt(),Pr;case 3:return Yt(),No}return Yt(),Fo}function dme(n){var e;switch(e=n.ej(null),e){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return-1}function th(){th=R,Bn=new Y8("PARENTS",0),ti=new Y8("NODES",1),vh=new Y8("EDGES",2),md=new Y8("PORTS",3),yl=new Y8("LABELS",4)}function Ig(){Ig=R,wa=new e7("DISTRIBUTED",0),jj=new e7("JUSTIFIED",1),J1n=new e7("BEGIN",2),u8=new e7(wv,3),G1n=new e7("END",4)}function bme(n,e,t){var i;switch(i=t.q.getFullYear()-V1+V1,i<0&&(i=-i),e){case 1:n.a+=i;break;case 2:Ih(n,i%100,2);break;default:Ih(n,i,e)}}function me(n,e){var t,i;if(Db(e,n.b),e>=n.b>>1)for(i=n.c,t=n.b;t>e;--t)i=i.b;else for(i=n.a.a,t=0;t=0?n.Sh(r):PF(n,i)):t<0?PF(n,i):u(i,69).tk().yk(n,n.di(),t)}function fxn(n){var e,t,i;for(i=(!n.o&&(n.o=new lu((uc(),zh),h1,n,0)),n.o),t=i.c.Jc();t.e!=t.i.gc();)e=u(t.Vj(),43),e.kd();return B7(i)}function cn(n){var e;if(O(n.a,4)){if(e=QQ(n.a),e==null)throw T(new pr($Un+n.b+"'. "+DUn+(Zh(Dj),Dj.k)+crn));return e}else return n.a}function mme(n){var e;if(n==null)return null;if(e=ECe(Ac(n,!0)),e==null)throw T(new FO("Invalid base64Binary value: '"+n+"'"));return e}function fe(n){var e;try{return e=n.i.Xb(n.e),n.Uj(),n.g=n.e++,e}catch(t){throw t=Kt(t),O(t,97)?(n.Uj(),T(new Nr)):T(t)}}function HN(n){var e;try{return e=n.c.Si(n.e),n.Uj(),n.g=n.e++,e}catch(t){throw t=Kt(t),O(t,97)?(n.Uj(),T(new Nr)):T(t)}}function EM(n){var e,t,i,r;for(r=0,t=0,i=n.length;t=64&&e<128&&(r=Vo(r,Eh(1,e-64)));return r}function AM(n,e){var t,i;return i=null,ft(n,(Je(),pp))&&(t=u(m(n,pp),102),t.nf(e)&&(i=t.mf(e))),i==null&&vi(n)&&(i=m(vi(n),e)),i}function kme(n,e){var t,i,r;for(r=new Dc(e.gc()),i=e.Jc();i.Ob();)t=u(i.Pb(),291),t.c==t.f?W4(n,t,t.c):x7e(n,t)||Qn(r.c,t);return r}function oxn(n,e){var t,i,r;for(t=n.o,r=u(u(ut(n.r,e),22),83).Jc();r.Ob();)i=u(r.Pb(),115),i.e.a=E6e(i,t.a),i.e.b=t.b*N(x(i.b.mf(NS)))}function yme(n,e){var t,i,r,c;return r=n.k,t=N(x(m(n,(K(),x0)))),c=e.k,i=N(x(m(e,x0))),c!=(Gn(),Wt)?-1:r!=Wt?1:t==i?0:tt.b)return!0}return!1}function Sme(n,e){var t;return t=u(m(n,(rn(),Er)),77),RL(e,kQn)?t?cs(t):(t=new Ou,q(n,Er,t)):t&&q(n,Er,null),t}function axn(n){var e;return e=new y1,e.a+="n",n.k!=(Gn(),Lt)&&xe(xe((e.a+="(",e),zL(n.k).toLowerCase()),")"),xe((e.a+="_",e),kk(n)),e.a}function i6(){i6=R,ron=new X8(bin,0),_J=new X8(lB,1),JJ=new X8("LINEAR_SEGMENTS",2),O9=new X8("BRANDES_KOEPF",3),L9=new X8(uUn,4)}function C3(n,e,t,i){var r;return t>=0?n.Oh(e,t,i):(n.Lh()&&(i=(r=n.Bh(),r>=0?n.wh(i):n.Lh().Ph(n,-1-r,null,i))),n.yh(e,t,i))}function tZ(n,e){switch(e){case 7:!n.e&&(n.e=new xn(Vt,n,7,4)),we(n.e);return;case 8:!n.d&&(n.d=new xn(Vt,n,8,5)),we(n.d);return}GQ(n,e)}function at(n,e,t){return t==null?(!n.o&&(n.o=new lu((uc(),zh),h1,n,0)),mM(n.o,e)):(!n.o&&(n.o=new lu((uc(),zh),h1,n,0)),Ek(n.o,e,t)),n}function If(n,e){var t;t=n.dd(e);try{return t.Pb()}catch(i){throw i=Kt(i),O(i,111)?T(new Pc("Can't get element "+e)):T(i)}}function dxn(n,e){var t;switch(t=u(br(n.b,e),126).n,e.g){case 1:n.t>=0&&(t.d=n.t);break;case 3:n.t>=0&&(t.a=n.t)}n.C&&(t.b=n.C.b,t.c=n.C.c)}function Cme(n){var e;e=n.a;do e=u(se(new ee(ie(oi(e).a.Jc(),new jn))),18).c.i,e.k==(Gn(),qt)&&n.b.Ec(e);while(e.k==(Gn(),qt));n.b=Yu(n.b)}function bxn(n,e){var t,i,r;for(r=n,i=new ee(ie(oi(e).a.Jc(),new jn));de(i);)t=u(se(i),18),t.c.i.c&&(r=E.Math.max(r,t.c.i.c.p));return r}function Pme(n,e){var t,i,r;for(r=0,i=u(u(ut(n.r,e),22),83).Jc();i.Ob();)t=u(i.Pb(),115),r+=t.d.d+t.b.Kf().b+t.d.a,i.Ob()&&(r+=n.w);return r}function Ome(n,e){var t,i,r;for(r=0,i=u(u(ut(n.r,e),22),83).Jc();i.Ob();)t=u(i.Pb(),115),r+=t.d.b+t.b.Kf().a+t.d.c,i.Ob()&&(r+=n.w);return r}function wxn(n){var e,t,i,r;if(i=0,r=Yb(n),r.c.length==0)return 1;for(t=new A(r);t.a=0?n.Hh(f,t,!0):g0(n,c,t)):u(c,69).tk().vk(n,n.di(),r,t,i)}function $me(n,e,t,i){var r,c;c=e.nf((Je(),j2))?u(e.mf(j2),22):n.j,r=Mve(c),r!=(vI(),d_)&&(t&&!WQ(r)||uY(Vye(n,r,i),e))}function zN(n,e){return gi(n)?!!sWn[e]:n.Pm?!!n.Pm[e]:vb(n)?!!uWn[e]:pb(n)?!!cWn[e]:!1}function Nme(n){switch(n.g){case 1:return s0(),Py;case 3:return s0(),Cy;case 2:return s0(),w_;case 4:return s0(),b_;default:return null}}function Fme(n,e,t){if(n.e)switch(n.b){case 1:X0e(n.c,e,t);break;case 0:W0e(n.c,e,t)}else DPn(n.c,e,t);n.a[e.p][t.p]=n.c.i,n.a[t.p][e.p]=n.c.e}function pxn(n){var e,t;if(n==null)return null;for(t=_(Rh,V,199,n.length,0,2),e=0;e=r)throw T(new Ab(e,r));if(n.Pi()&&(i=n.bd(t),i>=0&&i!=e))throw T(new Hn(ky));return n.Ui(e,t)}function Wl(n,e){var t,i,r;if(r=Zxn(n,e),r>=0)return r;if(n.ll()){for(i=0;i0||n==(CO(),UR)||e==(PO(),KR))throw T(new Hn("Invalid range: "+OPn(n,e)))}function rZ(n,e,t,i){nv();var r,c;for(r=0,c=0;c0),(e&-e)==e)return Bi(e*Bu(n,31)*4656612873077393e-25);do t=Bu(n,31),i=t%e;while(t-i+(e-1)<0);return Bi(i)}function Bme(n,e){var t,i,r;for(t=Gd(new Ta,n),r=new A(e);r.a1&&(c=Bme(n,e)),c}function qme(n){var e,t,i;for(e=0,i=new A(n.c.a);i.a102?-1:n<=57?n-48:n<65?-1:n<=70?n-65+10:n<97?-1:n-97+10}function YN(n,e){if(n==null)throw T(new _2("null key in entry: null="+e));if(e==null)throw T(new _2("null value in entry: "+n+"=null"))}function Kme(n,e){for(var t,i;n.Ob();)if(!e.Ob()||(t=n.Pb(),i=e.Pb(),!(F(t)===F(i)||t!=null&&it(t,i))))return!1;return!e.Ob()}function Axn(n,e){var t;return t=I(M(ji,1),gr,30,15,[vN(n.a[0],e),vN(n.a[1],e),vN(n.a[2],e)]),n.d&&(t[0]=E.Math.max(t[0],t[2]),t[2]=t[0]),t}function Txn(n,e){var t;return t=I(M(ji,1),gr,30,15,[cM(n.a[0],e),cM(n.a[1],e),cM(n.a[2],e)]),n.d&&(t[0]=E.Math.max(t[0],t[2]),t[2]=t[0]),t}function fZ(n,e,t){i3(u(m(e,(rn(),Dt)),100))||(jW(n,e,Vl(e,t)),jW(n,e,Vl(e,(nn(),he))),jW(n,e,Vl(e,Un)),Ln(),pi(e.j,new O9n(n)))}function Mxn(n){var e,t;for(n.c||DIe(n),t=new Ou,e=new A(n.a),j(e);e.a0&&(Xn(0,e.length),e.charCodeAt(0)==43)?(Xn(1,e.length+1),e.substr(1)):e))}function u6e(n){var e;return n==null?null:new I1((e=Ac(n,!0),e.length>0&&(Xn(0,e.length),e.charCodeAt(0)==43)?(Xn(1,e.length+1),e.substr(1)):e))}function hZ(n,e,t,i,r,c,f,o){var h,l;i&&(h=i.a[0],h&&hZ(n,e,t,h,r,c,f,o),fF(n,t,i.d,r,c,f,o)&&e.Ec(i),l=i.a[1],l&&hZ(n,e,t,l,r,c,f,o))}function r6(n,e){var t,i,r,c;for(c=n.gc(),e.lengthc&&Bt(e,c,null),e}function s6e(n,e){var t,i;if(i=n.gc(),e==null){for(t=0;t0&&(h+=r),l[a]=f,f+=o*(h+i)}function Oxn(n){var e,t,i;for(i=n.f,n.n=_(ji,gr,30,i,15,1),n.d=_(ji,gr,30,i,15,1),e=0;e0?n.c:0),++r;n.b=i,n.d=c}function Bxn(n,e){var t;return t=I(M(ji,1),gr,30,15,[cZ(n,(no(),Wr),e),cZ(n,Bc,e),cZ(n,Vr,e)]),n.f&&(t[0]=E.Math.max(t[0],t[2]),t[2]=t[0]),t}function Rxn(n){var e;ft(n,(rn(),_0))&&(e=u(m(n,_0),22),e.Gc((Zb(),Bf))?(e.Kc(Bf),e.Ec(Rf)):e.Gc(Rf)&&(e.Kc(Rf),e.Ec(Bf)))}function _xn(n){var e;ft(n,(rn(),_0))&&(e=u(m(n,_0),22),e.Gc((Zb(),Jf))?(e.Kc(Jf),e.Ec(hf)):e.Gc(hf)&&(e.Kc(hf),e.Ec(Jf)))}function cF(n,e,t,i){var r,c,f,o;return n.a==null&&a7e(n,e),f=e.b.j.c.length,c=t.d.p,o=i.d.p,r=o-1,r<0&&(r=f-1),c<=r?n.a[r]-n.a[c]:n.a[f-1]-n.a[c]+n.a[r]}function w6e(n){var e;for(e=0;e0&&(r.b+=e),r}function DM(n,e){var t,i,r;for(r=new Ti,i=n.Jc();i.Ob();)t=u(i.Pb(),36),ev(t,0,r.b),r.b+=t.f.b+e,r.a=E.Math.max(r.a,t.f.a);return r.a>0&&(r.a+=e),r}function Gxn(n,e){var t,i;if(e.length==0)return 0;for(t=FD(n.a,e[0],(nn(),Kn)),t+=FD(n.a,e[e.length-1],ne),i=0;i>16==6?n.Cb.Ph(n,5,oo,e):(i=ir(u($n((t=u(zn(n,16),29),t||n.ei()),n.Db>>16),19)),n.Cb.Ph(n,i.n,i.f,e))}function y6e(n){h4();var e=n.e;if(e&&e.stack){var t=e.stack,i=e+`
+`;return t.substring(0,i.length)==i&&(t=t.substring(i.length)),t.split(`
+`)}return[]}function j6e(n){var e;return e=(ZDn(),mWn),e[n>>>28]|e[n>>24&15]<<4|e[n>>20&15]<<8|e[n>>16&15]<<12|e[n>>12&15]<<16|e[n>>8&15]<<20|e[n>>4&15]<<24|e[n&15]<<28}function Hxn(n){var e,t,i;n.b==n.c&&(i=n.a.length,t=KV(E.Math.max(8,i))<<1,n.b!=0?(e=yf(n.a,t),s$n(n,e,i),n.a=e,n.b=0):sb(n.a,t),n.c=i)}function E6e(n,e){var t;return t=n.b,t.nf((Je(),Ju))?t.$f()==(nn(),Kn)?-t.Kf().a-N(x(t.mf(Ju))):e+N(x(t.mf(Ju))):t.$f()==(nn(),Kn)?-t.Kf().a:e}function kk(n){var e;return n.b.c.length!=0&&u(un(n.b,0),72).a?u(un(n.b,0),72).a:(e=_D(n),e??""+(n.c?Yr(n.c.a,n,0):-1))}function $M(n){var e;return n.f.c.length!=0&&u(un(n.f,0),72).a?u(un(n.f,0),72).a:(e=_D(n),e??""+(n.i?Yr(n.i.j,n,0):-1))}function A6e(n,e){var t,i;if(e<0||e>=n.gc())return null;for(t=e;t0?n.c:0),r=E.Math.max(r,e.d),++i;n.e=c,n.b=r}function T6e(n){var e,t;if(!n.b)for(n.b=sT(u(n.f,124).ih().i),t=new ce(u(n.f,124).ih());t.e!=t.i.gc();)e=u(fe(t),153),Z(n.b,new $O(e));return n.b}function M6e(n,e){var t,i,r;if(e.dc())return Qp(),Qp(),$j;for(t=new STn(n,e.gc()),r=new ce(n);r.e!=r.i.gc();)i=fe(r),e.Gc(i)&&pe(t,i);return t}function dZ(n,e,t,i){return e==0?i?(!n.o&&(n.o=new lu((uc(),zh),h1,n,0)),n.o):(!n.o&&(n.o=new lu((uc(),zh),h1,n,0)),B7(n.o)):MM(n,e,t,i)}function sF(n){var e,t;if(n.rb)for(e=0,t=n.rb.i;e>22),r+=i>>22,r<0)?!1:(n.l=t&_u,n.m=i&_u,n.h=r&wl,!0)}function fF(n,e,t,i,r,c,f){var o,h;return!(e.Re()&&(h=n.a.Le(t,i),h<0||!r&&h==0)||e.Se()&&(o=n.a.Le(t,c),o>0||!f&&o==0))}function P6e(n,e){C4();var t;if(t=n.j.g-e.j.g,t!=0)return 0;switch(n.j.g){case 2:return SN(e,Hun)-SN(n,Hun);case 4:return SN(n,qun)-SN(e,qun)}return 0}function O6e(n){switch(n.g){case 0:return V_;case 1:return Q_;case 2:return Z_;case 3:return Y_;case 4:return dC;case 5:return nJ;default:return null}}function jr(n,e,t){var i,r;return i=(r=new IO,Ua(r,e),Nc(r,t),pe((!n.c&&(n.c=new z(X0,n,12,10)),n.c),r),r),Gl(i,0),Rb(i,1),Kl(i,!0),Ul(i,!0),i}function P3(n,e){var t,i;if(e>=n.i)throw T(new CL(e,n.i));return++n.j,t=n.g[e],i=n.i-e-1,i>0&&bc(n.g,e+1,n.g,e,i),Bt(n.g,--n.i,null),n.Ni(e,t),n.Ki(),t}function zxn(n,e){var t,i;return n.Db>>16==17?n.Cb.Ph(n,21,af,e):(i=ir(u($n((t=u(zn(n,16),29),t||n.ei()),n.Db>>16),19)),n.Cb.Ph(n,i.n,i.f,e))}function L6e(n){var e,t,i,r;for(Ln(),pi(n.c,n.a),r=new A(n.c);r.at.a.c.length))throw T(new Hn("index must be >= 0 and <= layer node count"));n.c&&Qc(n.c.a,n),n.c=t,t&&Sa(t.a,e,n)}function Yxn(n,e){this.c=new ae,this.a=n,this.b=e,this.d=u(m(n,(K(),u2)),313),F(m(n,(rn(),Lfn)))===F((G7(),bC))?this.e=new Z7n:this.e=new Q7n}function oF(n,e){var t,i;t=n.dd(e);try{return i=t.Pb(),t.Qb(),i}catch(r){throw r=Kt(r),O(r,111)?T(new Pc("Can't remove element "+e)):T(r)}}function R6e(n,e){var t,i,r;if(i=new kE,r=new QV(i.q.getFullYear()-V1,i.q.getMonth(),i.q.getDate()),t=yMe(n,e,r),t==0||t0?e:0),++t;return new W(i,r)}function c6(n,e){var t,i;return i=null,n.nf((Je(),pp))&&(t=u(n.mf(pp),102),t.nf(e)&&(i=t.mf(e))),i==null&&n.Rf()&&(i=n.Rf().mf(e)),i==null&&(i=cn(e)),i}function vZ(n,e){var t,i;return n.Db>>16==6?n.Cb.Ph(n,6,Vt,e):(i=ir(u($n((t=u(zn(n,16),29),t||(uc(),OP)),n.Db>>16),19)),n.Cb.Ph(n,i.n,i.f,e))}function mZ(n,e){var t,i;return n.Db>>16==7?n.Cb.Ph(n,1,Cj,e):(i=ir(u($n((t=u(zn(n,16),29),t||(uc(),uan)),n.Db>>16),19)),n.Cb.Ph(n,i.n,i.f,e))}function kZ(n,e){var t,i;return n.Db>>16==9?n.Cb.Ph(n,9,We,e):(i=ir(u($n((t=u(zn(n,16),29),t||(uc(),fan)),n.Db>>16),19)),n.Cb.Ph(n,i.n,i.f,e))}function tBn(n,e){var t,i;return n.Db>>16==5?n.Cb.Ph(n,9,_P,e):(i=ir(u($n((t=u(zn(n,16),29),t||(On(),a1)),n.Db>>16),19)),n.Cb.Ph(n,i.n,i.f,e))}function iBn(n,e){var t,i;return n.Db>>16==7?n.Cb.Ph(n,6,oo,e):(i=ir(u($n((t=u(zn(n,16),29),t||(On(),b1)),n.Db>>16),19)),n.Cb.Ph(n,i.n,i.f,e))}function yZ(n,e){var t,i;return n.Db>>16==3?n.Cb.Ph(n,0,Oj,e):(i=ir(u($n((t=u(zn(n,16),29),t||(On(),l1)),n.Db>>16),19)),n.Cb.Ph(n,i.n,i.f,e))}function jZ(n,e){var t,i;return n.Db>>16==3?n.Cb.Ph(n,12,We,e):(i=ir(u($n((t=u(zn(n,16),29),t||(uc(),can)),n.Db>>16),19)),n.Cb.Ph(n,i.n,i.f,e))}function G6e(n,e,t){var i,r,c;for(t<0&&(t=0),c=n.i,r=t;rzx)return H4(n,i);if(i==n)return!0}}return!1}function H6e(n){switch(hA(),n.q.g){case 5:zRn(n,(nn(),Un)),zRn(n,he);break;case 4:V_n(n,(nn(),Un)),V_n(n,he);break;default:Wqn(n,(nn(),Un)),Wqn(n,he)}}function z6e(n){switch(hA(),n.q.g){case 5:h_n(n,(nn(),ne)),h_n(n,Kn);break;case 4:oxn(n,(nn(),ne)),oxn(n,Kn);break;default:Vqn(n,(nn(),ne)),Vqn(n,Kn)}}function U6e(n){var e,t;e=u(m(n,(Pf(),JVn)),17),e?(t=e.a,t==0?q(n,(x1(),RS),new CN):q(n,(x1(),RS),new aT(t))):q(n,(x1(),RS),new aT(1))}function K6e(n,e){var t;switch(t=n.i,e.g){case 1:return-(n.n.b+n.o.b);case 2:return n.n.a-t.o.a;case 3:return n.n.b-t.o.b;case 4:return-(n.n.a+n.o.a)}return 0}function X6e(n,e){switch(n.g){case 0:return e==($s(),fa)?cC:uC;case 1:return e==($s(),fa)?cC:Fy;case 2:return e==($s(),fa)?Fy:uC;default:return Fy}}function jk(n,e){var t,i,r;for(Qc(n.a,e),n.e-=e.r+(n.a.c.length==0?0:n.c),r=Iin,i=new A(n.a);i.a>16==11?n.Cb.Ph(n,10,We,e):(i=ir(u($n((t=u(zn(n,16),29),t||(uc(),san)),n.Db>>16),19)),n.Cb.Ph(n,i.n,i.f,e))}function rBn(n,e){var t,i;return n.Db>>16==10?n.Cb.Ph(n,11,af,e):(i=ir(u($n((t=u(zn(n,16),29),t||(On(),d1)),n.Db>>16),19)),n.Cb.Ph(n,i.n,i.f,e))}function cBn(n,e){var t,i;return n.Db>>16==10?n.Cb.Ph(n,12,df,e):(i=ir(u($n((t=u(zn(n,16),29),t||(On(),qw)),n.Db>>16),19)),n.Cb.Ph(n,i.n,i.f,e))}function uBn(n,e){var t,i,r,c,f;if(e)for(r=e.a.length,t=new Pa(r),f=(t.b-t.a)*t.c<0?(T1(),ja):new C1(t);f.Ob();)c=u(f.Pb(),17),i=a4(e,c.a),i&&H_n(n,i)}function e9e(){xz();var n,e;for(oPe((P1(),Jn)),ZCe(Jn),sF(Jn),jan=(On(),Ro),e=new A(Oan);e.a>19,l=e.h>>19,h!=l?l-h:(r=n.h,o=e.h,r!=o?r-o:(i=n.m,f=e.m,i!=f?i-f:(t=n.l,c=e.l,t-c)))}function sBn(n,e,t){var i,r,c,f,o;for(r=n[t.g],o=new A(e.d);o.a0?n.b:0),++t;e.b=i,e.e=r}function fBn(n){var e,t,i;if(i=n.b,Uyn(n.i,i.length)){for(t=i.length*2,n.b=_(WR,Vk,304,t,0,1),n.c=_(WR,Vk,304,t,0,1),n.f=t-1,n.i=0,e=n.a;e;e=e.c)Pk(n,e,e);++n.g}}function s6(n,e){return n.b.a=E.Math.min(n.b.a,e.c),n.b.b=E.Math.min(n.b.b,e.d),n.a.a=E.Math.max(n.a.a,e.c),n.a.b=E.Math.max(n.a.b,e.d),Qn(n.c,e),!0}function i9e(n,e,t){var i;i=e.c.i,i.k==(Gn(),qt)?(q(n,(K(),so),u(m(i,so),11)),q(n,ff,u(m(i,ff),11))):(q(n,(K(),so),e.c),q(n,ff,t.d))}function z4(n,e,t){Y4();var i,r,c,f,o,h;return f=e/2,c=t/2,i=E.Math.abs(n.a),r=E.Math.abs(n.b),o=1,h=1,i>f&&(o=f/i),r>c&&(h=c/r),S1(n,E.Math.min(o,h)),n}function r9e(){hI();var n,e;try{if(e=u($Z((A1(),bf),Cv),2059),e)return e}catch(t){if(t=Kt(t),O(t,103))n=t,yX((Te(),n));else throw T(t)}return new p4n}function c9e(){hI();var n,e;try{if(e=u($Z((A1(),bf),cf),1986),e)return e}catch(t){if(t=Kt(t),O(t,103))n=t,yX((Te(),n));else throw T(t)}return new q4n}function u9e(){dLn();var n,e;try{if(e=u($Z((A1(),bf),sd),2068),e)return e}catch(t){if(t=Kt(t),O(t,103))n=t,yX((Te(),n));else throw T(t)}return new Fvn}function s9e(n,e,t){var i,r;return r=n.e,n.e=e,(n.Db&4)!=0&&(n.Db&1)==0&&(i=new di(n,1,4,r,e),t?t.kj(i):t=i),r!=e&&(e?t=uv(n,VM(n,e),t):t=uv(n,n.a,t)),t}function oBn(){kE.call(this),this.e=-1,this.a=!1,this.p=Gi,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=Gi}function f9e(n,e){var t,i,r;if(i=n.b.d.d,n.a||(i+=n.b.d.a),r=e.b.d.d,e.a||(r+=e.b.d.a),t=ot(i,r),t==0){if(!n.a&&e.a)return-1;if(!e.a&&n.a)return 1}return t}function o9e(n,e){var t,i,r;if(i=n.b.b.d,n.a||(i+=n.b.b.a),r=e.b.b.d,e.a||(r+=e.b.b.a),t=ot(i,r),t==0){if(!n.a&&e.a)return-1;if(!e.a&&n.a)return 1}return t}function h9e(n,e){var t,i,r;if(i=n.b.g.d,n.a||(i+=n.b.g.a),r=e.b.g.d,e.a||(r+=e.b.g.a),t=ot(i,r),t==0){if(!n.a&&e.a)return-1;if(!e.a&&n.a)return 1}return t}function TZ(){TZ=R,cQn=hu(De(De(De(new Zt,(Oi(),gc),(Ni(),Cun)),gc,Pun),Sr,Oun),Sr,vun),sQn=De(De(new Zt,gc,lun),gc,mun),uQn=hu(new Zt,Sr,yun)}function l9e(n){var e,t,i,r,c;for(e=u(m(n,(K(),k9)),91),c=n.n,i=e.Bc().Jc();i.Ob();)t=u(i.Pb(),315),r=t.i,r.c+=c.a,r.d+=c.b,t.c?NJn(t):FJn(t);q(n,k9,null)}function a9e(n,e,t){var i,r;switch(r=n.b,i=r.d,e.g){case 1:return-i.d-t;case 2:return r.o.a+i.c+t;case 3:return r.o.b+i.a+t;case 4:return-i.b-t;default:return-1}}function hBn(n,e){var t,i;for(i=new A(e);i.a0&&(f=(c&tt)%n.d.length,r=SY(n,f,c,e),r)?(o=r.ld(t),o):(i=n._j(c,e,t),n.c.Ec(i),null)}function SZ(n,e){var t,i,r,c;switch(zl(n,e).Hl()){case 3:case 2:{for(t=Fg(e),r=0,c=t.i;r=0;i--)if(In(n[i].d,e)||In(n[i].d,t)){n.length>=i+1&&n.splice(0,i+1);break}return n}function Ak(n,e){var t;return Or(n)&&Or(e)&&(t=n/e,Yk0&&(n.b+=2,n.a+=i):(n.b+=1,n.a+=E.Math.min(i,r))}function pBn(n,e){var t,i;if(i=!1,gi(e)&&(i=!0,h3(n,new Cb(Me(e)))),i||O(e,241)&&(i=!0,h3(n,(t=YL(u(e,241)),new Qj(t)))),!i)throw T(new NO(Arn))}function C9e(n,e,t,i){var r,c,f;return r=new cl(n.e,1,10,(f=e.c,O(f,88)?u(f,29):(On(),wf)),(c=t.c,O(c,88)?u(c,29):(On(),wf)),Wl(n,e),!1),i?i.kj(r):i=r,i}function OZ(n){var e,t;switch(u(m(vi(n),(rn(),Afn)),417).g){case 0:return e=n.n,t=n.o,new W(e.a+t.a/2,e.b+t.b/2);case 1:return new Hi(n.n);default:return null}}function Tk(){Tk=R,wC=new W5(io,0),usn=new W5("LEFTUP",1),fsn=new W5("RIGHTUP",2),csn=new W5("LEFTDOWN",3),ssn=new W5("RIGHTDOWN",4),eJ=new W5("BALANCED",5)}function P9e(n,e,t){var i,r,c;if(i=ot(n.a[e.p],n.a[t.p]),i==0){if(r=u(m(e,(K(),sp)),15),c=u(m(t,sp),15),r.Gc(t))return-1;if(c.Gc(e))return 1}return i}function O9e(n){switch(n.g){case 1:return new V3n;case 2:return new Q3n;case 3:return new W3n;case 0:return null;default:throw T(new Hn(VB+(n.f!=null?n.f:""+n.g)))}}function LZ(n,e,t){switch(e){case 1:!n.n&&(n.n=new z(Hr,n,1,7)),we(n.n),!n.n&&(n.n=new z(Hr,n,1,7)),Nt(n.n,u(t,16));return;case 2:y4(n,Me(t));return}ZV(n,e,t)}function DZ(n,e,t){switch(e){case 3:i0(n,N(x(t)));return;case 4:r0(n,N(x(t)));return;case 5:Nu(n,N(x(t)));return;case 6:Fu(n,N(x(t)));return}LZ(n,e,t)}function NM(n,e,t){var i,r,c;c=(i=new IO,i),r=Ao(c,e,null),r&&r.lj(),Nc(c,t),pe((!n.c&&(n.c=new z(X0,n,12,10)),n.c),c),Gl(c,0),Rb(c,1),Kl(c,!0),Ul(c,!0)}function $Z(n,e){var t,i,r;return t=z5(n.i,e),O(t,240)?(r=u(t,240),r.vi()==null,r.si()):O(t,491)?(i=u(t,1983),r=i.b,r):null}function L9e(n,e,t,i){var r,c;return ye(e),ye(t),c=u(dm(n.d,e),17),BLn(!!c,"Row %s not in %s",e,n.e),r=u(dm(n.b,t),17),BLn(!!r,"Column %s not in %s",t,n.c),K$n(n,c.a,r.a,i)}function vBn(n,e,t,i,r,c,f){var o,h,l,a,d;if(a=r[c],l=c==f-1,o=l?i:0,d=Nxn(o,a),i!=10&&I(M(n,f-c),e[c],t[c],o,d),!l)for(++c,h=0;h1||o==-1?(c=u(h,15),r.Wb(p5e(n,c))):r.Wb(WF(n,u(h,57)))))}function R9e(n,e,t,i){Yyn();var r=HR;function c(){for(var f=0;f0)return!1;return!0}function G9e(n){switch(u(m(n.b,(rn(),pfn)),379).g){case 1:$t(Lc(Lr(new Cn(null,new Pn(n.d,16)),new vgn),new mgn),new kgn);break;case 2:vAe(n);break;case 0:wke(n)}}function q9e(n,e,t){var i,r,c;for(i=t,!i&&(i=new B2),i.Sg("Layout",n.a.c.length),c=new A(n.a);c.aUB)return t;r>-1e-6&&++t}return t}function xM(n,e,t){if(O(e,268))return vje(n,u(e,85),t);if(O(e,273))return W6e(n,u(e,273),t);throw T(new Hn(Pv+To(new vc(I(M(ri,1),Fn,1,5,[e,t])))))}function BM(n,e,t){if(O(e,268))return mje(n,u(e,85),t);if(O(e,273))return V6e(n,u(e,273),t);throw T(new Hn(Pv+To(new vc(I(M(ri,1),Fn,1,5,[e,t])))))}function FZ(n,e){var t;e!=n.b?(t=null,n.b&&(t=YA(n.b,n,-4,t)),e&&(t=C3(e,n,-4,t)),t=qNn(n,e,t),t&&t.lj()):(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,3,e,e))}function yBn(n,e){var t;e!=n.f?(t=null,n.f&&(t=YA(n.f,n,-1,t)),e&&(t=C3(e,n,-1,t)),t=HNn(n,e,t),t&&t.lj()):(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,0,e,e))}function X9e(n,e,t,i){var r,c,f,o;return Ku(n.e)&&(r=e.Ik(),o=e.kd(),c=t.kd(),f=L1(n,1,r,o,c,r.Gk()?iv(n,r,c,O(r,101)&&(u(r,19).Bb&Yi)!=0):-1,!0),i?i.kj(f):i=f),i}function jBn(n){var e,t,i;if(n==null)return null;if(t=u(n,15),t.dc())return"";for(i=new Pl,e=t.Jc();e.Ob();)dr(i,(ht(),Me(e.Pb()))),i.a+=" ";return OL(i,i.a.length-1)}function EBn(n){var e,t,i;if(n==null)return null;if(t=u(n,15),t.dc())return"";for(i=new Pl,e=t.Jc();e.Ob();)dr(i,(ht(),Me(e.Pb()))),i.a+=" ";return OL(i,i.a.length-1)}function W9e(n,e){var t,i,r,c,f;for(c=new A(e.a);c.a0&&$i(n,n.length-1)==33)try{return e=R_n(Vs(n,0,n.length-1)),e.e==null}catch(t){if(t=Kt(t),!O(t,32))throw T(t)}return!1}function Y9e(n,e,t){var i,r,c;switch(i=vi(e),r=hM(i),c=new dc,Rr(c,e),t.g){case 1:ii(c,bk(I3(r)));break;case 2:ii(c,I3(r))}return q(c,(rn(),Mw),x(m(n,Mw))),c}function xZ(n){var e,t;return e=u(se(new ee(ie(oi(n.a).a.Jc(),new jn))),18),t=u(se(new ee(ie(_t(n.a).a.Jc(),new jn))),18),fn(sn(m(e,(K(),i1))))||fn(sn(m(t,i1)))}function Xb(){Xb=R,xy=new z8("ONE_SIDE",0),oC=new z8("TWO_SIDES_CORNER",1),hC=new z8("TWO_SIDES_OPPOSING",2),fC=new z8("THREE_SIDES",3),sC=new z8("FOUR_SIDES",4)}function MBn(n,e){var t,i,r,c;for(c=new Y,r=0,i=e.Jc();i.Ob();){for(t=tn(u(i.Pb(),17).a+r);t.a=n.f)break;Qn(c.c,t)}return c}function n8e(n){var e,t;for(t=new A(n.e.b);t.a0&&Kxn(this,this.c-1,(nn(),ne)),this.c0&&n[0].length>0&&(this.c=fn(sn(m(vi(n[0][0]),(K(),Esn))))),this.a=_(bee,V,2063,n.length,0,2),this.b=_(wee,V,2064,n.length,0,2),this.d=new SNn}function r8e(n){return n.c.length==0?!1:(Dn(0,n.c.length),u(n.c[0],18)).c.i.k==(Gn(),qt)?!0:gg(Lc(new Cn(null,new Pn(n,16)),new f2n),new o2n)}function CBn(n,e){var t,i,r,c,f,o,h;for(o=Yb(e),c=e.f,h=e.g,f=E.Math.sqrt(c*c+h*h),r=0,i=new A(o);i.a=0?(t=Ak(n,yI),i=NN(n,yI)):(e=Oa(n,1),t=Ak(e,5e8),i=NN(e,5e8),i=Xi(Eh(i,1),mi(n,1))),Vo(Eh(i,32),mi(t,sr))}function LBn(n,e,t,i){var r,c,f,o,h;switch(h=n.b,c=e.d,f=c.j,o=eZ(f,h.d[f.g],t),r=rt(zi(c.n),c.a),c.j.g){case 1:case 3:o.a+=r.a;break;case 2:case 4:o.b+=r.b}Pt(i,o,i.c.b,i.c)}function p8e(n,e,t,i){var r,c,f,o,h;for(r=null,c=0,o=new A(e);o.a1;e>>=1)(e&1)!=0&&(i=wg(i,t)),t.d==1?t=wg(t,t):t=new KFn(kGn(t.a,t.d,_(Ce,Ge,30,t.d<<1,15,1)));return i=wg(i,t),i}function UZ(){UZ=R;var n,e,t,i;for(Ecn=_(ji,gr,30,25,15,1),Acn=_(ji,gr,30,33,15,1),i=152587890625e-16,e=32;e>=0;e--)Acn[e]=i,i*=.5;for(t=1,n=24;n>=0;n--)Ecn[n]=t,t*=.5}function j8e(n){var e,t;if(fn(sn(H(n,(rn(),Tw))))){for(t=new ee(ie(K1(n).a.Jc(),new jn));de(t);)if(e=u(se(t),85),w0(e)&&fn(sn(H(e,dd))))return!0}return!1}function DBn(n){var e,t,i,r;for(e=new pt,t=new pt,r=me(n,0);r.b!=r.d.c;)i=u(ge(r),11),i.e.c.length==0?Pt(t,i,t.c.b,t.c):Pt(e,i,e.c.b,e.c);return Yu(e).Fc(t),e}function $Bn(n,e){var t,i,r;li(n.f,e)&&(e.b=n,i=e.c,Yr(n.j,i,0)!=-1||Z(n.j,i),r=e.d,Yr(n.j,r,0)!=-1||Z(n.j,r),t=e.a.b,t.c.length!=0&&(!n.i&&(n.i=new ZFn(n)),Wpe(n.i,t)))}function E8e(n){var e,t,i,r,c;return t=n.c.d,i=t.j,r=n.d.d,c=r.j,i==c?t.p=0&&In(n.substr(e,3),"GMT")||e>=0&&In(n.substr(e,3),"UTC"))&&(t[0]=e+3),Snn(n,t,i)}function T8e(n,e){var t,i,r,c,f;for(c=n.g.a,f=n.g.b,i=new A(n.d);i.at;c--)n[c]|=e[c-t-1]>>>f,n[c-1]=e[c-t-1]<0&&bc(n.g,e,n.g,e+i,o),f=t.Jc(),n.i+=i,r=0;r>4&15,c=n[i]&15,f[r++]=oan[t],f[r++]=oan[c];return nh(f,0,f.length)}function Yc(n){var e,t;return n>=Yi?(e=ny+(n-Yi>>10&1023)&ni,t=56320+(n-Yi&1023)&ni,String.fromCharCode(e)+(""+String.fromCharCode(t))):String.fromCharCode(n&ni)}function F8e(n,e){jb();var t,i,r,c;return r=u(u(ut(n.r,e),22),83),r.gc()>=2?(i=u(r.Jc().Pb(),115),t=n.u.Gc((ju(),o8)),c=n.u.Gc(kp),!i.a&&!t&&(r.gc()==2||c)):!1}function xBn(n,e,t,i,r){var c,f,o;for(c=IJn(n,e,t,i,r),o=!1;!c;)XM(n,r,!0),o=!0,c=IJn(n,e,t,i,r);o&&XM(n,r,!1),f=cN(r),f.c.length!=0&&(n.d&&n.d.Eg(f),xBn(n,r,t,i,f))}function JM(){JM=R,CG=new JE("NODE_SIZE_REORDERER",0),MG=new JE("INTERACTIVE_NODE_REORDERER",1),SG=new JE("MIN_SIZE_PRE_PROCESSOR",2),IG=new JE("MIN_SIZE_POST_PROCESSOR",3)}function GM(){GM=R,wq=new Y5(io,0),O1n=new Y5("DIRECTED",1),D1n=new Y5("UNDIRECTED",2),C1n=new Y5("ASSOCIATION",3),L1n=new Y5("GENERALIZATION",4),P1n=new Y5("DEPENDENCY",5)}function x8e(n,e){var t;if(!wo(n))throw T(new pr(rKn));switch(t=wo(n),e.g){case 1:return-(n.j+n.f);case 2:return n.i-t.g;case 3:return n.j-t.f;case 4:return-(n.i+n.g)}return 0}function B8e(n,e,t){var i,r,c;return i=e.Ik(),c=e.kd(),r=i.Gk()?L1(n,4,i,c,null,iv(n,i,c,O(i,101)&&(u(i,19).Bb&Yi)!=0),!0):L1(n,i.qk()?2:1,i,c,i.fk(),-1,!0),t?t.kj(r):t=r,t}function K4(n,e){var t,i;for(_n(e),i=n.b.c.length,Z(n.b,e);i>0;){if(t=i,i=(i-1)/2|0,n.a.Le(un(n.b,i),e)<=0)return fs(n.b,t,e),!0;fs(n.b,t,un(n.b,i))}return fs(n.b,i,e),!0}function WZ(n,e,t,i){var r,c;if(r=0,t)r=cM(n.a[t.g][e.g],i);else for(c=0;c<$S;c++)r=E.Math.max(r,cM(n.a[c][e.g],i));return e==(no(),Bc)&&n.b&&(r=E.Math.max(r,n.b.a)),r}function R8e(n,e){var t,i,r,c,f,o;return r=n.i,c=e.i,!r||!c||r.i!=c.i||r.i==(nn(),ne)||r.i==(nn(),Kn)?!1:(f=r.g.a,t=f+r.j.a,o=c.g.a,i=o+c.j.a,f<=i&&t>=o)}function BBn(n){switch(n.g){case 0:return new dpn;case 1:return new bpn;default:throw T(new Hn("No implementation is available for the width approximator "+(n.f!=null?n.f:""+n.g)))}}function VZ(n,e,t,i){var r;if(r=!1,gi(i)&&(r=!0,e4(e,t,Me(i))),r||pb(i)&&(r=!0,VZ(n,e,t,i)),r||O(i,241)&&(r=!0,Na(e,t,u(i,241))),!r)throw T(new NO(Arn))}function _8e(n,e){var t,i,r;if(t=e.mi(n.a),t&&(r=eo((!t.b&&(t.b=new Wu((On(),er),Zr,t)),t.b),rf),r!=null)){for(i=1;i<(du(),Dan).length;++i)if(In(Dan[i],r))return i}return 0}function J8e(n,e){var t,i,r;if(t=e.mi(n.a),t&&(r=eo((!t.b&&(t.b=new Wu((On(),er),Zr,t)),t.b),rf),r!=null)){for(i=1;i<(du(),$an).length;++i)if(In($an[i],r))return i}return 0}function RBn(n,e){var t,i,r,c;if(_n(e),c=n.a.gc(),c0?1:0;c.a[r]!=t;)c=c.a[r],r=n.a.Le(t.d,c.d)>0?1:0;c.a[r]=i,i.b=t.b,i.a[0]=t.a[0],i.a[1]=t.a[1],t.a[0]=null,t.a[1]=null}function H8e(n){var e,t,i,r;for(e=new Y,t=_(qu,Nh,30,n.a.c.length,16,1),gX(t,t.length),r=new A(n.a);r.a0&&wGn((Dn(0,t.c.length),u(t.c[0],25)),n),t.c.length>1&&wGn(u(un(t,t.c.length-1),25),n),e.Tg()}function U8e(n){ju();var e,t;return e=mt(El,I(M(AP,1),X,277,0,[pa])),!(nk(eT(e,n))>1||(t=mt(o8,I(M(AP,1),X,277,0,[f8,kp])),nk(eT(t,n))>1))}function ZZ(n,e){var t;t=kc((A1(),bf),n),O(t,491)?mr(bf,n,new IEn(this,e)):mr(bf,n,this),jF(this,e),e==(_p(),yan)?(this.wb=u(this,1984),u(e,1986)):this.wb=(P1(),Jn)}function K8e(n){var e,t,i;if(n==null)return null;for(e=null,t=0;tc}function qBn(n,e){var t,i,r;if(nY(n,e))return!0;for(i=new A(e);i.a=r||e<0)throw T(new Pc(AR+e+cd+r));if(t>=r||t<0)throw T(new Pc(TR+t+cd+r));return e!=t?i=(c=n.zj(t),n.nj(e,c),c):i=n.uj(t),i}function zBn(n){var e,t,i;if(i=n,n)for(e=0,t=n.Ah();t;t=t.Ah()){if(++e>zx)return zBn(t);if(i=t,t==n)throw T(new pr("There is a cycle in the containment hierarchy of "+n))}return i}function To(n){var e,t,i;for(i=new qa(xc,"[","]"),t=n.Jc();t.Ob();)e=t.Pb(),rl(i,F(e)===F(n)?"(this Collection)":e==null?eu:Dr(e));return i.a?i.e.length==0?i.a.a:i.a.a+(""+i.e):i.c}function nY(n,e){var t,i;if(i=!1,e.gc()<2)return!1;for(t=0;t1&&(n.j.b+=n.e)):(n.j.a+=t.a,n.j.b=E.Math.max(n.j.b,t.b),n.d.c.length>1&&(n.j.a+=n.e))}function z1(){z1=R,KQn=I(M(nr,1),sc,64,0,[(nn(),Un),ne,he]),UQn=I(M(nr,1),sc,64,0,[ne,he,Kn]),XQn=I(M(nr,1),sc,64,0,[he,Kn,Un]),WQn=I(M(nr,1),sc,64,0,[Kn,Un,ne])}function n7e(n,e,t,i){var r,c,f,o,h,l,a;if(f=n.c.d,o=n.d.d,f.j!=o.j)for(a=n.b,r=f.j,h=null;r!=o.j;)h=e==0?lM(r):EQ(r),c=eZ(r,a.d[r.g],t),l=eZ(h,a.d[h.g],t),He(i,rt(c,l)),r=h}function KBn(n){var e,t,i,r,c,f,o,h,l;for(this.a=pxn(n),this.b=new Y,t=n,i=0,r=t.length;iWL(n.d).c?(n.i+=n.g.c,xN(n.d)):WL(n.d).c>WL(n.g).c?(n.e+=n.d.c,xN(n.g)):(n.i+=YMn(n.g),n.e+=YMn(n.d),xN(n.g),xN(n.d))}function i7e(n,e,t){var i,r,c,f;for(c=e.q,f=e.r,new Fa((Zf(),ha),e,c,1),new Fa(ha,c,f,1),r=new A(t);r.ao&&(h=o/i),r>c&&(l=c/r),f=E.Math.min(h,l),n.a+=f*(e.a-n.a),n.b+=f*(e.b-n.b)}function s7e(n,e,t,i,r){var c,f;for(f=!1,c=u(un(t.b,0),27);oMe(n,e,c,i,r)&&(f=!0,H9e(t,c),t.b.c.length!=0);)c=u(un(t.b,0),27);return t.b.c.length==0&&jk(t.j,t),f&&LM(e.q),f}function tY(n,e,t,i){var r,c;return t==0?(!n.o&&(n.o=new lu((uc(),zh),h1,n,0)),dA(n.o,e,i)):(c=u($n((r=u(zn(n,16),29),r||n.ei()),t),69),c.tk().xk(n,Gc(n),t-oe(n.ei()),e,i))}function jF(n,e){var t;e!=n.sb?(t=null,n.sb&&(t=u(n.sb,52).Ph(n,1,a8,t)),e&&(t=u(e,52).Nh(n,1,a8,t)),t=bQ(n,e,t),t&&t.lj()):(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,4,e,e))}function QBn(n,e){var t,i,r,c;if(e)r=fl(e,"x"),t=new G8n(n),kg(t.a,(_n(r),r)),c=fl(e,"y"),i=new q8n(n),yg(i.a,(_n(c),c));else throw T(new qo("All edge sections need an end point."))}function ZBn(n,e){var t,i,r,c;if(e)r=fl(e,"x"),t=new R8n(n),mg(t.a,(_n(r),r)),c=fl(e,"y"),i=new _8n(n),jg(i.a,(_n(c),c));else throw T(new qo("All edge sections need a start point."))}function f7e(n,e){var t,i,r,c,f,o,h;for(i=pNn(n),c=0,o=i.length;c>22-e,r=n.h<>22-e):e<44?(t=0,i=n.l<>44-e):(t=0,i=0,r=n.l<=Zl?"error":i>=900?"warn":i>=800?"info":"log"),XIn(t,n.a),n.b&&inn(e,t,n.b,"Exception: ",!0))}function tRn(n,e){var t,i,r,c,f;for(r=e==1?A_:E_,i=r.a.ec().Jc();i.Ob();)for(t=u(i.Pb(),86),f=u(ut(n.f.c,t),22).Jc();f.Ob();)c=u(f.Pb(),47),Z(n.b.b,u(c.b,82)),Z(n.b.a,u(c.b,82).d)}function a7e(n,e){var t,i,r,c;for(c=e.b.j,n.a=_(Ce,Ge,30,c.c.length,15,1),r=0,i=0;in)throw T(new Hn("k must be smaller than n"));return e==0||e==n?1:n==0?0:CZ(n)/(CZ(e)*CZ(n-e))}function iY(n,e){var t,i,r,c;for(t=new $L(n);t.g==null&&!t.c?VX(t):t.g==null||t.i!=0&&u(t.g[t.i-1],49).Ob();)if(c=u(WM(t),57),O(c,173))for(i=u(c,173),r=0;r>4],e[t*2+1]=zP[c&15];return nh(e,0,e.length)}function T7e(n){zA();var e,t,i;switch(i=n.c.length,i){case 0:return fWn;case 1:return e=u(RRn(new A(n)),43),nde(e.jd(),e.kd());default:return t=u(jo(n,_(fd,mI,43,n.c.length,0,1)),174),new hz(t)}}function Vl(n,e){switch(e.g){case 1:return r3(n.j,(au(),iun));case 2:return r3(n.j,(au(),eun));case 3:return r3(n.j,(au(),cun));case 4:return r3(n.j,(au(),uun));default:return Ln(),Ln(),Qi}}function M7e(n,e){var t,i,r;t=Zae(e,n.e),i=u(Vn(n.g.f,t),17).a,r=n.a.c.length-1,n.a.c.length!=0&&u(un(n.a,r),292).c==i?(++u(un(n.a,r),292).a,++u(un(n.a,r),292).b):Z(n.a,new cTn(i))}function I7e(n,e,t){var i,r;return i=TAe(n,e,t),i!=0?i:ft(e,(K(),lt))&&ft(t,lt)?(r=oc(u(m(e,lt),17).a,u(m(t,lt),17).a),r<0?Fk(n,e,t):r>0&&Fk(n,t,e),r):rye(n,e,t)}function U1(){U1=R,eie=(Je(),gp),tie=jd,Qte=yd,Zte=E2,Yte=da,Vte=j2,khn=wj,nie=Nw,kG=(ynn(),Rte),yG=_te,jhn=Hte,jG=Kte,Ehn=zte,Ahn=Ute,yhn=Jte,rP=Gte,cP=qte,rj=Xte,Thn=Wte,mhn=Bte}function rRn(n,e){var t,i,r,c,f;if(n.e<=e||xwe(n,n.g,e))return n.g;for(c=n.r,i=n.g,f=n.r,r=(c-i)/2+i;i+11&&(n.e.b+=n.a)):(n.e.a+=t.a,n.e.b=E.Math.max(n.e.b,t.b),n.d.c.length>1&&(n.e.a+=n.a))}function P7e(n){var e,t,i,r;switch(r=n.i,e=r.b,i=r.j,t=r.g,r.a.g){case 0:t.a=(n.g.b.o.a-i.a)/2;break;case 1:t.a=e.d.n.a+e.d.a.a;break;case 2:t.a=e.d.n.a+e.d.a.a-i.a;break;case 3:t.b=e.d.n.b+e.d.a.b}}function O7e(n,e,t){var i,r,c;for(r=new ee(ie(al(t).a.Jc(),new jn));de(r);)i=u(se(r),18),!Ui(i)&&!(!Ui(i)&&i.c.i.c==i.d.i.c)&&(c=Y_n(n,i,t,new V7n),c.c.length>1&&Qn(e.c,c))}function sRn(n,e,t,i,r){if(ii&&(n.a=i),n.br&&(n.b=r),n}function L7e(n){if(O(n,149))return Xje(u(n,149));if(O(n,232))return o5e(u(n,232));if(O(n,21))return h7e(u(n,21));throw T(new Hn(Pv+To(new vc(I(M(ri,1),Fn,1,5,[n])))))}function D7e(n,e,t,i,r){var c,f,o;for(c=!0,f=0;f>>r|t[f+i+1]<>>r,++f}return c}function sY(n,e,t,i){var r,c,f;if(e.k==(Gn(),qt)){for(c=new ee(ie(oi(e).a.Jc(),new jn));de(c);)if(r=u(se(c),18),f=r.c.i.k,f==qt&&n.c.a[r.c.i.c.p]==i&&n.c.a[e.c.p]==t)return!0}return!1}function $7e(n,e){var t,i,r,c;return e&=63,t=n.h&wl,e<22?(c=t>>>e,r=n.m>>e|t<<22-e,i=n.l>>e|n.m<<22-e):e<44?(c=0,r=t>>>e-22,i=n.m>>e-22|n.h<<44-e):(c=0,r=0,i=t>>>e-44),_c(i&_u,r&_u,c&wl)}function fRn(n,e,t,i){var r;this.b=i,this.e=n==(c0(),N9),r=e[t],this.d=Tb(qu,[V,Nh],[183,30],16,[r.length,r.length],2),this.a=Tb(Ce,[V,Ge],[54,30],15,[r.length,r.length],2),this.c=new GZ(e,t)}function N7e(n){var e,t,i;for(n.k=new eW((nn(),I(M(nr,1),sc,64,0,[qr,Un,ne,he,Kn])).length,n.j.c.length),i=new A(n.j);i.a=t)return W4(n,e,i.p),!0;return!1}function Lg(n,e,t,i){var r,c,f,o,h,l;for(f=t.length,c=0,r=-1,l=QLn((Xn(e,n.length+1),n.substr(e)),(tD(),ycn)),o=0;oc&&qde(l,QLn(t[o],ycn))&&(r=o,c=h);return r>=0&&(i[0]=e+c),r}function B7e(n,e,t){var i,r,c,f,o,h,l,a;c=n.d.p,o=c.e,h=c.r,n.g=new w7(h),f=n.d.o.c.p,i=f>0?o[f-1]:_(Rh,Yl,9,0,0,1),r=o[f],l=ft?pY(n,t,"start index"):e<0||e>t?pY(e,t,"end index"):v6("end index (%s) must not be less than start index (%s)",I(M(ri,1),Fn,1,5,[tn(e),tn(n)]))}function dRn(n,e){var t,i,r,c;for(i=0,r=n.length;i0&&bRn(n,c,t));e.p=0}function G7e(n){var e,t,i,r;for(e=Da(xe(new is("Predicates."),"and"),40),t=!0,r=new T5(n);r.b=0?n.gi(r):yY(n,i);else throw T(new Hn(ea+i.ve()+X6));else throw T(new Hn(wKn+e+gKn));else Ls(n,t,i)}function fY(n){var e,t;if(t=null,e=!1,O(n,210)&&(e=!0,t=u(n,210).a),e||O(n,263)&&(e=!0,t=""+u(n,263).a),e||O(n,477)&&(e=!0,t=""+u(n,477).a),!e)throw T(new NO(Arn));return t}function oY(n,e,t){var i,r,c,f,o,h;for(h=qc(n.e.zh(),e),i=0,o=n.i,r=u(n.g,122),f=0;f=n.d.b.c.length&&(e=new lc(n.d),e.p=i.p-1,Z(n.d.b,e),t=new lc(n.d),t.p=i.p,Z(n.d.b,t)),si(i,u(un(n.d.b,i.p),25))}function H7e(n){var e,t,i,r;for(t=new pt,Ki(t,n.o),i=new nz;t.b!=0;)e=u(t.b==0?null:(ue(t.b!=0),Qs(t,t.a.a)),499),r=tHn(n,e,!0),r&&Z(i.a,e);for(;i.a.c.length!=0;)e=u(ANn(i),499),tHn(n,e,!1)}function ln(n){var e;this.c=new pt,this.f=n.e,this.e=n.d,this.i=n.g,this.d=n.c,this.b=n.b,this.k=n.j,this.a=n.a,n.i?this.j=n.i:this.j=(e=u(Xf(_h),10),new Is(e,u(yf(e,e.length),10),0)),this.g=n.f}function Qa(){Qa=R,Lln=new X2(D6,0),ci=new X2("BOOLEAN",1),Cr=new X2("INT",2),wp=new X2("STRING",3),Li=new X2("DOUBLE",4),Tt=new X2("ENUM",5),bp=new X2("ENUMSET",6),Jh=new X2("OBJECT",7)}function o6(n,e){var t,i,r,c,f;i=E.Math.min(n.c,e.c),c=E.Math.min(n.d,e.d),r=E.Math.max(n.c+n.b,e.c+e.b),f=E.Math.max(n.d+n.a,e.d+e.a),r=(r/2|0))for(this.e=i?i.c:null,this.d=r;t++0;)eV(this);this.b=e,this.a=null}function K7e(n,e){var t,i;e.a?aEe(n,e):(t=u(UO(n.b,e.b),60),t&&t==n.a[e.b.f]&&t.a&&t.a!=e.b.a&&t.c.Ec(e.b),i=u(zO(n.b,e.b),60),i&&n.a[i.f]==e.b&&i.a&&i.a!=e.b.a&&e.b.c.Ec(i),_L(n.b,e.b))}function yRn(n,e){var t,i;if(t=u(br(n.b,e),126),u(u(ut(n.r,e),22),83).dc()){t.n.b=0,t.n.c=0;return}t.n.b=n.C.b,t.n.c=n.C.c,n.A.Gc((ns(),Ad))&&VJn(n,e),i=Ome(n,e),RF(n,e)==(Ig(),wa)&&(i+=2*n.w),t.a.a=i}function jRn(n,e){var t,i;if(t=u(br(n.b,e),126),u(u(ut(n.r,e),22),83).dc()){t.n.d=0,t.n.a=0;return}t.n.d=n.C.d,t.n.a=n.C.a,n.A.Gc((ns(),Ad))&&QJn(n,e),i=Pme(n,e),RF(n,e)==(Ig(),wa)&&(i+=2*n.w),t.a.b=i}function X7e(n,e){var t,i,r,c;for(c=new Y,i=new A(e);i.ai&&(Xn(e-1,n.length),n.charCodeAt(e-1)<=32);)--e;return i>0||et.a&&(i.Gc((Va(),Z9))?r=(e.a-t.a)/2:i.Gc(Y9)&&(r=e.a-t.a)),e.b>t.b&&(i.Gc((Va(),e8))?c=(e.b-t.b)/2:i.Gc(n8)&&(c=e.b-t.b)),QZ(n,r,c)}function SRn(n,e,t,i,r,c,f,o,h,l,a,d,g){O(n.Cb,88)&&Qb(Du(u(n.Cb,88)),4),Nc(n,t),n.f=f,F4(n,o),x4(n,h),N4(n,l),B4(n,a),Kl(n,d),R4(n,g),Ul(n,!0),Gl(n,r),n.Wk(c),Ua(n,e),i!=null&&(n.i=null,HT(n,i))}function pY(n,e,t){if(n<0)return v6(IHn,I(M(ri,1),Fn,1,5,[t,tn(n)]));if(e<0)throw T(new Hn(SHn+e));return v6("%s (%s) must not be greater than size (%s)",I(M(ri,1),Fn,1,5,[t,tn(n),tn(e)]))}function vY(n,e,t,i,r,c){var f,o,h,l;if(f=i-t,f<7){i5e(e,t,i,c);return}if(h=t+r,o=i+r,l=h+(o-h>>1),vY(e,n,h,l,-r,c),vY(e,n,l,o,-r,c),c.Le(n[l-1],n[l])<=0){for(;t=0?n.Zh(c,t):VY(n,r,t);else throw T(new Hn(ea+r.ve()+X6));else throw T(new Hn(wKn+e+gKn));else Ds(n,i,r,t)}function CRn(n){var e,t;if(n.f){for(;n.n>0;){if(e=u(n.k.Xb(n.n-1),74),t=e.Ik(),O(t,101)&&(u(t,19).Bb&rc)!=0&&(!n.e||t.mk()!=k5||t.Ij()!=0)&&e.kd()!=null)return!0;--n.n}return!1}else return n.n>0}function PRn(n){var e,t,i,r;if(t=u(n,52).Xh(),t)try{if(i=null,e=Q4((A1(),bf),mGn(s5e(t))),e&&(r=e.Yh(),r&&(i=r.Cl(Vse(t.e)))),i&&i!=n)return PRn(i)}catch(c){if(c=Kt(c),!O(c,63))throw T(c)}return n}function hke(n,e,t){var i,r,c;t.Sg("Remove overlaps",1),t.ah(e,Min),i=u(H(e,(lg(),w2)),27),n.f=i,n.a=UN(u(H(e,(U1(),rj)),299)),r=x(H(e,(Je(),jd))),mH(n,(_n(r),r)),c=Yb(i),Rqn(n,e,c,t),t.ah(e,nS)}function lke(n){var e,t,i;if(fn(sn(H(n,(Je(),dj))))){for(i=new Y,t=new ee(ie(K1(n).a.Jc(),new jn));de(t);)e=u(se(t),85),w0(e)&&fn(sn(H(e,iq)))&&Qn(i.c,e);return i}else return Ln(),Ln(),Qi}function ORn(n){if(!n)return Dkn(),pWn;var e=n.valueOf?n.valueOf():n;if(e!==n){var t=n_[typeof e];return t?t(e):lQ(typeof e)}else return n instanceof Array||n instanceof E.Array?new dH(n):new I8(n)}function LRn(n,e,t){var i,r,c;switch(c=n.o,i=u(br(n.p,t),251),r=i.i,r.b=l6(i),r.a=h6(i),r.b=E.Math.max(r.b,c.a),r.b>c.a&&!e&&(r.b=c.a),r.c=-(r.b-c.a)/2,t.g){case 1:r.d=-r.a;break;case 3:r.d=c.b}ZF(i),YF(i)}function DRn(n,e,t){var i,r,c;switch(c=n.o,i=u(br(n.p,t),251),r=i.i,r.b=l6(i),r.a=h6(i),r.a=E.Math.max(r.a,c.b),r.a>c.b&&!e&&(r.a=c.b),r.d=-(r.a-c.b)/2,t.g){case 4:r.c=-r.b;break;case 2:r.c=c.a}ZF(i),YF(i)}function ake(n,e){var t,i,r;return O(e.g,9)&&u(e.g,9).k==(Gn(),Wt)?Ct:(r=w3(e),r?E.Math.max(0,n.b/2-.5):(t=bg(e),t?(i=N(x(zb(t,(rn(),H0)))),E.Math.max(0,i/2-.5)):Ct))}function dke(n,e){var t,i,r;return O(e.g,9)&&u(e.g,9).k==(Gn(),Wt)?Ct:(r=w3(e),r?E.Math.max(0,n.b/2-.5):(t=bg(e),t?(i=N(x(zb(t,(rn(),H0)))),E.Math.max(0,i/2-.5)):Ct))}function bke(n,e){var t,i,r,c,f;if(!e.dc()){if(r=u(e.Xb(0),132),e.gc()==1){pJn(n,r,r,1,0,e);return}for(t=1;t0)try{r=bs(e,Gi,tt)}catch(c){throw c=Kt(c),O(c,130)?(i=c,T(new TT(i))):T(c)}return t=(!n.a&&(n.a=new mO(n)),n.a),r=0?u(L(t,r),57):null}function pke(n,e){if(n<0)return v6(IHn,I(M(ri,1),Fn,1,5,["index",tn(n)]));if(e<0)throw T(new Hn(SHn+e));return v6("%s (%s) must be less than size (%s)",I(M(ri,1),Fn,1,5,["index",tn(n),tn(e)]))}function vke(n){var e,t,i,r,c;if(n==null)return eu;for(c=new qa(xc,"[","]"),t=n,i=0,r=t.length;i",T(new Hn(i.a))}function Ske(n){var e,t;return t=-n.a,e=I(M(zs,1),uh,30,15,[43,48,48,48,48]),t<0&&(e[0]=45,t=-t),e[1]=e[1]+((t/60|0)/10|0)&ni,e[2]=e[2]+(t/60|0)%10&ni,e[3]=e[3]+(t%60/10|0)&ni,e[4]=e[4]+t%10&ni,nh(e,0,e.length)}function kY(n){var e,t,i,r;for(n.g=new n6(u(ye(nr),295)),i=0,t=(nn(),Un),e=0;e=0?n.Hh(t,!0,!0):g0(n,r,!0),159)),u(i,218).Wl(e);else throw T(new Hn(ea+e.ve()+X6))}function jY(n){var e,t;return n>-0x800000000000&&n<0x800000000000?n==0?0:(e=n<0,e&&(n=-n),t=Bi(E.Math.floor(E.Math.log(n)/.6931471805599453)),(!e||n!=E.Math.pow(2,t))&&++t,t):nFn(nc(n))}function Cke(n){var e,t,i,r,c,f,o;for(c=new mh,t=new A(n);t.a2&&o.e.b+o.j.b<=2&&(r=o,i=f),c.a.yc(r,c),r.q=i);return c}function Pke(n,e,t){t.Sg("Eades radial",1),t.ah(e,nS),n.d=u(H(e,(lg(),w2)),27),n.c=N(x(H(e,(U1(),cP)))),n.e=UN(u(H(e,rj),299)),n.a=E5e(u(H(e,Thn),423)),n.b=O9e(u(H(e,yhn),351)),w9e(n),t.ah(e,nS)}function Oke(n,e){if(e.Sg("Target Width Setter",1),Yo(n,(Mo(),NG)))at(n,(Ch(),Dw),x(H(n,NG)));else throw T(new Cl("A target width has to be set if the TargetWidthWidthApproximator should be used."));e.Tg()}function _Rn(n,e){var t,i,r;return i=new Eo(n),ec(i,e),q(i,(K(),jC),e),q(i,(rn(),Dt),(ki(),pc)),q(i,bh,(Sh(),pP)),Xh(i,(Gn(),Wt)),t=new dc,Rr(t,i),ii(t,(nn(),Kn)),r=new dc,Rr(r,i),ii(r,ne),i}function JRn(n){switch(n.g){case 0:return new DO((c0(),Zy));case 1:return new lmn;case 2:return new dmn;default:throw T(new Hn("No implementation is available for the crossing minimizer "+(n.f!=null?n.f:""+n.g)))}}function GRn(n,e){var t,i,r,c,f;for(n.c[e.p]=!0,Z(n.a,e),f=new A(e.j);f.a=c)f.$b();else for(r=f.Jc(),i=0;i0?pz():f<0&&URn(n,e,-f),!0):!1}function h6(n){var e,t,i,r,c,f,o;if(o=0,n.b==0){for(f=Axn(n,!0),e=0,i=f,r=0,c=i.length;r0&&(o+=t,++e);e>1&&(o+=n.c*(e-1))}else o=Gkn(V$(Pb(nt(TD(n.a),new Ddn),new Pdn)));return o>0?o+n.n.d+n.n.a:0}function l6(n){var e,t,i,r,c,f,o;if(o=0,n.b==0)o=Gkn(V$(Pb(nt(TD(n.a),new Odn),new Ldn)));else{for(f=Txn(n,!0),e=0,i=f,r=0,c=i.length;r0&&(o+=t,++e);e>1&&(o+=n.c*(e-1))}return o>0?o+n.n.b+n.n.c:0}function xke(n){var e,t;if(n.c.length!=2)throw T(new pr("Order only allowed for two paths."));e=(Dn(0,n.c.length),u(n.c[0],18)),t=(Dn(1,n.c.length),u(n.c[1],18)),e.d.i!=t.c.i&&(n.c.length=0,Qn(n.c,t),Qn(n.c,e))}function KRn(n,e,t){var i;for(cg(t,e.g,e.f),Ts(t,e.i,e.j),i=0;i<(!e.a&&(e.a=new z(We,e,10,11)),e.a).i;i++)KRn(n,u(L((!e.a&&(e.a=new z(We,e,10,11)),e.a),i),27),u(L((!t.a&&(t.a=new z(We,t,10,11)),t.a),i),27))}function Bke(n,e){var t,i,r,c;for(c=u(br(n.b,e),126),t=c.a,r=u(u(ut(n.r,e),22),83).Jc();r.Ob();)i=u(r.Pb(),115),i.c&&(t.a=E.Math.max(t.a,KK(i.c)));if(t.a>0)switch(e.g){case 2:c.n.c=n.s;break;case 4:c.n.b=n.s}}function Rke(n,e){var t,i,r;return t=u(m(e,(Pf(),ep)),17).a-u(m(n,ep),17).a,t==0?(i=hi(zi(u(m(n,(x1(),Oy)),8)),u(m(n,a9),8)),r=hi(zi(u(m(e,Oy),8)),u(m(e,a9),8)),ot(i.a*i.b,r.a*r.b)):t}function _ke(n,e){var t,i,r;return t=u(m(e,(Kr(),nP)),17).a-u(m(n,nP),17).a,t==0?(i=hi(zi(u(m(n,(gt(),ej)),8)),u(m(n,s5),8)),r=hi(zi(u(m(e,ej),8)),u(m(e,s5),8)),ot(i.a*i.b,r.a*r.b)):t}function XRn(n){var e,t;return t=new y1,t.a+="e_",e=t4e(n),e!=null&&(t.a+=""+e),n.c&&n.d&&(xe((t.a+=" ",t),$M(n.c)),xe(mc((t.a+="[",t),n.c.i),"]"),xe((t.a+=uB,t),$M(n.d)),xe(mc((t.a+="[",t),n.d.i),"]")),t.a}function WRn(n){switch(n.g){case 0:return new hmn;case 1:return new fmn;case 2:return new ymn;case 3:return new kmn;default:throw T(new Hn("No implementation is available for the layout phase "+(n.f!=null?n.f:""+n.g)))}}function TY(n,e,t,i,r){var c;switch(c=0,r.g){case 1:c=E.Math.max(0,e.b+n.b-(t.b+i));break;case 3:c=E.Math.max(0,-n.b-i);break;case 2:c=E.Math.max(0,-n.a-i);break;case 4:c=E.Math.max(0,e.a+n.a-(t.a+i))}return c}function VRn(n,e,t){var i,r,c,f,o;if(t)for(r=t.a.length,i=new Pa(r),o=(i.b-i.a)*i.c<0?(T1(),ja):new C1(i);o.Ob();)f=u(o.Pb(),17),c=a4(t,f.a),mrn in c.a||jR in c.a?RAe(n,c,e):VCe(n,c,e),ghe(u(Vn(n.c,J4(c)),85))}function MY(n){var e,t;switch(n.b){case-1:return!0;case 0:return t=n.t,t>1||t==-1?(n.b=-1,!0):(e=ef(n),e&&(tr(),e.ik()==vXn)?(n.b=-1,!0):(n.b=1,!1));default:case 1:return!1}}function IY(n,e){var t,i,r,c;if(Ze(n),n.c!=0||n.a!=123)throw T(new Oe(Le((Te(),_Kn))));if(c=e==112,i=n.d,t=Xp(n.i,125,i),t<0)throw T(new Oe(Le((Te(),JKn))));return r=Vs(n.i,i,t),n.d=t+1,fLn(r,c,(n.e&512)==512)}function Jke(n){var e,t,i,r,c,f,o;for(o=kh(n.c.length),r=new A(n);r.a=0&&i=0?n.Hh(t,!0,!0):g0(n,r,!0),159)),u(i,218).Tl(e);throw T(new Hn(ea+e.ve()+dR))}function Hke(){xz();var n;return Qce?u(Q4((A1(),bf),cf),1984):(qe(fd,new Svn),vSe(),n=u(O(kc((A1(),bf),cf),545)?kc(bf,cf):new lSn,545),Qce=!0,gPe(n),EPe(n),Qe((Fz(),kan),n,new H4n),mr(bf,cf,n),n)}function zke(n,e){var t,i,r,c;n.j=-1,Ku(n.e)?(t=n.i,c=n.i!=0,N7(n,e),i=new cl(n.e,3,n.c,null,e,t,c),r=e.wl(n.e,n.c,null),r=IBn(n,e,r),r?(r.kj(i),r.lj()):et(n.e,i)):(N7(n,e),r=e.wl(n.e,n.c,null),r&&r.lj())}function UM(n,e){var t,i,r;if(r=0,i=e[0],i>=n.length)return-1;for(t=(Xn(i,n.length),n.charCodeAt(i));t>=48&&t<=57&&(r=r*10+(t-48),++i,!(i>=n.length));)t=(Xn(i,n.length),n.charCodeAt(i));return i>e[0]?e[0]=i:r=-1,r}function Uke(n,e,t){var i,r,c,f,o;f=n.c,o=n.d,c=_r(I(M(bi,1),V,8,0,[f.i.n,f.n,f.a])).b,r=(c+_r(I(M(bi,1),V,8,0,[o.i.n,o.n,o.a])).b)/2,i=null,f.j==(nn(),ne)?i=new W(e+f.i.c.c.a+t,r):i=new W(e-t,r),Vp(n.a,0,i)}function w0(n){var e,t,i,r;for(e=null,i=Ah(Ps(I(M(Rs,1),Fn,20,0,[(!n.b&&(n.b=new xn(be,n,4,7)),n.b),(!n.c&&(n.c=new xn(be,n,5,8)),n.c)])));de(i);)if(t=u(se(i),84),r=Ir(t),!e)e=r;else if(e!=r)return!1;return!0}function OF(n,e,t){var i;if(++n.j,e>=n.i)throw T(new Pc(AR+e+cd+n.i));if(t>=n.i)throw T(new Pc(TR+t+cd+n.i));return i=n.g[t],e!=t&&(e>16),e=i>>16&16,t=16-e,n=n>>e,i=n-256,e=i>>16&8,t+=e,n<<=e,i=n-uw,e=i>>16&4,t+=e,n<<=e,i=n-ch,e=i>>16&2,t+=e,n<<=e,i=n>>14,e=i&~(i>>1),t+2-e)}function Kke(n,e){var t,i,r;for(r=new Y,i=me(e.a,0);i.b!=i.d.c;)t=u(ge(i),65),t.c.g==n.g&&F(m(t.b,(Kr(),ph)))!==F(m(t.c,ph))&&!gg(new Cn(null,new Pn(r,16)),new s8n(t))&&Qn(r.c,t);return pi(r,new V2n),r}function ZRn(n,e,t){var i,r,c,f;return O(e,151)&&O(t,151)?(c=u(e,151),f=u(t,151),n.a[c.a][f.a]+n.a[f.a][c.a]):O(e,249)&&O(t,249)&&(i=u(e,249),r=u(t,249),i.a==r.a)?u(m(r.a,(Pf(),ep)),17).a:0}function YRn(n,e){var t,i,r,c,f,o,h,l;for(l=N(x(m(e,(rn(),C9)))),h=n[0].n.a+n[0].o.a+n[0].d.c+l,o=1;o=0?t:(o=Am(hi(new W(f.c+f.b/2,f.d+f.a/2),new W(c.c+c.b/2,c.d+c.a/2))),-(SGn(c,f)-1)*o)}function Wke(n,e,t){var i;$t(new Cn(null,(!t.a&&(t.a=new z(jt,t,6,6)),new Pn(t.a,16))),new oEn(n,e)),$t(new Cn(null,(!t.n&&(t.n=new z(Hr,t,1,7)),new Pn(t.n,16))),new hEn(n,e)),i=u(H(t,(Je(),y2)),77),i&&OV(i,n,e)}function g0(n,e,t){var i,r,c;if(c=xg((du(),Di),n.zh(),e),c)return tr(),u(c,69).uk()||(c=b3(kr(Di,c))),r=(i=n.Eh(c),u(i>=0?n.Hh(i,!0,!0):g0(n,c,!0),159)),u(r,218).Pl(e,t);throw T(new Hn(ea+e.ve()+dR))}function SY(n,e,t,i){var r,c,f,o,h;if(r=n.d[e],r){if(c=r.g,h=r.i,i!=null){for(o=0;o=t&&(i=e,l=(h.c+h.a)/2,f=l-t,h.c<=l-t&&(r=new cD(h.c,f),Sa(n,i++,r)),o=l+t,o<=h.a&&(c=new cD(o,h.a),Db(i,n.c.length),U5(n.c,i,c)))}function t_n(n,e,t){var i,r,c,f,o,h;if(!e.dc()){for(r=new pt,h=e.Jc();h.Ob();)for(o=u(h.Pb(),39),Qe(n.a,tn(o.g),tn(t)),f=(i=me(new Vh(o).a.d,0),new Ww(i));$8(f.a);)c=u(ge(f.a),65).c,Pt(r,c,r.c.b,r.c);t_n(n,r,t+1)}}function CY(n){var e;if(!n.c&&n.g==null)n.d=n.$i(n.f),pe(n,n.d),e=n.d;else{if(n.g==null)return!0;if(n.i==0)return!1;e=u(n.g[n.i-1],49)}return e==n.b&&null.Sm>=null.Rm()?(WM(n),CY(n)):e.Ob()}function i_n(n){if(this.a=n,n.c.i.k==(Gn(),Wt))this.c=n.c,this.d=u(m(n.c.i,(K(),Qr)),64);else if(n.d.i.k==Wt)this.c=n.d,this.d=u(m(n.d.i,(K(),Qr)),64);else throw T(new Hn("Edge "+n+" is not an external edge."))}function r_n(n,e){var t,i,r;r=n.b,n.b=e,(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,3,r,n.b)),e?e!=n&&(Nc(n,e.zb),_$(n,e.d),t=(i=e.c,i??e.zb),G$(n,t==null||In(t,e.zb)?null:t)):(Nc(n,null),_$(n,0),G$(n,null))}function c_n(n,e){var t;this.e=(Wd(),ye(n),Wd(),qQ(n)),this.c=(ye(e),qQ(e)),NU(this.e.Pd().dc()==this.c.Pd().dc()),this.d=dFn(this.e),this.b=dFn(this.c),t=Tb(ri,[V,Fn],[5,1],5,[this.e.Pd().gc(),this.c.Pd().gc()],2),this.a=t,upe(this)}function u_n(n){!ZR&&(ZR=MCe());var e=n.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(t){return xbe(t)});return'"'+e+'"'}function PY(n,e,t,i,r,c){var f,o,h,l,a;if(r!=0)for(F(n)===F(t)&&(n=n.slice(e,e+r),e=0),h=t,o=e,l=e+r;o=f)throw T(new Ab(e,f));return r=t[e],f==1?i=null:(i=_(Tq,PR,412,f-1,0,1),bc(t,0,i,0,e),c=f-e-1,c>0&&bc(t,e+1,i,e,c)),G4(n,i),IRn(n,e,r),r}function f_n(n){var e,t;if(n.f){for(;n.n0)for(f=n.c.d,o=n.d.d,r=S1(hi(new W(o.a,o.b),f),1/(i+1)),c=new W(f.a,f.b),t=new A(n.a);t.a0?c=I3(t):c=bk(I3(t))),at(e,n5,c)}function d_n(n,e){var t,i;if(n.c.length!=0){if(n.c.length==2)F3((Dn(0,n.c.length),u(n.c[0],9)),(ds(),Gh)),F3((Dn(1,n.c.length),u(n.c[1],9)),ba);else for(i=new A(n);i.a0&&Fk(n,t,e),c):i.a!=null?(Fk(n,e,t),-1):r.a!=null?(Fk(n,t,e),1):0}function b_n(n){i$();var e,t,i,r,c,f,o;for(t=new N1,r=new A(n.e.b);r.a=0;)i=t[c],f.Zl(i.Ik())&&pe(r,i);!sHn(n,r)&&Ku(n.e)&&Np(n,e.Gk()?L1(n,6,e,(Ln(),Qi),null,-1,!1):L1(n,e.qk()?2:1,e,null,null,-1,!1))}function uye(n,e){var t,i,r,c,f;return n.a==(X4(),p9)?!0:(c=e.a.c,t=e.a.c+e.a.b,!(e.j&&(i=e.A,f=i.c.c.a-i.o.a/2,r=c-(i.n.a+i.o.a),r>f)||e.q&&(i=e.C,f=i.c.c.a-i.o.a/2,r=i.n.a-t,r>f)))}function g_n(n,e,t){var i,r,c,f,o,h;for(i=0,h=t,e||(i=t*(n.c.length-1),h*=-1),c=new A(n);c.a=0?n.wh(null):n.Lh().Ph(n,-1-e,null,null)),n.xh(u(r,52),t),i&&i.lj(),n.rh()&&n.sh()&&t>-1&&et(n,new di(n,9,t,c,r)),r):c}function $Y(n,e){var t,i,r,c,f;for(c=n.b.Ae(e),i=(t=n.a.get(c),t??_(ri,Fn,1,0,5,1)),f=0;f>5,r>=n.d)return n.e<0;if(t=n.a[r],e=1<<(e&31),n.e<0){if(i=k$n(n),r>16)),15).bd(c),o0&&(!(Qh(n.a.c)&&e.n.d)&&!(ig(n.a.c)&&e.n.b)&&(e.g.d+=E.Math.max(0,i/2-.5)),!(Qh(n.a.c)&&e.n.a)&&!(ig(n.a.c)&&e.n.c)&&(e.g.a-=i-1))}function C_n(n,e,t){var i,r,c,f,o,h;c=u(un(e.e,0),18).c,i=c.i,r=i.k,h=u(un(t.g,0),18).d,f=h.i,o=f.k,r==(Gn(),qt)?q(n,(K(),so),u(m(i,so),11)):q(n,(K(),so),c),o==qt?q(n,(K(),ff),u(m(f,ff),11)):q(n,(K(),ff),h)}function P_n(n,e){var t,i,r,c,f,o;for(c=new A(n.b);c.a>e,c=n.m>>e|t<<22-e,r=n.l>>e|n.m<<22-e):e<44?(f=i?wl:0,c=t>>e-22,r=n.m>>e-22|t<<44-e):(f=i?wl:0,c=i?_u:0,r=t>>e-44),_c(r&_u,c&_u,f&wl)}function O_n(n,e){var t,i,r,c,f,o,h,l,a;if(n.a.f>0&&O(e,43)&&(n.a.Yj(),l=u(e,43),h=l.jd(),c=h==null?0:vt(h),f=oK(n.a,c),t=n.a.d[f],t)){for(i=u(t.g,371),a=t.i,o=0;o=2)for(t=r.Jc(),e=x(t.Pb());t.Ob();)c=e,e=x(t.Pb()),i=E.Math.min(i,(_n(e),e-(_n(c),c)));return i}function Iye(n,e){var t,i,r;for(r=new Y,i=me(e.a,0);i.b!=i.d.c;)t=u(ge(i),65),t.b.g==n.g&&!In(t.b.c,ZI)&&F(m(t.b,(Kr(),ph)))!==F(m(t.c,ph))&&!gg(new Cn(null,new Pn(r,16)),new f8n(t))&&Qn(r.c,t);return pi(r,new n3n),r}function Sye(n,e){var t,i,r;if(F(e)===F(ye(n)))return!0;if(!O(e,15)||(i=u(e,15),r=n.gc(),r!=i.gc()))return!1;if(O(i,59)){for(t=0;t0&&(r=t),f=new A(n.f.e);f.ae.c?1:n.be.b?1:n.a!=e.a?vt(n.a)-vt(e.a):n.d==(Om(),x9)&&e.d==F9?-1:n.d==F9&&e.d==x9?1:0}function $F(n){var e,t,i,r,c,f,o,h;for(r=Ct,i=ai,t=new A(n.e.b);t.a0&&r0):r<0&&-r0):!1}function _ye(n,e,t,i){var r,c,f,o,h,l,a,d;for(r=(e-n.d)/n.c.c.length,c=0,n.a+=t,n.d=e,d=new A(n.c);d.a>24;return f}function Gye(n){if(n.xe()){var e=n.c;e.ye()?n.o="["+e.n:e.xe()?n.o="["+e.ve():n.o="[L"+e.ve()+";",n.b=e.ue()+"[]",n.k=e.we()+"[]";return}var t=n.j,i=n.d;i=i.split("/"),n.o=FN(".",[t,FN("$",i)]),n.b=FN(".",[t,FN(".",i)]),n.k=i[i.length-1]}function qye(n,e){var t,i,r,c,f;for(f=null,c=new A(n.e.a);c.a0&&Hk(e,(Dn(i-1,n.c.length),u(n.c[i-1],9)),r)>0;)fs(n,i,(Dn(i-1,n.c.length),u(n.c[i-1],9))),--i;Dn(i,n.c.length),n.c[i]=r}e.b=new ae,e.f=new ae}function q_n(n,e,t){var i,r,c;for(i=1;i0&&e.Le((Dn(r-1,n.c.length),u(n.c[r-1],9)),c)>0;)fs(n,r,(Dn(r-1,n.c.length),u(n.c[r-1],9))),--r;Dn(r,n.c.length),n.c[r]=c}t.a=new ae,t.b=new ae}function XM(n,e,t){var i,r,c,f,o,h,l,a,d,g;for(c=e.Jc();c.Ob();)r=u(c.Pb(),27),a=r.i+r.g/2,g=r.j+r.f/2,h=n.f,f=h.i+h.g/2,o=h.j+h.f/2,l=a-f,d=g-o,i=E.Math.sqrt(l*l+d*d),l*=n.e/i,d*=n.e/i,t?(a-=l,g-=d):(a+=l,g+=d),Nu(r,a-r.g/2),Fu(r,g-r.f/2)}function Dg(n){var e,t,i;if(!n.c&&n.b!=null){for(e=n.b.length-4;e>=0;e-=2)for(t=0;t<=e;t+=2)(n.b[t]>n.b[t+2]||n.b[t]===n.b[t+2]&&n.b[t+1]>n.b[t+3])&&(i=n.b[t+2],n.b[t+2]=n.b[t],n.b[t]=i,i=n.b[t+3],n.b[t+3]=n.b[t+1],n.b[t+1]=i);n.c=!0}}function Uye(n,e){var t,i,r,c,f,o,h,l,a;for(l=-1,a=0,f=n,o=0,h=f.length;o0&&++a;++l}return a}function Sf(n){var e,t;return t=new is(Ma(n.Om)),t.a+="@",xe(t,(e=vt(n)>>>0,e.toString(16))),n.Rh()?(t.a+=" (eProxyURI: ",mc(t,n.Xh()),n.Gh()&&(t.a+=" eClass: ",mc(t,n.Gh())),t.a+=")"):n.Gh()&&(t.a+=" (eClass: ",mc(t,n.Gh()),t.a+=")"),t.a}function b6(n){var e,t,i,r;if(n.e)throw T(new pr((Zh(l_),Zx+l_.k+Yx)));for(n.d==(Yt(),Fo)&&bI(n,Ar),t=new A(n.a.a);t.a>24}return t}function Vye(n,e,t){var i,r,c;if(r=u(br(n.i,e),315),!r)if(r=new wDn(n.d,e,t),o3(n.i,e,r),WQ(e))whe(n.a,e.c,e.b,r);else switch(c=z7e(e),i=u(br(n.p,c),251),c.g){case 1:case 3:r.j=!0,LO(i,e.b,r);break;case 4:case 2:r.k=!0,LO(i,e.c,r)}return r}function Qye(n,e,t,i){var r,c,f,o,h,l;if(o=new Kj,h=qc(n.e.zh(),e),r=u(n.g,122),tr(),u(e,69).uk())for(f=0;f=0)return r;for(c=1,o=new A(e.j);o.a=0)return r;for(c=1,o=new A(e.j);o.a=0?(e||(e=new F5,i>0&&dr(e,(Ii(0,i,n.length),n.substr(0,i)))),e.a+="\\",c4(e,t&ni)):e&&c4(e,t&ni);return e?e.a:n}function Yye(n){var e,t,i;for(t=new A(n.a.a.b);t.a0&&(!(Qh(n.a.c)&&e.n.d)&&!(ig(n.a.c)&&e.n.b)&&(e.g.d-=E.Math.max(0,i/2-.5)),!(Qh(n.a.c)&&e.n.a)&&!(ig(n.a.c)&&e.n.c)&&(e.g.a+=E.Math.max(0,i-1)))}function X_n(n,e,t){var i,r;if((n.c-n.b&n.a.length-1)==2)e==(nn(),Un)||e==ne?(LT(u(Hm(n),15),(ds(),Gh)),LT(u(Hm(n),15),ba)):(LT(u(Hm(n),15),(ds(),ba)),LT(u(Hm(n),15),Gh));else for(r=new Mm(n);r.a!=r.b;)i=u(uM(r),15),LT(i,t)}function nje(n,e){var t,i,r,c,f,o,h;for(r=Yp(new xH(n)),o=new Ai(r,r.c.length),c=Yp(new xH(e)),h=new Ai(c,c.c.length),f=null;o.b>0&&h.b>0&&(t=(ue(o.b>0),u(o.a.Xb(o.c=--o.b),27)),i=(ue(h.b>0),u(h.a.Xb(h.c=--h.b),27)),t==i);)f=t;return f}function eje(n,e){var t,i,r,c;for(e.Sg("Self-Loop pre-processing",1),i=new A(n.a);i.aRCn(n,t)?(i=Jr(t,(nn(),ne)),n.d=i.dc()?0:lD(u(i.Xb(0),11)),f=Jr(e,Kn),n.b=f.dc()?0:lD(u(f.Xb(0),11))):(r=Jr(t,(nn(),Kn)),n.d=r.dc()?0:lD(u(r.Xb(0),11)),c=Jr(e,ne),n.b=c.dc()?0:lD(u(c.Xb(0),11)))}function tje(n){var e,t,i,r,c,f,o,h;e=!0,r=null,c=null;n:for(h=new A(n.a);h.an.c));f++)r.a>=n.s&&(c<0&&(c=f),o=f);return h=(n.s+n.c)/2,c>=0&&(i=xAe(n,e,c,o),h=Xfe((Dn(i,e.c.length),u(e.c[i],335))),Yke(e,i,t)),h}function ke(n,e,t){var i,r,c,f,o,h,l;for(f=(c=new iH,c),kV(f,(_n(e),e)),l=(!f.b&&(f.b=new Wu((On(),er),Zr,f)),f.b),h=1;h=2}function uje(n,e,t,i,r){var c,f,o,h,l,a;for(c=n.c.d.j,f=u(If(t,0),8),a=1;a1||(e=mt(Bf,I(M(lr,1),X,94,0,[jl,Rf])),nk(eT(e,n))>1)||(i=mt(Jf,I(M(lr,1),X,94,0,[qh,hf])),nk(eT(i,n))>1))}function Q_n(n){var e,t,i,r,c,f,o;for(e=0,i=new A(n.a);i.a0&&(i.b.n-=i.c,i.b.n<=0&&i.b.u>0&&He(e,i.b));for(r=new A(n.i);r.a0&&(i.a.u-=i.c,i.a.u<=0&&i.a.n>0&&He(t,i.a))}function WM(n){var e,t,i,r,c;if(n.g==null&&(n.d=n.$i(n.f),pe(n,n.d),n.c))return c=n.f,c;if(e=u(n.g[n.i-1],49),r=e.Pb(),n.e=e,t=n.$i(r),t.Ob())n.d=t,pe(n,t);else for(n.d=null;!e.Ob()&&(Bt(n.g,--n.i,null),n.i!=0);)i=u(n.g[n.i-1],49),e=i;return r}function fje(n,e){var t,i,r,c,f,o;if(i=e,r=i.Ik(),dl(n.e,r)){if(r.Pi()&&hT(n,r,i.kd()))return!1}else for(o=qc(n.e.zh(),r),t=u(n.g,122),c=0;c1||t>1)return 2;return e+t==1?2:0}function Bu(n,e){var t,i,r,c,f,o;return c=n.a*Wx+n.b*1502,o=n.b*Wx+11,t=E.Math.floor(o*ty),c+=t,o-=t*yen,c%=yen,n.a=c,n.b=o,e<=24?E.Math.floor(n.a*Ecn[e]):(r=n.a*(1<=2147483648&&(i-=4294967296),i)}function nJn(n,e,t){var i,r,c,f,o,h,l;for(c=new Y,l=new pt,f=new pt,mMe(n,l,f,e),WIe(n,l,f,e,t),h=new A(n);h.ai.b.g&&Qn(c.c,i);return c}function bje(n,e,t){var i,r,c,f,o,h;for(o=n.c,f=(t.q?t.q:(Ln(),Ln(),xh)).vc().Jc();f.Ob();)c=u(f.Pb(),43),i=!Jp(nt(new Cn(null,new Pn(o,16)),new Dp(new tEn(e,c)))).zd((Ia(),Y3)),i&&(h=c.kd(),O(h,4)&&(r=QQ(h),r!=null&&(h=r)),e.of(u(c.jd(),144),h))}function wje(n,e){var t,i,r,c;for(e.Sg("Resize child graph to fit parent.",1),i=new A(n.b);i.a1)for(r=new A(n.a);r.a=0?n.Hh(i,!0,!0):g0(n,c,!0),159)),u(r,218).Ul(e,t)}else throw T(new Hn(ea+e.ve()+X6))}function vje(n,e,t){var i,r,c,f,o,h;if(h=fK(n,u(Vn(n.e,e),27)),o=null,h)switch(h.g){case 3:i=MU(n,Ob(e)),o=(_n(t),t+(_n(i),i));break;case 2:r=MU(n,Ob(e)),f=(_n(t),t+(_n(r),r)),c=MU(n,u(Vn(n.e,e),27)),o=f-(_n(c),c);break;default:o=t}else o=t;return o}function mje(n,e,t){var i,r,c,f,o,h;if(h=fK(n,u(Vn(n.e,e),27)),o=null,h)switch(h.g){case 3:i=IU(n,Ob(e)),o=(_n(t),t+(_n(i),i));break;case 2:r=IU(n,Ob(e)),f=(_n(t),t+(_n(r),r)),c=IU(n,u(Vn(n.e,e),27)),o=f-(_n(c),c);break;default:o=t}else o=t;return o}function VM(n,e){var t,i,r,c,f;if(e){for(c=O(n.Cb,88)||O(n.Cb,101),f=!c&&O(n.Cb,330),i=new ce((!e.a&&(e.a=new gm(e,ar,e)),e.a));i.e!=i.i.gc();)if(t=u(fe(i),87),r=fI(t),c?O(r,88):f?O(r,155):r)return r;return c?(On(),wf):(On(),Ro)}else return null}function kje(n,e){var t,i,r,c,f;for(t=new Y,r=Lr(new Cn(null,new Pn(n,16)),new _2n),c=Lr(new Cn(null,new Pn(n,16)),new J2n),f=b3e(O2e(Pb(Wje(I(M($Pe,1),Fn,827,0,[r,c])),new G2n))),i=1;i=2*e&&Z(t,new cD(f[i-1]+e,f[i]-e));return t}function eJn(n,e,t){var i,r,c,f,o,h,l,a;if(t)for(c=t.a.length,i=new Pa(c),o=(i.b-i.a)*i.c<0?(T1(),ja):new C1(i);o.Ob();)f=u(o.Pb(),17),r=a4(t,f.a),r&&(h=xge(n,(l=(E1(),a=new ez,a),e&&QY(l,e),l),r),y4(h,el(r,lh)),_M(r,h),mY(r,h),oN(n,r,h))}function QM(n){var e,t,i,r,c,f;if(!n.j){if(f=new L4n,e=g8,c=e.a.yc(n,e),c==null){for(i=new ce(Mr(n));i.e!=i.i.gc();)t=u(fe(i),29),r=QM(t),Nt(f,r),pe(f,t);e.a.Ac(n)!=null}Gb(f),n.j=new tg((u(L(G((P1(),Jn).o),11),19),f.i),f.g),Du(n).b&=-33}return n.j}function yje(n){var e,t,i,r;if(n==null)return null;if(i=Ac(n,!0),r=My.length,In(i.substr(i.length-r,r),My)){if(t=i.length,t==4){if(e=(Xn(0,i.length),i.charCodeAt(0)),e==43)return _an;if(e==45)return vue}else if(t==3)return _an}return new ZH(i)}function jje(n){var e,t,i;return t=n.l,(t&t-1)!=0||(i=n.m,(i&i-1)!=0)||(e=n.h,(e&e-1)!=0)||e==0&&i==0&&t==0?-1:e==0&&i==0&&t!=0?dV(t):e==0&&i!=0&&t==0?dV(i)+22:e!=0&&i==0&&t==0?dV(e)+44:-1}function $g(n,e){var t,i,r,c,f;for(r=e.a&n.f,c=null,i=n.b[r];;i=i.b){if(i==e){c?c.b=e.b:n.b[r]=e.b;break}c=i}for(f=e.f&n.f,c=null,t=n.c[f];;t=t.d){if(t==e){c?c.d=e.d:n.c[f]=e.d;break}c=t}e.e?e.e.c=e.c:n.a=e.c,e.c?e.c.e=e.e:n.e=e.e,--n.i,++n.g}function Eje(n,e){var t;e.d?e.d.b=e.b:n.a=e.b,e.b?e.b.d=e.d:n.e=e.d,!e.e&&!e.c?(t=u(Ws(u(p3(n.b,e.a),260)),260),t.a=0,++n.c):(t=u(Ws(u(Vn(n.b,e.a),260)),260),--t.a,e.e?e.e.c=e.c:t.b=u(Ws(e.c),495),e.c?e.c.e=e.e:t.c=u(Ws(e.e),495)),--n.d}function FF(n,e){var t,i,r,c;for(c=new Ai(n,0),t=(ue(c.b0),c.a.Xb(c.c=--c.b),Eb(c,r),ue(c.b3&&Ih(n,0,e-3))}function Tje(n){var e,t,i,r;return F(m(n,(rn(),Aw)))===F((hl(),o1))?!n.e&&F(m(n,zy))!==F((A4(),Ry)):(i=u(m(n,yJ),298),r=fn(sn(m(n,jJ)))||F(m(n,T9))===F((Rm(),By)),e=u(m(n,lfn),17).a,t=n.a.c.length,!r&&i!=(A4(),Ry)&&(e==0||e>t))}function Mje(n,e){var t,i,r,c,f,o,h;for(r=n.Jc();r.Ob();)for(i=u(r.Pb(),9),o=new dc,Rr(o,i),ii(o,(nn(),ne)),q(o,(K(),EC),(Wn(),!0)),f=e.Jc();f.Ob();)c=u(f.Pb(),9),h=new dc,Rr(h,c),ii(h,Kn),q(h,EC,!0),t=new Zd,q(t,EC,!0),Ri(t,o),Ei(t,h)}function Ije(n){var e,t;for(t=0;t0);t++);if(t>0&&t0);e++);return e>0&&t>16!=6&&e){if(H4(n,e))throw T(new Hn(W6+p_n(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?vZ(n,i):n.Cb.Ph(n,-1-t,null,i))),e&&(i=C3(e,n,6,i)),i=uK(n,e,i),i&&i.lj()}else(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,6,e,e))}function QY(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=9&&e){if(H4(n,e))throw T(new Hn(W6+eGn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?kZ(n,i):n.Cb.Ph(n,-1-t,null,i))),e&&(i=C3(e,n,9,i)),i=sK(n,e,i),i&&i.lj()}else(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,9,e,e))}function ZM(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=3&&e){if(H4(n,e))throw T(new Hn(W6+rqn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?jZ(n,i):n.Cb.Ph(n,-1-t,null,i))),e&&(i=C3(e,n,12,i)),i=cK(n,e,i),i&&i.lj()}else(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,3,e,e))}function YM(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=11&&e){if(H4(n,e))throw T(new Hn(W6+vnn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?EZ(n,i):n.Cb.Ph(n,-1-t,null,i))),e&&(i=C3(e,n,10,i)),i=pK(n,e,i),i&&i.lj()}else(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,11,e,e))}function Z4(n){var e,t,i,r,c;if(i=ef(n),c=n.j,c==null&&i)return n.Gk()?null:i.fk();if(O(i,155)){if(t=i.gk(),t&&(r=t.si(),r!=n.i)){if(e=u(i,155),e.kk())try{n.g=r.pi(e,c)}catch(f){if(f=Kt(f),O(f,80))n.g=null;else throw T(f)}n.i=r}return n.g}return null}function uJn(n){var e;return e=new Y,Z(e,new U2(new W(n.c,n.d),new W(n.c+n.b,n.d))),Z(e,new U2(new W(n.c,n.d),new W(n.c,n.d+n.a))),Z(e,new U2(new W(n.c+n.b,n.d+n.a),new W(n.c+n.b,n.d))),Z(e,new U2(new W(n.c+n.b,n.d+n.a),new W(n.c,n.d+n.a))),e}function Sje(n){var e,t,i;if(n==null)return eu;try{return Dr(n)}catch(r){if(r=Kt(r),O(r,103))return e=r,i=Ma(Zu(n))+"@"+(t=(Dl(),ZQ(n)>>>0),t.toString(16)),cme(w4e(),(Hp(),"Exception during lenientFormat for "+i),e),"<"+i+" threw "+Ma(e.Om)+">";throw T(r)}}function Cje(n,e,t,i){var r,c,f,o;r=FFn(n,e,t),c=FFn(n,t,e),f=u(Vn(n.c,e),116),o=u(Vn(n.c,t),116),r1)for(e=Gd((t=new Ta,++n.b,t),n.d),o=me(c,0);o.b!=o.d.c;)f=u(ge(o),123),Cf(vf(pf(mf(gf(new Ks,1),0),e),f))}function Dje(n,e,t){var i,r,c,f,o,h;if(c=0,f=0,n.c)for(h=new A(n.d.i.j);h.ac.a?-1:r.ah){for(a=n.d,n.d=_(lan,Drn,66,2*h+4,0,1),c=0;c=9223372036854776e3?(v4(),ncn):(r=!1,n<0&&(r=!0,n=-n),i=0,n>=nd&&(i=Bi(n/nd),n-=i*nd),t=0,n>=J3&&(t=Bi(n/J3),n-=t*J3),e=Bi(n),c=_c(e,t,i),r&&fN(c),c)}function zje(n){var e,t,i,r,c;if(c=new Y,$c(n.b,new M6n(c)),n.b.c.length=0,c.c.length!=0){for(e=(Dn(0,c.c.length),u(c.c[0],80)),t=1,i=c.c.length;t>16!=7&&e){if(H4(n,e))throw T(new Hn(W6+hRn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?mZ(n,i):n.Cb.Ph(n,-1-t,null,i))),e&&(i=u(e,52).Nh(n,1,Cj,i)),i=sX(n,e,i),i&&i.lj()}else(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,7,e,e))}function oJn(n,e){var t,i;if(e!=n.Cb||n.Db>>16!=3&&e){if(H4(n,e))throw T(new Hn(W6+iFn(n)));i=null,n.Cb&&(i=(t=n.Db>>16,t>=0?yZ(n,i):n.Cb.Ph(n,-1-t,null,i))),e&&(i=u(e,52).Nh(n,0,Oj,i)),i=uX(n,e,i),i&&i.lj()}else(n.Db&4)!=0&&(n.Db&1)==0&&et(n,new di(n,1,3,e,e))}function xF(n,e){nv();var t,i,r,c,f,o,h,l,a;return e.d>n.d&&(o=n,n=e,e=o),e.d<63?$Ee(n,e):(f=(n.d&-2)<<4,l=TW(n,f),a=TW(e,f),i=ix(n,g3(l,f)),r=ix(e,g3(a,f)),h=xF(l,a),t=xF(i,r),c=xF(ix(l,i),ix(r,a)),c=hx(hx(c,h),t),c=g3(c,f),h=g3(h,f<<1),hx(hx(h,c),t))}function Ql(){Ql=R,FJ=new Zw(uUn,0),Zfn=new Zw("LONGEST_PATH",1),Yfn=new Zw("LONGEST_PATH_SOURCE",2),NJ=new Zw("COFFMAN_GRAHAM",3),Qfn=new Zw(lB,4),non=new Zw("STRETCH_WIDTH",5),JC=new Zw("MIN_WIDTH",6),r5=new Zw("BF_MODEL_ORDER",7),c5=new Zw("DF_MODEL_ORDER",8)}function Qje(n,e){var t,i,r,c,f,o;if(!n.tb){for(c=(!n.rb&&(n.rb=new Ib(n,ho,n)),n.rb),o=new H2(c.i),r=new ce(c);r.e!=r.i.gc();)i=u(fe(r),141),f=i.ve(),t=u(f==null?nu(o.f,null,i):f0(o.i,f,i),141),t&&(f==null?nu(o.f,null,t):f0(o.i,f,t));n.tb=o}return u(kc(n.tb,e),141)}function $k(n,e){var t,i,r,c,f;if((n.i==null&&rh(n),n.i).length,!n.p){for(f=new H2((3*n.g.i/2|0)+1),r=new e3(n.g);r.e!=r.i.gc();)i=u(HN(r),178),c=i.ve(),t=u(c==null?nu(f.f,null,i):f0(f.i,c,i),178),t&&(c==null?nu(f.f,null,t):f0(f.i,c,t));n.p=f}return u(kc(n.p,e),178)}function inn(n,e,t,i,r){var c,f,o,h,l;for(V5e(i+ZA(t,t.ge()),r),XIn(e,w5e(t)),c=t.f,c&&inn(n,e,c,"Caused by: ",!1),o=(t.k==null&&(t.k=_(QR,V,80,0,0,1)),t.k),h=0,l=o.length;h=0;c+=t?1:-1)f=f|e.c.jg(h,c,t,i&&!fn(sn(m(e.j,(K(),sa))))&&!fn(sn(m(e.j,(K(),c2))))),f=f|e.q.sg(h,c,t),f=f|XJn(n,h[c],t,i);return li(n.c,e),f}function eI(n,e,t){var i,r,c,f,o,h,l,a,d,g;for(a=vPn(n.j),d=0,g=a.length;d1&&(n.a=!0),Ide(u(t.b,68),rt(zi(u(e.b,68).c),S1(hi(zi(u(t.b,68).a),u(e.b,68).a),r))),ICn(n,e),lJn(n,t)}function aJn(n){var e,t,i,r,c,f,o;for(c=new A(n.a.a);c.a0&&c>0?f.p=e++:i>0?f.p=t++:c>0?f.p=r++:f.p=t++}Ln(),pi(n.j,new Hbn)}function tEe(n){var e,t;t=null,e=u(un(n.g,0),18);do{if(t=e.d.i,ft(t,(K(),ff)))return u(m(t,ff),11).i;if(t.k!=(Gn(),Lt)&&de(new ee(ie(_t(t).a.Jc(),new jn))))e=u(se(new ee(ie(_t(t).a.Jc(),new jn))),18);else if(t.k!=Lt)return null}while(t&&t.k!=(Gn(),Lt));return t}function iEe(n,e){var t,i,r,c,f,o,h,l,a;for(o=e.j,f=e.g,h=u(un(o,o.c.length-1),112),a=(Dn(0,o.c.length),u(o.c[0],112)),l=cF(n,f,h,a),c=1;cl&&(h=t,a=r,l=i);e.a=a,e.c=h}function rEe(n,e,t){var i,r,c,f,o,h,l;for(l=new Ol(new H9n(n)),f=I(M(AQn,1),Pzn,11,0,[e,t]),o=0,h=f.length;oh-n.b&&oh-n.a&&o1;)nw(t,t.i-1);return e}function qc(n,e){tr();var t,i,r,c;return e?e==(ht(),gue)||(e==rue||e==Md||e==iue)&&n!=Ban?new nen(n,e):(i=u(e,677),t=i.Xk(),t||(f4(kr((du(),Di),e)),t=i.Xk()),c=(!t.i&&(t.i=new ae),t.i),r=u(xr(vr(c.f,n)),1987),!r&&Qe(c,n,r=new nen(n,e)),r):nue}function aEe(n,e){var t,i;if(i=j7(n.b,e.b),!i)throw T(new pr("Invalid hitboxes for scanline constraint calculation."));(X$n(e.b,u(Bfe(n.b,e.b),60))||X$n(e.b,u(xfe(n.b,e.b),60)))&&Dl(),n.a[e.b.f]=u(UO(n.b,e.b),60),t=u(zO(n.b,e.b),60),t&&(n.a[t.f]=e.b)}function dEe(n,e){var t,i,r,c,f,o,h,l,a;for(h=u(m(n,(K(),ct)),11),l=_r(I(M(bi,1),V,8,0,[h.i.n,h.n,h.a])).a,a=n.i.n.b,t=Qo(n.e),r=t,c=0,f=r.length;c0?c.a?(o=c.b.Kf().a,t>o&&(r=(t-o)/2,c.d.b=r,c.d.c=r)):c.d.c=n.s+t:km(n.u)&&(i=XZ(c.b),i.c<0&&(c.d.b=-i.c),i.c+i.b>c.b.Kf().a&&(c.d.c=i.c+i.b-c.b.Kf().a))}function mEe(n,e){var t,i,r,c,f;f=new Y,t=e;do c=u(Vn(n.b,t),132),c.B=t.c,c.D=t.d,Qn(f.c,c),t=u(Vn(n.k,t),18);while(t);return i=(Dn(0,f.c.length),u(f.c[0],132)),i.j=!0,i.A=u(i.d.a.ec().Jc().Pb(),18).c.i,r=u(un(f,f.c.length-1),132),r.q=!0,r.C=u(r.d.a.ec().Jc().Pb(),18).d.i,f}function kEe(n){var e,t;t=u(m(n,(rn(),Uc)),171),e=u(m(n,(K(),hd)),312),t==($s(),fa)?(q(n,Uc,Hy),q(n,hd,(ul(),i2))):t==jw?(q(n,Uc,Hy),q(n,hd,(ul(),rp))):e==(ul(),i2)?(q(n,Uc,fa),q(n,hd,_y)):e==rp&&(q(n,Uc,jw),q(n,hd,_y))}function iI(){iI=R,Yy=new D2n,Gee=De(new Zt,(Oi(),wc),(Ni(),zS)),zee=hu(De(new Zt,wc,YS),Sr,ZS),Uee=eh(eh(q5(hu(De(new Zt,$f,iC),Sr,tC),gc),eC),rC),qee=hu(De(De(De(new Zt,Bh,KS),gc,WS),gc,Bv),Sr,XS),Hee=hu(De(De(new Zt,gc,Bv),gc,HS),Sr,qS)}function p6(){p6=R,Wee=De(hu(new Zt,(Oi(),Sr),(Ni(),kun)),wc,zS),Yee=eh(eh(q5(hu(De(new Zt,$f,iC),Sr,tC),gc),eC),rC),Vee=hu(De(De(De(new Zt,Bh,KS),gc,WS),gc,Bv),Sr,XS),Zee=De(De(new Zt,wc,YS),Sr,ZS),Qee=hu(De(De(new Zt,gc,Bv),gc,HS),Sr,qS)}function yEe(n,e,t,i,r){var c,f;(!Ui(e)&&e.c.i.c==e.d.i.c||!e$n(_r(I(M(bi,1),V,8,0,[r.i.n,r.n,r.a])),t))&&!Ui(e)&&(e.c==r?Vp(e.a,0,new Hi(t)):He(e.a,new Hi(t)),i&&!Wf(n.a,t)&&(f=u(m(e,(rn(),Er)),77),f||(f=new Ou,q(e,Er,f)),c=new Hi(t),Pt(f,c,f.c.b,f.c),li(n.a,c)))}function wJn(n,e){var t,i,r,c;for(c=Pe(Ji(Lh,Th(Pe(Ji(e==null?0:vt(e),Dh)),15))),t=c&n.b.length-1,r=null,i=n.b[t];i;r=i,i=i.a)if(i.d==c&&Xo(i.i,e))return r?r.a=i.a:n.b[t]=i.a,xkn(u(Ws(i.c),588),u(Ws(i.f),588)),O8(u(Ws(i.b),226),u(Ws(i.e),226)),--n.f,++n.e,!0;return!1}function jEe(n){var e,t;for(t=new ee(ie(oi(n).a.Jc(),new jn));de(t);)if(e=u(se(t),18),e.c.i.k!=(Gn(),fc))throw T(new Cl(hB+kk(n)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function gJn(n,e){var t,i,r,c,f,o,h,l,a,d,g;r=e?new Jgn:new zgn,c=!1;do for(c=!1,l=e?Yu(n.b):n.b,h=l.Jc();h.Ob();)for(o=u(h.Pb(),25),g=xa(o.a),e||Yu(g),d=new A(g);d.a=0;f+=r?1:-1){for(o=e[f],h=i==(nn(),ne)?r?Jr(o,i):Yu(Jr(o,i)):r?Yu(Jr(o,i)):Jr(o,i),c&&(n.c[o.p]=h.gc()),d=h.Jc();d.Ob();)a=u(d.Pb(),11),n.d[a.p]=l++;fi(t,h)}}function vJn(n,e,t){var i,r,c,f,o,h,l,a;for(c=N(x(n.b.Jc().Pb())),l=N(x(h4e(e.b))),i=S1(zi(n.a),l-t),r=S1(zi(e.a),t-c),a=rt(i,r),S1(a,1/(l-c)),this.a=a,this.b=new Y,o=!0,f=n.b.Jc(),f.Pb();f.Ob();)h=N(x(f.Pb())),o&&h-t>UB&&(this.b.Ec(t),o=!1),this.b.Ec(h);o&&this.b.Ec(t)}function AEe(n){var e,t,i,r;if(_Ae(n,n.n),n.d.c.length>0){for($5(n.c);xY(n,u(j(new A(n.e.a)),123))>5,e&=31,i>=n.d)return n.e<0?(ih(),EWn):(ih(),f9);if(c=n.d-i,r=_(Ce,Ge,30,c+1,15,1),D7e(r,c,n.a,i,e),n.e<0){for(t=0;t0&&n.a[t]<<32-e!=0){for(t=0;t=0?!1:(t=xg((du(),Di),r,e),t?(i=t.Fk(),(i>1||i==-1)&&Vd(kr(Di,t))!=3):!0)):!1}function unn(n,e,t){var i,r,c,f,o,h;if(i=jfe(t,n.length),f=n[i],c=zkn(t,f.length),f[c].k==(Gn(),Wt))for(h=e.j,r=0;r0&&(t[0]+=n.d,f-=t[0]),t[2]>0&&(t[2]+=n.d,f-=t[2]),c=E.Math.max(0,f),t[1]=E.Math.max(t[1],f),CW(n,Bc,r.c+i.b+t[0]-(t[1]-f)/2,t),e==Bc&&(n.c.b=c,n.c.c=r.c+i.b+(c-f)/2)}function MJn(){this.c=_(ji,gr,30,(nn(),I(M(nr,1),sc,64,0,[qr,Un,ne,he,Kn])).length,15,1),this.b=_(ji,gr,30,I(M(nr,1),sc,64,0,[qr,Un,ne,he,Kn]).length,15,1),this.a=_(ji,gr,30,I(M(nr,1),sc,64,0,[qr,Un,ne,he,Kn]).length,15,1),Rz(this.c,Ct),Rz(this.b,ai),Rz(this.a,ai)}function Ec(n,e,t){var i,r,c,f;if(e<=t?(r=e,c=t):(r=t,c=e),i=0,n.b==null)n.b=_(Ce,Ge,30,2,15,1),n.b[0]=r,n.b[1]=c,n.c=!0;else{if(i=n.b.length,n.b[i-1]+1==r){n.b[i-1]=c;return}f=_(Ce,Ge,30,i+2,15,1),bc(n.b,0,f,0,i),n.b=f,n.b[i-1]>=r&&(n.c=!1,n.a=!1),n.b[i++]=r,n.b[i]=c,n.c||Dg(n)}}function NEe(n,e,t){var i,r,c,f,o,h,l;for(l=e.d,n.a=new Dc(l.c.length),n.c=new ae,o=new A(l);o.a=0?n.Hh(l,!1,!0):g0(n,t,!1),61));n:for(c=d.Jc();c.Ob();){for(r=u(c.Pb(),57),a=0;an.d[f.p]&&(t+=yW(n.b,c),$1(n.a,tn(c)));for(;!N5(n.a);)nV(n.b,u(f3(n.a),17).a)}return t}function CJn(n,e,t){var i,r,c,f;for(c=(!e.a&&(e.a=new z(We,e,10,11)),e.a).i,r=new ce((!e.a&&(e.a=new z(We,e,10,11)),e.a));r.e!=r.i.gc();)i=u(fe(r),27),(!i.a&&(i.a=new z(We,i,10,11)),i.a).i==0||(c+=CJn(n,i,!1));if(t)for(f=Jt(e);f;)c+=(!f.a&&(f.a=new z(We,f,10,11)),f.a).i,f=Jt(f);return c}function nw(n,e){var t,i,r,c;return n.Mj()?(i=null,r=n.Nj(),n.Qj()&&(i=n.Sj(n.Xi(e),null)),t=n.Fj(4,c=P3(n,e),null,e,r),n.Jj()&&c!=null&&(i=n.Lj(c,i)),i?(i.kj(t),i.lj()):n.Gj(t),c):(c=P3(n,e),n.Jj()&&c!=null&&(i=n.Lj(c,null),i&&i.lj()),c)}function GEe(n){var e,t,i,r,c,f,o,h,l,a;for(l=n.a,e=new ui,h=0,i=new A(n.d);i.ao.d&&(a=o.d+o.a+l));t.c.d=a,e.a.yc(t,e),h=E.Math.max(h,t.c.d+t.c.a)}return h}function qEe(n,e,t){var i,r,c,f,o,h;for(f=u(m(n,(K(),fJ)),15).Jc();f.Ob();){switch(c=u(f.Pb(),9),u(m(c,(rn(),Uc)),171).g){case 2:si(c,e);break;case 4:si(c,t)}for(r=new ee(ie(al(c).a.Jc(),new jn));de(r);)i=u(se(r),18),!(i.c&&i.d)&&(o=!i.d,h=u(m(i,Isn),11),o?Ei(i,h):Ri(i,h))}}function ur(){ur=R,gC=new wb("COMMENTS",0),Js=new wb("EXTERNAL_PORTS",1),v9=new wb("HYPEREDGES",2),pC=new wb("HYPERNODES",3),Wv=new wb("NON_FREE_PORTS",4),t2=new wb("NORTH_SOUTH_PORTS",5),m9=new wb(Xzn,6),Kv=new wb("CENTER_LABELS",7),Xv=new wb("END_LABELS",8),vC=new wb("PARTITIONS",9)}function HEe(n,e,t,i,r){return i<0?(i=Lg(n,r,I(M(on,1),V,2,6,[Mx,Ix,Sx,Cx,R3,Px,Ox,Lx,Dx,$x,Nx,Fx]),e),i<0&&(i=Lg(n,r,I(M(on,1),V,2,6,["Jan","Feb","Mar","Apr",R3,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),i<0?!1:(t.k=i,!0)):i>0?(t.k=i-1,!0):!1}function zEe(n,e,t,i,r){return i<0?(i=Lg(n,r,I(M(on,1),V,2,6,[Mx,Ix,Sx,Cx,R3,Px,Ox,Lx,Dx,$x,Nx,Fx]),e),i<0&&(i=Lg(n,r,I(M(on,1),V,2,6,["Jan","Feb","Mar","Apr",R3,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),i<0?!1:(t.k=i,!0)):i>0?(t.k=i-1,!0):!1}function UEe(n,e,t,i,r,c){var f,o,h,l;if(o=32,i<0){if(e[0]>=n.length||(o=$i(n,e[0]),o!=43&&o!=45)||(++e[0],i=UM(n,e),i<0))return!1;o==45&&(i=-i)}return o==32&&e[0]-t==2&&r.b==2&&(h=new kE,l=h.q.getFullYear()-V1+V1-80,f=l%100,c.a=i==f,i+=(l/100|0)*100+(i=0?q1(n):jm(q1(Jl(n)))),o9[e]=QE(Eh(n,e),0)?q1(Eh(n,e)):jm(q1(Jl(Eh(n,e)))),n=Ji(n,5);for(;e=l&&(h=i);h&&(a=E.Math.max(a,h.a.o.a)),a>g&&(d=l,g=a)}return d}function QEe(n){var e,t,i,r,c,f;for(t=new A(n.b);t.ajUn?pi(h,n.b):i<=jUn&&i>EUn?pi(h,n.d):i<=EUn&&i>AUn?pi(h,n.c):i<=AUn&&pi(h,n.a),c=DJn(n,h,c);return r}function $Jn(n,e,t,i){var r,c,f,o,h,l;for(r=(i.c+i.a)/2,cs(e.j),He(e.j,r),cs(t.e),He(t.e,r),l=new Qkn,o=new A(n.f);o.a1,o&&(i=new W(r,t.b),He(e.a,i)),xm(e.a,I(M(bi,1),V,8,0,[g,d]))}function onn(n,e,t){var i,r;for(e=48;t--)k8[t]=t-48<<24>>24;for(i=70;i>=65;i--)k8[i]=i-65+10<<24>>24;for(r=102;r>=97;r--)k8[r]=r-97+10<<24>>24;for(c=0;c<10;c++)zP[c]=48+c∋for(n=10;n<=15;n++)zP[n]=65+n-10&ni}function iAe(n,e){e.Sg("Process graph bounds",1),q(n,(gt(),rG),W8(Q$(Pb(new Cn(null,new Pn(n.b,16)),new h3n)))),q(n,cG,W8(Q$(Pb(new Cn(null,new Pn(n.b,16)),new l3n)))),q(n,qon,W8(V$(Pb(new Cn(null,new Pn(n.b,16)),new a3n)))),q(n,Hon,W8(V$(Pb(new Cn(null,new Pn(n.b,16)),new d3n)))),e.Tg()}function rAe(n){var e,t,i,r,c;r=u(m(n,(rn(),wd)),22),c=u(m(n,xC),22),t=new W(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),e=new Hi(t),r.Gc((ns(),xw))&&(i=u(m(n,Zv),8),c.Gc((Ru(),m5))&&(i.a<=0&&(i.a=20),i.b<=0&&(i.b=20)),e.a=E.Math.max(t.a,i.a),e.b=E.Math.max(t.b,i.b)),fn(sn(m(n,SJ)))||AMe(n,t,e)}function cAe(n){var e,t,i,r,c,f,o;for(e=!1,t=0,r=new A(n.d.b);r.a>19!=0)return"-"+BJn(S4(n));for(t=n,i="";!(t.l==0&&t.m==0&&t.h==0);){if(r=p$(yI),t=Knn(t,r,!0),e=""+oyn(ta),!(t.l==0&&t.m==0&&t.h==0))for(c=9-e.length;c>0;c--)e="0"+e;i=e+i}return i}function uAe(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var n="__proto__",e=Object.create(null);if(e[n]!==void 0)return!1;var t=Object.getOwnPropertyNames(e);return!(t.length!=0||(e[n]=42,e[n]!==42)||Object.getOwnPropertyNames(e).length==0)}function sAe(n,e,t){var i,r,c,f,o,h,l,a,d;for(i=t.c,r=t.d,o=po(e.c),h=po(e.d),i==e.c?(o=WY(n,o,r),h=_Bn(e.d)):(o=_Bn(e.c),h=WY(n,h,r)),l=new wE(e.a),Pt(l,o,l.a,l.a.a),Pt(l,h,l.c.b,l.c),f=e.c==i,d=new R7n,c=0;c=n.a||!HZ(e,t))return-1;if(d4(u(i.Kb(e),20)))return 1;for(r=0,f=u(i.Kb(e),20).Jc();f.Ob();)if(c=u(f.Pb(),18),h=c.c.i==e?c.d.i:c.c.i,o=ann(n,h,t,i),o==-1||(r=E.Math.max(r,o),r>n.c-1))return-1;return r+1}function Mo(){Mo=R,oP=new Mi((Je(),l5),1.3),Sie=new Mi($w,(Wn(),!1)),Uhn=new Jd(15),K9=new Mi(f1,Uhn),X9=new Mi(jd,15),Aie=lj,Iie=yd,Cie=E2,Pie=da,Mie=j2,DG=wj,Oie=Nw,Vhn=(Pnn(),yie),Whn=kie,NG=Eie,Qhn=jie,zhn=pie,$G=gie,Hhn=wie,Xhn=mie,Ghn=bj,Tie=rq,cj=aie,Jhn=lie,uj=die,Khn=vie,qhn=bie}function RJn(n,e){var t,i,r,c,f,o;if(F(e)===F(n))return!0;if(!O(e,15)||(i=u(e,15),o=n.gc(),i.gc()!=o))return!1;if(f=i.Jc(),n.Vi()){for(t=0;t0){if(n.Yj(),e!=null){for(c=0;c>24;case 97:case 98:case 99:case 100:case 101:case 102:return n-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return n-65+10<<24>>24;default:throw T(new Ho("Invalid hexadecimal"))}}function JJn(n,e,t,i){var r,c,f,o,h,l;for(h=lF(n,t),l=lF(e,t),r=!1;h&&l&&(i||g6e(h,l,t));)f=lF(h,t),o=lF(l,t),q7(e),q7(n),c=h.c,lx(h,!1),lx(l,!1),t?(H1(e,l.p,c),e.p=l.p,H1(n,h.p+1,c),n.p=h.p):(H1(n,h.p,c),n.p=h.p,H1(e,l.p+1,c),e.p=l.p),si(h,null),si(l,null),h=f,l=o,r=!0;return r}function GJn(n){switch(n.g){case 0:return new smn;case 1:return new rmn;case 3:return new fjn;case 4:return new Ygn;case 5:return new BTn;case 6:return new umn;case 2:return new cmn;case 7:return new Z5n;case 8:return new Y5n;default:throw T(new Hn("No implementation is available for the layerer "+(n.f!=null?n.f:""+n.g)))}}function lAe(n,e,t,i){var r,c,f,o,h;for(r=!1,c=!1,o=new A(i.j);o.a=e.length)throw T(new Pc("Greedy SwitchDecider: Free layer not in graph."));this.c=e[n],this.e=new w7(i),z$(this.e,this.c,(nn(),Kn)),this.i=new w7(i),z$(this.i,this.c,ne),this.f=new QMn(this.c),this.a=!c&&r.i&&!r.s&&this.c[0].k==(Gn(),Wt),this.a&&B7e(this,n,e.length)}function HJn(n,e){var t,i,r,c,f,o;c=!n.B.Gc((Ru(),Ij)),f=n.B.Gc(pq),n.a=new PFn(f,c,n.c),n.n&&RX(n.a.n,n.n),LO(n.g,(no(),Bc),n.a),e||(i=new t6(1,c,n.c),i.n.a=n.k,o3(n.p,(nn(),Un),i),r=new t6(1,c,n.c),r.n.d=n.k,o3(n.p,he,r),o=new t6(0,c,n.c),o.n.c=n.k,o3(n.p,Kn,o),t=new t6(0,c,n.c),t.n.b=n.k,o3(n.p,ne,t))}function dAe(n){var e,t,i;switch(e=u(m(n.d,(rn(),kl)),220),e.g){case 2:t=HCe(n);break;case 3:t=(i=new Y,$t(nt(Lc(Lr(Lr(new Cn(null,new Pn(n.d.b,16)),new fgn),new ogn),new hgn),new Kwn),new k9n(i)),i);break;default:throw T(new pr("Compaction not supported for "+e+" edges."))}wIe(n,t),_i(new k1(n.g),new g9n(n))}function bAe(n,e){var t,i,r,c,f,o,h;if(e.Sg("Process directions",1),t=u(m(n,(Kr(),K0)),86),t!=(Yt(),No))for(r=me(n.b,0);r.b!=r.d.c;){switch(i=u(ge(r),39),o=u(m(i,(gt(),tj)),17).a,h=u(m(i,ij),17).a,t.g){case 4:h*=-1;break;case 1:c=o,o=h,h=c;break;case 2:f=o,o=-h,h=f}q(i,tj,tn(o)),q(i,ij,tn(h))}e.Tg()}function wAe(n){var e,t,i,r,c,f,o,h;for(h=new lOn,o=new A(n.a);o.a0&&e=0)return!1;if(e.p=t.b,Z(t.e,e),r==(Gn(),qt)||r==Ic){for(f=new A(e.j);f.a